SAAS WhatsApp API send - nxtele/nxcloud-doc-en GitHub Wiki
Send Message
Initiate WhatsApp number message sending service through API.
- URL:
https://api.nxcloud.com/saas/wa/send
- Method:
POST
- Content-Type:
application/json
- Requires authentication: Yes
Request Parameters
Header Parameters:
| Parameter Name |
Type |
Required |
Example Value |
Description |
| accessKey |
String |
Yes |
fme2na3kdi3ki |
User identity identifier |
| ts |
String |
Yes |
1655710885431 |
Current request timestamp (in milliseconds). The maximum allowed time difference is 60 seconds |
| bizType |
String |
Yes |
2 |
WhatsApp business type, fixed value "2" |
| action |
String |
Yes |
mt |
WhatsApp business operation, fixed value "mt" |
| sign |
String |
Yes |
6e9506557d1f289501d333ee2c365826 |
API input parameter signature, common convention |
Body Parameters:
| Parameter Name |
Type |
Required |
Example Value |
Description |
| tenant_id |
Long |
Yes |
1 |
Tenant ID |
| appkey |
String |
Yes |
pem28kje |
Application appkey |
| business_phone |
String |
Yes |
86158xxxx1795 |
WhatsApp number of the message sender, including country code. Example: 86158xxxx1795 |
| messaging_product |
String |
Yes |
whatsapp |
Channel for sending messages, must be "whatsapp" for WhatsApp messages |
| recipient_type |
String |
Yes |
individual |
Type of message recipient, must be "individual" for WhatsApp messages |
| to |
String |
Yes |
86158xxxx1795 |
WhatsApp number of the message recipient, including country code. Example: 86158xxxx1795 |
| type |
String |
Yes |
template |
Type of message to be sent: "template" |
| template |
JsonObject |
Yes |
Refer to the request example |
Template message content, required when type=template |
Message Types
Template message parameters:
| Parameter Name |
Type |
Required |
Example Value |
Description |
| template |
JsonObject |
No |
Refer to the request example |
Template message content, required when type=template |
- template object parameters:
| Parameter Name |
Type |
Required |
Example Value |
Description |
| name |
String |
Yes |
- |
Template name |
| language |
JsonObject |
Yes |
- |
Template language settings |
| components |
array[component JsonObject] |
No |
- |
Sequence of variable settings for template components |
- language object parameters:
- component object parameters:
| Parameter Name |
Type |
Required |
Example Value |
Description |
| type |
String |
Yes |
- |
Component type, can be "header" or "body" |
| parameters |
array[parameter JsonObject] |
No |
- |
List of component parameter settings |
- parameter object parameters:
| Parameter Name |
Type |
Required |
Example Value |
Description |
| type |
String |
Yes |
- |
Type of parameter, can be "text" or "image" |
| text |
String |
No |
- |
Required when type=text, set the text content of the corresponding parameter. Not applicable for other types |
| image |
JsonObject |
No |
- |
Required when type=image, set the image content of the corresponding parameter. Not applicable for other types |
| Parameter Name |
Type |
Required |
Example Value |
Description |
| link |
String |
Yes |
- |
URL link of the image. Must be an HTTP/HTTPS URL |
Request Example
Refer to the request example
- Template message (parameterized template message)

