WhatsAPP Business API for SQL Server
Send WhatsAPP messages with our API for SQL Server easily and securely. Try our API for SQL Server for free. Our team will help you to integrate the automated sending of WhatsAPP in your application in SQL Server.
WhatsAPP Business API functionality
Send a message by WhatsAPP with SQL Server
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ole Automation Procedures', 1;
GO
RECONFIGURE;
GO
DECLARE @class varchar(500) = 'whatsapp';
DECLARE @method varchar(500) = 'sendmessage';
DECLARE @user varchar(500) = 'user';
DECLARE @password varchar(500) = 'password';
DECLARE @platformid varchar(500) = '100';
DECLARE @destination varchar(500) = '3460000000';
DECLARE @message varchar(500) = 'test+message';
DECLARE @url varchar(255) = 'https://www.afilnet.com/api/http/?class='+@class+'&method='+@method+'&user='+@user+'&password='+@password+'&platformid='+@platformid+'&destination='+@destination+'&message='+@message;
DECLARE @win int
DECLARE @hr int
DECLARE @text varchar(8000)
EXEC @hr=sp_OACreate 'WinHttp.WinHttpRequest.5.1',@win OUT
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OAMethod @win, 'Open',NULL,'GET',@url,'false'
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OAMethod @win,'Send'
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OAGetProperty @win,'ResponseText',@text OUTPUT
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OADestroy @win
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
Parameter | Description | Compulsory / Optional |
---|---|---|
class=whatsapp | Class requested: Class to which the request is made | Compulsory |
method=sendmessage | Class method requested: Method of the class to which the request is made | Compulsory |
user | User and e-mail of your Afilnet account | Compulsory |
password | Password of your Afilnet account | Compulsory |
platformid | Platform identifier | Compulsory |
destination | whatsapp.sendmessage_destination | Compulsory |
message | whatsapp.sendmessage_message | Compulsory |
Answer:
- status
-
result (if status=success), here you will receive the following values:
- No additional values will be sent to you
- error (if status=error), here you will receive the error code
Error codes:
Code | Description |
---|---|
MISSING_USER | User or email not included |
MISSING_PASSWORD | Password not included |
MISSING_CLASS | Class not included |
MISSING_METHOD | Method not included |
MISSING_COMPULSORY_PARAM | Compulsory parameter not included |
INCORRECT_USER_PASSWORD | Incorrect user or password |
INCORRECT_CLASS | Incorrect class |
INCORRECT_METHOD | Incorrect method |
CHANNEL_NOT_FOUND | The indicated channel does not exist |
Send a file by WhatsAPP with SQL Server
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ole Automation Procedures', 1;
GO
RECONFIGURE;
GO
DECLARE @class varchar(500) = 'whatsapp';
DECLARE @method varchar(500) = 'sendfile';
DECLARE @user varchar(500) = 'user';
DECLARE @password varchar(500) = 'password';
DECLARE @platformid varchar(500) = '100';
DECLARE @destination varchar(500) = '3460000000';
DECLARE @type varchar(500) = 'image';
DECLARE @fileurl varchar(500) = 'https://www.example.com/image.jpg';
DECLARE @thumburl varchar(500) = 'https://www.example.com/thumb.jpg';
DECLARE @message varchar(500) = 'test+message';
DECLARE @url varchar(255) = 'https://www.afilnet.com/api/http/?+'&class='+@class+'&method='+@method+'&user='+@user+'&password='+@password+'&platformid='+@platformid+'&destination='+@destination+'&type='+@type+'&fileurl='+@fileurl+'&thumburl='+@thumburl+'&message='+@message;
DECLARE @win int
DECLARE @hr int
DECLARE @text varchar(8000)
EXEC @hr=sp_OACreate 'WinHttp.WinHttpRequest.5.1',@win OUT
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OAMethod @win, 'Open',NULL,'GET',@url,'false'
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OAMethod @win,'Send'
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OAGetProperty @win,'ResponseText',@text OUTPUT
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OADestroy @win
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
Parameter | Description | Compulsory / Optional |
---|---|---|
class=whatsapp | Class requested: Class to which the request is made | Compulsory |
method=sendfile | Class method requested: Method of the class to which the request is made | Compulsory |
user | User and e-mail of your Afilnet account | Compulsory |
password | Password of your Afilnet account | Compulsory |
platformid | Platform identifier | Compulsory |
destination | whatsapp.sendfile_destination | Compulsory |
type | whatsapp.sendfile_type | Compulsory |
fileurl | whatsapp.sendfile_fileurl | Compulsory |
thumburl | whatsapp.sendfile_thumburl | Optional |
message | whatsapp.sendfile_message | Optional |
Answer:
- status
-
result (if status=success), here you will receive the following values:
- No additional values will be sent to you
- error (if status=error), here you will receive the error code
Error codes:
Code | Description |
---|---|
MISSING_USER | User or email not included |
MISSING_PASSWORD | Password not included |
MISSING_CLASS | Class not included |
MISSING_METHOD | Method not included |
MISSING_COMPULSORY_PARAM | Compulsory parameter not included |
INCORRECT_USER_PASSWORD | Incorrect user or password |
INCORRECT_CLASS | Incorrect class |
INCORRECT_METHOD | Incorrect method |
CHANNEL_NOT_FOUND | The indicated channel does not exist |
CHAT_NOT_FOUND | The indicated chat does not exist |
INCORRECT_FILETYPE | The file type is wrong, check the possible values |
INCORRECT_FILEURL | The file url is not valid |
INCORRECT_THUMBURL | The url of the thumbnail is invalid |
Send a template message via WhatsAPP with SQL Server
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ole Automation Procedures', 1;
GO
RECONFIGURE;
GO
DECLARE @class varchar(500) = 'whatsapp';
DECLARE @method varchar(500) = 'sendmessagefromtemplate';
DECLARE @user varchar(500) = 'user';
DECLARE @password varchar(500) = 'password';
DECLARE @idtemplate varchar(500) = '100';
DECLARE @platformid varchar(500) = '100';
DECLARE @destination varchar(500) = '3460000000';
DECLARE @options varchar(500) = '{\"header\":{\"file\":\"url\"}}';
DECLARE @url varchar(255) = 'https://www.afilnet.com/api/http/?+'&class='+@class+'&method='+@method+'&user='+@user+'&password='+@password+'&idtemplate='+@idtemplate+'&platformid='+@platformid+'&destination='+@destination+'&options='+@options;
DECLARE @win int
DECLARE @hr int
DECLARE @text varchar(8000)
EXEC @hr=sp_OACreate 'WinHttp.WinHttpRequest.5.1',@win OUT
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OAMethod @win, 'Open',NULL,'GET',@url,'false'
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OAMethod @win,'Send'
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OAGetProperty @win,'ResponseText',@text OUTPUT
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OADestroy @win
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
Parameter | Description | Compulsory / Optional |
---|---|---|
class=whatsapp | Class requested: Class to which the request is made | Compulsory |
method=sendmessagefromtemplate | Class method requested: Method of the class to which the request is made | Compulsory |
user | User and e-mail of your Afilnet account | Compulsory |
password | Password of your Afilnet account | Compulsory |
idtemplate | Template identifier | Compulsory |
platformid | Platform identifier | Compulsory |
destination | Recipient of the message (Number in international format) | Compulsory |
options | The options allow you to parameterize and configure the message to be sent (See Annex). | Optional |
Answer:
- status
-
result (if status=success), here you will receive the following values:
- No additional values will be sent to you
- error (if status=error), here you will receive the error code
Error codes:
Code | Description |
---|---|
MISSING_USER | User or email not included |
MISSING_PASSWORD | Password not included |
MISSING_CLASS | Class not included |
MISSING_METHOD | Method not included |
MISSING_COMPULSORY_PARAM | Compulsory parameter not included |
INCORRECT_USER_PASSWORD | Incorrect user or password |
INCORRECT_CLASS | Incorrect class |
INCORRECT_METHOD | Incorrect method |
CHANNEL_NOT_FOUND | The indicated channel does not exist |
Get a list of WhatsAPP conversations with SQL Server
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ole Automation Procedures', 1;
GO
RECONFIGURE;
GO
DECLARE @class varchar(500) = 'whatsapp';
DECLARE @method varchar(500) = 'getchats';
DECLARE @user varchar(500) = 'user';
DECLARE @password varchar(500) = 'password';
DECLARE @platformid varchar(500) = '100';
DECLARE @url varchar(255) = 'https://www.afilnet.com/api/http/?+'&class='+@class+'&method='+@method+'&user='+@user+'&password='+@password+'&platformid='+@platformid;
DECLARE @win int
DECLARE @hr int
DECLARE @text varchar(8000)
EXEC @hr=sp_OACreate 'WinHttp.WinHttpRequest.5.1',@win OUT
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OAMethod @win, 'Open',NULL,'GET',@url,'false'
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OAMethod @win,'Send'
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OAGetProperty @win,'ResponseText',@text OUTPUT
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OADestroy @win
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
Parameter | Description | Compulsory / Optional |
---|---|---|
class=whatsapp | Class requested: Class to which the request is made | Compulsory |
method=getchats | Class method requested: Method of the class to which the request is made | Compulsory |
user | User and e-mail of your Afilnet account | Compulsory |
password | Password of your Afilnet account | Compulsory |
platformid | Platform identifier | Compulsory |
Answer:
- status
-
result (if status=success), here you will receive the following values:
-
list
- platformid
- message
- destination
- messageid
- sent
- status
- datetime
-
list
- error (if status=error), here you will receive the error code
Error codes:
Code | Description |
---|---|
MISSING_USER | User or email not included |
MISSING_PASSWORD | Password not included |
MISSING_CLASS | Class not included |
MISSING_METHOD | Method not included |
MISSING_COMPULSORY_PARAM | Compulsory parameter not included |
INCORRECT_USER_PASSWORD | Incorrect user or password |
INCORRECT_CLASS | Incorrect class |
INCORRECT_METHOD | Incorrect method |
CHANNEL_NOT_FOUND | The indicated channel does not exist |
CHAT_NOT_FOUND | The indicated chat does not exist |
Get a list of WhatsAPP messages with SQL Server
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ole Automation Procedures', 1;
GO
RECONFIGURE;
GO
DECLARE @class varchar(500) = 'whatsapp';
DECLARE @method varchar(500) = 'getmessages';
DECLARE @user varchar(500) = 'user';
DECLARE @password varchar(500) = 'password';
DECLARE @platformid varchar(500) = '100';
DECLARE @destination varchar(500) = '34600000000';
DECLARE @url varchar(255) = 'https://www.afilnet.com/api/http/?+'&class='+@class+'&method='+@method+'&user='+@user+'&password='+@password+'&platformid='+@platformid+'&destination='+@destination;
DECLARE @win int
DECLARE @hr int
DECLARE @text varchar(8000)
EXEC @hr=sp_OACreate 'WinHttp.WinHttpRequest.5.1',@win OUT
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OAMethod @win, 'Open',NULL,'GET',@url,'false'
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OAMethod @win,'Send'
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OAGetProperty @win,'ResponseText',@text OUTPUT
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OADestroy @win
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
Parameter | Description | Compulsory / Optional |
---|---|---|
class=whatsapp | Class requested: Class to which the request is made | Compulsory |
method=getmessages | Class method requested: Method of the class to which the request is made | Compulsory |
user | User and e-mail of your Afilnet account | Compulsory |
password | Password of your Afilnet account | Compulsory |
platformid | Platform identifier | Compulsory |
destination | Recipient from which you want to obtain the messages | Compulsory |
Answer:
- status
-
result (if status=success), here you will receive the following values:
-
list
- platformid
- message
- destination
- messageid
- sent
- status
- datetime
-
list
- error (if status=error), here you will receive the error code
Error codes:
Code | Description |
---|---|
MISSING_USER | User or email not included |
MISSING_PASSWORD | Password not included |
MISSING_CLASS | Class not included |
MISSING_METHOD | Method not included |
MISSING_COMPULSORY_PARAM | Compulsory parameter not included |
INCORRECT_USER_PASSWORD | Incorrect user or password |
INCORRECT_CLASS | Incorrect class |
INCORRECT_METHOD | Incorrect method |
CHANNEL_NOT_FOUND | The indicated channel does not exist |
CHAT_NOT_FOUND | The indicated chat does not exist |
Get a list of unread messages from a WhatsAPP chat with SQL Server
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ole Automation Procedures', 1;
GO
RECONFIGURE;
GO
DECLARE @class varchar(500) = 'whatsapp';
DECLARE @method varchar(500) = 'getunreadmessages';
DECLARE @user varchar(500) = 'user';
DECLARE @password varchar(500) = 'password';
DECLARE @platformid varchar(500) = '100';
DECLARE @destination varchar(500) = '34600000000';
DECLARE @url varchar(255) = 'https://www.afilnet.com/api/http/?+'&class='+@class+'&method='+@method+'&user='+@user+'&password='+@password+'&platformid='+@platformid+'&destination='+@destination;
DECLARE @win int
DECLARE @hr int
DECLARE @text varchar(8000)
EXEC @hr=sp_OACreate 'WinHttp.WinHttpRequest.5.1',@win OUT
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OAMethod @win, 'Open',NULL,'GET',@url,'false'
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OAMethod @win,'Send'
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OAGetProperty @win,'ResponseText',@text OUTPUT
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OADestroy @win
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
Parameter | Description | Compulsory / Optional |
---|---|---|
class=whatsapp | Class requested: Class to which the request is made | Compulsory |
method=getunreadmessages | Class method requested: Method of the class to which the request is made | Compulsory |
user | User and e-mail of your Afilnet account | Compulsory |
password | Password of your Afilnet account | Compulsory |
platformid | Platform identifier | Compulsory |
destination | Recipient from which you want to obtain the messages | Compulsory |
Answer:
- status
-
result (if status=success), here you will receive the following values:
-
list
- platformid
- message
- destination
- messageid
- issent
- status
- datetime
-
list
- error (if status=error), here you will receive the error code
Error codes:
Code | Description |
---|---|
MISSING_USER | User or email not included |
MISSING_PASSWORD | Password not included |
MISSING_CLASS | Class not included |
MISSING_METHOD | Method not included |
MISSING_COMPULSORY_PARAM | Compulsory parameter not included |
INCORRECT_USER_PASSWORD | Incorrect user or password |
INCORRECT_CLASS | Incorrect class |
INCORRECT_METHOD | Incorrect method |
CHANNEL_NOT_FOUND | The indicated channel does not exist |
CHAT_NOT_FOUND | The indicated chat does not exist |
ANNEX: Additional options in Messages
In this annex you will learn how to send messages from your templates. WhatsAPP templates allow you to send more elaborate messages than text messages, allowing you to attach files, as well as include buttons in your messages.
Options
The options allow you to send interactive messages, attach images, videos, documents and share locations via WhatsApp. To do this, here you will learn how to customize the "options" parameter. The "options" parameter must be a string in JSON format following the following specifications:
Main parameters
header | Details about the message header (optional) |
---|---|
params | Values to the different values of the template (optional) |
Example
{"header":"", "params": ""} |
Define the header
Defining a header will allow you to attach different files and services to your WhatsAPP messages
Send an image
file | Image URL (Allowed formats: JPG, PNG, WEBP) The file must be uploaded to the internet and be accessible through a URL
|
---|
Send a Video
file | Video URL (Allowed formats: MP4, MPEG, 3GP) The file must be uploaded to the internet and be accessible through a URL
|
---|
Send a Document
file | Document URL (Allowed formats: TXT, PDF, PPT, DOC, DOCX, XLS, PPTX, XLSX) The file must be uploaded to the internet and be accessible through a URL
|
---|
Send a Location
file | Latitude and longitude with the format: (0.0000, 0.0000) | ||||
---|---|---|---|---|---|
location |
|
Define the parameters
Using parameters will allow you to customize your templates to each recipient, allowing information related to the recipient to be included in the message. Some examples of this information would be: Personal data, Data related to your account, Tracking information, etc.
JSON example: | {"params":{"name":"John", "orderid": "10"}} |
---|
Valid JSON Examples
Send a message with custom parameters
In this example we are going to send a parameterized message.
Template message with parameters: | Dear {{name}}, your order with ID: {{orderid}} has left our warehouses |
---|---|
JSON example: | {"params":{"name":"John", "orderid": "10"}} |
Send an image
In this example we are going to use a template that has an image as its header.
JSON example: | {"header":{"file":"https:\/\/test.com\/test.jpg"}} |
---|
Send an Image and message with custom parameters
In this example we are going to use a template that has an image as its header. We attach an image with the tracking number.
Template message with parameters: | Dear {{name}}, your order with ID: {{orderid}} has left our warehouses |
---|---|
JSON example: | {"header":{"file":"https:\/\/test.com\/test.jpg"}, "params":{"name":"John", "orderid": "10"}} |
Send a Video
In this example we are going to use a template that has a video as a header.
JSON example: | {"header":{"file":"https:\/\/test.com\/test.mp4"}} |
---|
Send a Document
In this example we are going to use a template that has a document as a header.
JSON example: | {"header":{"file":"https:\/\/test.com\/test.mp4"}} |
---|
Send a Location
In this example we are going to use a template that has a location as its header.
JSON example: | {"header":{"file":"(LATITUDE, LONGITUDE)","location":{"name":"NAME","address":"ADDRESS"}}} |
---|
Which API for SQL Server should I use?
Discover the advantages and disadvantages of each of our APIs. Find out which API is best for your Software in SQL Server.
This API allows you to connect to us from SQL Server to send requests via HTTP GET requests. This request sends the parameters in the same URL as the request.
- HTTP GET is extremely simple to implement
- Information is sent unencrypted (passwords could be extracted from logs or cache)
- Maximum request of ~4000 characters
The POST request API allows you to connect to our API from SQL Server by sending request parameters via HTTP POST parameters. The information is sent independently of the URL.
- HTTP POST is simple to implement
- Information is sent encrypted
- There is no limit on the size of the request
- Medium security
The basic authentication API allows the use of GET and POST requests in SQL Server with an additional security layer, since in this case the username and password are sent in the header of the request.
- Basic authentication is easy to implement
- Access data is sent encrypted
- The size limit depends on the use of GET or POST
- Medium security
SOAP allows you to send requests in XML format with SQL Server, SOAP adds an extra layer of security to API requests.
- SOAP integration is more complex
- Information is sent encrypted
- There is no limit on the size of the request
- Medium / High security
Our JSON API allows you to send requests in JSON format with SQL Server, in addition this API adds the oAuth 2.0 protocol in the authentication that allows you to add an additional layer of security.
- JSON oAuth 2.0 integration is more complex
- Information is sent encrypted
- There is no limit on the size of the request
- High security
Connect SQL Server with our WhatsAPP Business API
Register as a client
In order to have access to the API you must be an Afilnet client. Registration will take a few minutes.
Request your free trial
Our company will offer you trial balance that will allow you to test with the API you need.
Integrate the API
Perform API integration using the programming language of your choice. If you have any questions or suggestions about the API, contact us
Welcome to Afilnet!
Everything ready!, has managed to improve its communications with Afilnet. We are here to support our API when you need it
Contact our team with any questions through the contact methods that we offer. Our team will try to offer you an immediate solution and will help you in the integration of our API in your Software.