Whatsapp For Business API
Whatsapp For Business API
Channel Info
PARAMETERS
Name |
Description |
type |
Required |
channels |
This block contains information related messaging channel |
N/A |
Yes |
name |
Name of Messaging Channel. Ex: whatsapp |
string |
Yes |
from |
Sender or From Number |
number |
Yes |
recipient |
This block contains contacts information related to channel |
N/A |
Yes |
group_id |
Segment id which contain list of phone numbers |
string or array |
Yes if to param not present |
to |
Receiver mobile numbers : text |
array |
Yes, if group_id not present |
Note
: The recipient
block inside channel is related to particular communication channel and it is optional. The outside recipient
channel contain common recipients for every channel.
{
"channels": [{
"name": "whatsapp",
"from": "91901912xxxx",
"meta" : {
"foreign_id":"your-custom-id"
}
}]
"recipient": {
"group_id": "{segment_id}",
"to": ["91XXXXXX", "91XXXXXX"]
}
}
Example Response
{
"status": "OK",
"message": "Message Queued successfully",
"data": [
{
"id": "a418d672-9781-4d97-b517-a56f7d95ad8a",
"channel": "whatsapp",
"from": "919019120xxx",
"to": "9190199xxxxx",
"credits": 1,
"created_at": "2021-06-18T14:48:06.886358Z",
"status": "queued",
"foreign_id": "your-message-id"
}
]
}
HTTP Methods
It will support only POST
requests.
API Endpoint
https://portal.mobtexting.com/api/v2/
Sending Text Message
{endpoint}whatsapp/message/send
PARAMETERS
Name |
Description |
Limits |
Required |
to |
Destination mobile number with country code |
NA |
Yes |
payload |
Message Payload section |
N/A |
Yes |
text |
Message Content you want to send |
Max 4096 Characters |
Yes |
Example Request With Text Message
curl -X POST \
'{endpoint}whatsapp/message/send' \
-H 'authorization: Bearer d9e1cac3812186b353c5022xxxxx' \
-H 'content-type: application/json' \
-d '{
"channels": [{
"name": "whatsapp",
"from": "919019120xxx"
}],
"recipient": {
"to": "91XXXXXX"
},
"message": {
"type": "text",
"payload": {
"text": "This is a simple text message from whatsapp channel"
}
}
}'
Sending Template Message
API Endpoint
https://portal.mobtexting.com/api/v2/
{endpoint}whatsapp/message/send
PARAMETERS
Name |
Description |
Limits |
Required |
name |
Template Alias Name |
N/A |
yes |
namespace |
Namespace of the template |
N/A |
yes |
language |
Language to send the template in. Default en |
N/A |
No |
header_params |
Only one header replace variable value. |
Up to 1024 characters for all parameters and predefined template text |
Yes incase only templates contain header variable |
body_params |
Up to 1024 characters for all parameters that are predefined template text, if authentication template has only one replace variable value. |
Up to 1024 characters for all parameters and predefined template text |
Yes incase only template contains body with no headers |
components |
This block contains header, body, footer sections payload as per predefined template. |
Up to 1024 characters for all parameters and predefined template text |
Yes incase Template contains headers and footers |
ttl |
Time to live of the template message. If the receiver has not opened the template message before the time to live expires, the message will be deleted. Default 30 Days. Need to specify in Seconds |
Can be more than 1 day i.e 86400 sec |
No |
Example Request With Templates
curl -X POST \
'{endpoint}whatsapp/message/send' \
-H 'authorization: Bearer d9e1cac3812186b353c5022xxxxx' \
-H 'content-type: application/json' \
-d '{
"channels": [
{
"name": "whatsapp",
"from": "91901912xxxx"
}
],
"recipient": {
"to": [
"91XXXXXXx"
]
},
"message": {
"type": "template",
"payload": {
"name": "template_alias_name",
"namespace": "template_alias_name",
"language": "en",
"header_params" : ["Hello"]
"body_params" : ["Dear", "Customer"]
}
}
}'
Example Request With Authentication Template
curl -X POST \
'{endpoint}whatsapp/message/send' \
-H 'authorization: Bearer d9e1cac3812186b353c5022xxxxx' \
-H 'content-type: application/json' \
-d '{
"channels": [
{
"name": "whatsapp",
"from": "91901912xxxx"
}
],
"recipient": {
"to": [
"91XXXXXXx"
]
},
"message": {
"type": "template",
"payload": {
"name": "template_alias_name",
"namespace": "template_alias_name",
"language": "en",
"body_params" : [23455]
}
}
}'
Example Request With Template “HSM” (Highly Structured Message)
curl -X POST \
'{endpoint}whatsapp/message/send' \
-H 'authorization: Bearer d9e1cac3812186b353c5022xxxxx' \
-H 'content-type: application/json' \
-d '{
"channels": [{
"name": "whatsapp",
"from": "919019120xxx"
}],
"recipient": {
"to": "91XXXXXX"
},
"message": {
"type": "template",
"payload": {
"name": "otp",
"namespace": "",
"language": "en",
"components": [{
"type": "header",
"parameters": [{
"type": "text",
"text": "replacement_text"
}]
},
{
"type": "body",
"parameters": [{
"type": "text",
"text": "replacement_text"
},
{
"type": "currency",
"currency": {
"fallback_value": "$100.99",
"code": "USD",
"amount_1000": 100990
}
},
{
"type": "date_time",
"date_time": {
"fallback_value": "February 25, 1977",
"day_of_week": 5,
"day_of_month": 25,
"year": 1977,
"month": 2,
"hour": 15,
"minute": 33
}
},
{
"...": "..."
}
]
},
{
"type": "button",
"sub_type": "quick_reply",
"index": "0",
"parameters": [{
"type": "payload",
"payload": "aGlzIHRoaXMgaXMgY29vZHNhc2phZHdpcXdlMGZoIGFTIEZISUQgV1FEV0RT"
}]
},
{
"type": "button",
"sub_type": "url",
"index": "1",
"parameters": [{
"type": "text",
"text": "9rwnB8RbYmPF5t2Mn09x4h"
}]
},
{
"type": "button",
"sub_type": "url",
"index": "2",
"parameters": [{
"type": "text",
"text": "ticket.pdf"
}]
}
]
}
}
}'
Example Product Shipment Request With Template
curl -X POST \
'{endpoint}whatsapp/message/send' \
-H 'authorization: Bearer d9e1cac3812186b353c5022xxxxx' \
-H 'content-type: application/json' \
-d '{
"channels": [{
"name": "whatsapp",
"from": "919019120xxx"
}],
"recipient": {
"to": "91XXXXXX"
},
"message": {
"type": "template",
"payload": {
"name": "oculus_shipment_update",
"namespace": "88b39973_f0d5_54e1_29cf_e80f1e3da4f2",
"language": "en",
"components": "components": [{
"type": "header",
"parameters": [{
"type": "image",
"image": {
"link": "link-to-your-image"
}
}]
},
{
"type": "body",
"parameters": [{
"type": "text",
"text": "Anand"
},
{
"type": "text",
"text": "Quest"
},
{
"type": "text",
"text": "113-0921387"
},
{
"type": "date_time",
"date_time": {
"fallback_value": "23rd Nov 2019",
"day_of_month": "20",
"year": "2019",
"month": "9"
}
}
]
},
{
"type": "button",
"index": "0",
"sub_type": "url",
"parameters": [{
"type": "text",
"text": "1Z999AA10123456784"
}]
}
]
}
}
}'
Send Image Message
API Endpoint
https://portal.mobtexting.com/api/v2/
{endpoint}whatsapp/message/send
PARAMETERS
Name |
Description |
Limits |
Required |
url |
Public url of the image file. Either HTTP/HTTPS link. |
5 MB |
Yes |
type |
image/jpg , image/jpeg and image/png |
YES |
YES |
caption |
some text for image caption |
N/A |
No |
filename |
Media file name |
N/A |
No |
pixels |
vertically crops images with the 1:91:1 aspect ratio: 800×418 pixels. To communicate effectively, design the image such that the crux information is at the center of the image. |
YES |
YES |
Example Request With Image Message
curl -X POST \
'{endpoint}whatsapp/message/send' \
-H 'authorization: Bearer d9e1cac3812186b353c5022xxxxx' \
-H 'content-type: application/json' \
-d '{
"channels": [{
"name": "whatsapp",
"from": "919019120xxx"
}],
"recipient": {
"to": "91XXXXXX"
},
"message": {
"type": "image",
"payload": {
"url": "https://www.buildquickbots.com/whatsapp/media/sample/jpg/sample01.jpg",
"caption": "some caption for image",
"filename": "Sample Image file"
}
}
}'
Send Document Message
API Endpoint
https://portal.mobtexting.com/api/v2/
We can send Document which is having valid MIME-type as attachment using below API. So anything not image, audio or video will be transmitted as document message.
{endpoint}whatsapp/message/send
PARAMETERS
Name |
Description |
Limits |
Required |
url |
Public url of the document file. Either HTTP or HTTPS link. |
Max File size 100MB |
Yes |
type |
Any valid MIME-type |
N/A |
No |
caption |
some text for document caption |
N/A |
No |
filename |
Media file name |
N/A |
No |
Example Request With Document Message
curl -X POST \
'{endpoint}whatsapp/message/send' \
-H 'authorization: Bearer d9e1cac3812186b353c5022xxxxx' \
-H 'content-type: application/json' \
-d '{
"channels": [{
"name": "whatsapp",
"from": "919019120xxx"
}],
"recipient": {
"to": "91XXXXXX"
},
"message": {
"type": "document",
"payload": {
"url": "https://www.buildquickbots.com/whatsapp/media/sample/pdf/sample01.pdf",
"caption": "some caption for document",
"filename": ""
}
}
}'
Send Audio Message
API Endpoint
https://portal.mobtexting.com/api/v2/
We can send Audio clips as attachment using below API.
{endpoint}whatsapp/message/send
PARAMETERS
Name |
Description |
Limits |
Required |
url |
Public url of the audio file. Either HTTP or HTTPS link. |
Upto 16MB |
Yes |
type |
audio/aac, audio/mp4, audio/amr, audio/mpeg; codecs=opus. (The base audio/ogg type is not supported.) |
YES |
YES |
caption |
some text for audio caption |
N/A |
No |
filename |
Media file name |
N/A |
No |
Example Request With Audio Message
curl -X POST \
'{endpoint}whatsapp/message/send' \
-H 'authorization: Bearer d9e1cac3812186b353c5022xxxxx' \
-H 'content-type: application/json' \
-d '{
"channels": [{
"name": "whatsapp",
"from": "919019120xxx"
}],
"recipient": {
"to": "91XXXXXX"
},
"message": {
"type": "audio",
"payload": {
"url": "https://www.buildquickbots.com/whatsapp/media/sample/audio/sample02.mp3",
"caption": "some caption for document",
"filename": ""
}
}
}'
Send Video Message
API Endpoint
https://portal.mobtexting.com/api/v2/
We can send Video clips as attachment using below API.
{endpoint}whatsapp/message/send
PARAMETERS
Name |
Description |
Limits |
Required |
url |
Public url of the video file. Either HTTP or HTTPS link. |
Upto 16MB |
Yes |
type |
video/mp4, video/3gpp (Only H.264 video codec and AAC audio codec is supported.) |
YES |
Yes |
caption |
some text for audio caption |
N/A |
No |
filename |
Media file name |
N/A |
No |
Example Request With Video Message
curl -X POST \
'{endpoint}whatsapp/message/send' \
-H 'authorization: Bearer d9e1cac3812186b353c5022xxxxx' \
-H 'content-type: application/json' \
-d '{
"channels": [{
"name": "whatsapp",
"from": "919019120xxx"
}],
"recipient": {
"to": "91XXXXXX"
},
"message": {
"type": "video",
"payload": {
"url": "https://www.buildquickbots.com/whatsapp/media/sample/video/sample01.mp4",
"caption": "some caption for document",
"filename": ""
}
}
}'
Send Notification With Interactive Suggestions
API Endpoint
https://portal.mobtexting.com/api/v2/
{endpoint}whatsapp/message/send
PARAMETERS
Name |
Description |
Limits |
Required |
choices |
this block contains options list of the message |
N/A |
Yes |
payload.type |
if reply message type value should be reply , or list message type value should be list |
N/A |
Yes |
choices.type |
if reply message type value should be reply , or list message type value first object should be button and second object should be section |
N/A |
Yes |
Example Request With Interactive Reply Message
curl -X POST \
'{endpoint}whatsapp/message/send' \
-H 'authorization: Bearer d9e1cac3812186b353c5022xxxxx' \
-H 'content-type: application/json' \
-d '{
"channels": [{
"name": "whatsapp",
"from": "919019120xxx"
}],
"recipient": {
"to": "91XXXXXX"
},
"message": {
"type": "interactive",
"payload": {
"type": "reply",
"header": {
"type": "text",
"payload": {
"text": "Hello User,"
}
},
"body": {
"type": "text",
"payload": {
"text": "Do you like the whatsapp?"
}
},
"footer": {
"type": "text",
"payload": {
"text": "Thank you"
}
},
"choices": [
{
"type": "reply",
"payload": {
"title": "Yes",
"id": "1"
}
},
{
"type": "reply",
"payload": {
"title": "No",
"id": "2"
}
}
]
}
}
}'
Example Request With Interactive List Messages
curl -X POST \
'{endpoint}whatsapp/message/send' \
-H 'authorization: Bearer d9e1cac3812186b353c5022xxxxx' \
-H 'content-type: application/json' \
-d '{
"channels": [{
"name": "whatsapp",
"from": "919019120xxx"
}],
"recipient": {
"to": "91XXXXXX"
},
"message": {
"type": "interactive",
"payload": {
"type": "list",
"header": {
"type": "text",
"payload": {
"text": "Hello User,"
}
},
"body": {
"type": "text",
"payload": {
"text": "What is your favorite colour?"
}
},
"footer": {
"type": "text",
"payload": {
"text": "Thank you"
}
},
"choices": [
{
"type": "button",
"payload": {
"title": "Choose the option",
"rows": [{
"id": "15",
"title": "Green",
"description": "Yes, Green is my favorite"
}]
}
},
{
"type": "section",
"payload": {
"title": "Section2 Title",
"rows": [{
"id": "16",
"title": "Red",
"description": "Yes, Red is my favorite"
},
{
"id": "16",
"title": "Black",
"description": "Yes, Black is my favorite"
},
{
"id": "16",
"title": "Blue",
"description": "Yes, Blue is my favorite"
}]
}
}
]
}
}
}'
Send Vcard / Contacts Message
API Endpoint
https://portal.mobtexting.com/api/v2/
{endpoint}whatsapp/message/send
PARAMETERS
Name |
Description |
Limits |
Required |
phone |
Mobile numbers saved in mobile |
N/A |
Yes |
name |
Person name |
N/A |
Yes |
address |
Address details of the contact |
N/A |
Yes |
org |
Organization details of the contact |
N/A |
Yes |
emails |
emails details of the contact |
N/A |
Yes |
urls |
urls details of the contact |
N/A |
Yes |
birthday |
birthday details of the contact |
N/A |
No |
Example Request With Vcard Message
curl -X POST \
'{endpoint}whatsapp/message/send' \
-H 'authorization: Bearer d9e1cac3812186b353c5022xxxxx' \
-H 'content-type: application/json' \
-d '{
"channels": [{
"name": "whatsapp",
"from": "919019120xxx"
}],
"recipient": {
"to": "91XXXXXX"
},
"message": {
"type": "contacts",
"payload": {
"addresses": [{
"city": "Bangalore",
"country": "India",
"countryCode": "in",
"state": "KA",
"type": "Office",
"zip": "56***"
}],
"name": {
"firstName": "Peter",
"lastName": "Parker",
"formattedName": "Peter Parker",
},
"phones": [{
"phone": "91901xxxxxxx",
"type": "WORK"
}],
"org": {
"company": "Company_name",
"department": "Product",
"title": "Manager"
},
"birthday": "1993-08-18",
"emails": [{
"email": "hello@domain-name.com",
"type": "WORK"
}],
"urls": [{
"url": "https://www.domin-name.com",
"type": "WORK"
}]
}
}
}'
Send Location Message
API Endpoint
https://portal.mobtexting.com/api/v2/
{endpoint}whatsapp/message/send
PARAMETERS
Name |
Description |
Limits |
Required |
longitude |
Longitude of the location coordinates |
N/A |
Yes |
latitude |
Latitude of the location coordinates |
N/A |
No |
name |
Address name |
N/A |
No |
address |
Textual representation of location |
N/A |
No |
Example Request With Location Message
curl -X POST \
'{endpoint}whatsapp/message/send' \
-H 'authorization: Bearer d9e1cac3812186b353c5022xxxxx' \
-H 'content-type: application/json' \
-d '{
"channels": [{
"name": "whatsapp",
"from": "919019120xxx"
}],
"recipient": {
"to": "91XXXXXX"
},
"message" : {
"type": "location",
"payload" : {
"longitude": 12.912985,
"latitude": 77.599505,
"name": "Company Pvt Ltd",
"address": "JP Nagar, Mini forest"
}
}
}'