Body (application/json) parameters:
{
"tenant_id" : 1,
"appkey": "f543ertg",
"business_phone": "185xxxx8399",
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "86136xxxx9759",
"type": "template",
"template": {
"name": "text_template",
"language": {
"code": "en_US",
"policy": "deterministic"
},
"components": [
{
"type": "header",
"parameters": [{
"type": "image",
"image": {
"link": "https://imglink"
}
}]
}
{
"type": "body",
"parameters": [ // Fill in the parameter text content strictly according to the variable order. Repeat the variable multiple times if necessary.
{
"type": "text",
"text": "David" // {{First Name}}
},
{
"type": "text",
"text": "China" // {{Country}}
},
{
"type": "text",
"text": "China" // {{Country}}
},
{
"type": "text",
"text": "86138XXX" // {{Phone Number}}
}
]
}
]
}
}
Response Parameters
| Parameter Name |
Type |
Description |
| code |
Integer |
Result code |
| data |
JsonObject |
Request result |
| message |
String |
Request message |
| traceId |
String |
Trace ID |
| Parameter Name |
Type |
Description |
| message_id |
String |
Message ID |
Response Example
Successful Example
{
"code": 0,
"message": "",
"data": {
"message_id": "wamid.edcf691d49c04b939c8e3331f07f9cd1"
},
"traceId": "56bf81643292cd6a89ecde64ae00db13"
}
Response Code Explanation
| code |
message |
Solution |
| 0 |
Request succeeded |
|
| -1 |
Request failed |
Please contact technical support to troubleshoot |
| 1000~100X |
Authentication issue |
See API authentication section for details |
| 21058 |
Parameter exception |
tenant_id is required |
| 21059 |
Parameter exception |
app_key is required |
| 21060 |
Parameter exception |
business_phone is required |
| 21061 |
Parameter exception |
to (recipient number) is required |
| 21062 |
Parameter exception |
type is required, valid values are [template] |
| 21063 |
Parameter exception |
template is required |
| 22020 |
Business exception |
Customer does not exist |
| 22041 |
Business exception |
Failed to send on the cloud platform |
| 22042 |
Business exception |
Failed to send WhatsApp message |
| 22049 |
Business exception |
Business phone {0} does not exist |
| 22089 |
Business exception |
Number not available (No Core App) |
| 22090 |
Business exception |
Invalid number |
| 22091 |
Business exception |
Not a WhatsApp user |
| 22092 |
Business exception |
Language pack does not exist: {0} |
| 22093 |
Business exception |
Template does not exist |
| 22123 |
Business exception |
Merchant phone number error |
| 22124 |
Business exception |
Application does not exist/unavailable |
| 22122 |
Business exception |
Application has no corresponding country pricing |
| 22125 |
Business exception |
Insufficient account balance |
| 22126 |
Business exception |
The WhatsApp number is not bound to the application |
| 22141 |
Business exception |
Failed to send WhatsApp, see the message field for details |
| 23025 |
Business exception |
WhatsApp Template does not exist or low quality |
Template Languages
| Language |
Code |
|
Language |
Code |
|
Language |
Code |
| Afrikaans |
af |
|
Greek |
el |
|
Portuguese (BR) |
pt_BR |
| Albanian |
sq |
|
Gujarati |
gu |
|
Portuguese (POR) |
pt_PT |
| Arabic |
ar |
|
Hebrew |
he |
|
Punjabi |
pa |
| Azerbaijani |
az |
|
Hindi |
hi |
|
Romanian |
ro |
| Bengali |
bn |
|
Hungarian |
hu |
|
Russian |
ru |
| Bulgarian |
bg |
|
Indonesian |
id |
|
Serbian |
sr |
| Catalan |
ca |
|
Irish |
ga |
|
Slovak |
sk |
| Chinese (CHN) |
zh_CN |
|
Italian |
it |
|
Slovenian |
sl |
| Chinese (HKG) |
zh_HK |
|
Japanese |
ja |
|
Spanish |
es |
| Chinese (TAI) |
zh_TW |
|
Kannada |
kn |
|
Spanish (ARG) |
es_AR |
| Croatian |
hr |
|
Kazakh |
kk |
|
Spanish (SPA) |
es_ES |
| Czech |
cs |
|
Korean |
ko |
|
Spanish (MEX) |
es_MX |
| Danish |
da |
|
Lao |
lo |
|
Swahili |
sw |
| Dutch |
nl |
|
Latvian |
lv |
|
Swedish |
sv |
| English |
en |
|
Lithuanian |
lt |
|
Tamil |
ta |
| English (UK) |
en_GB |
|
Macedonian |
mk |
|
Telugu |
te |
| English (US) |
en_US |
|
Malay |
ms |
|
Thai |
th |
| Estonian |
et |
|
Marathi |
mr |
|
Turkish |
tr |
| Filipino |
fil |
|
Norwegian |
nb |
|
Ukrainian |
uk |
| Finnish |
fi |
|
Persian |
fa |
|
Urdu |
ur |
| French |
fr |
|
Polish |
pl |
|
Uzbek |
uz |
| German |
de |
|
|
|
|
Vietnamese |
vi |