post https://api.gupshup.io/wa/api/v1/msg
This endpoint allows you to send text messages via the WhatsApp channel using Gupshup’s messaging API.
cURL
curl --location 'https://api.gupshup.io/wa/api/v1/msg' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'apikey: {{APIKEY}}' \
--data-urlencode 'source={{SOURCE}}' \
--data-urlencode 'destination={{DESTINATION}}' \
--data-urlencode 'message={"type":"text",
"text": "https://www.google.com","previewUrl":true}' \
--data-urlencode 'src.name={{APP_NAME}}'
Sample Request
Without Context
curl --location 'https://api.gupshup.io/wa/api/v1/msg' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'apikey: xvnwgh9vgbbl6gjeezymu5v5iepxq2zt' \
--data-urlencode 'channel=whatsapp' \
--data-urlencode 'source=918XXXXX541' \
--data-urlencode 'destination=917XXXXX6501' \
--data-urlencode 'message={
"type": "text",
"text": "https://www.google.com",
"previewUrl": true
}' \
--data-urlencode 'src.name=TedLasso'
With Context
curl --location 'https://api.gupshup.io/wa/api/v1/msg' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'apikey: xvnwgh9vgbbl6gjeezymu5v5iepxq2zt' \
--data-urlencode 'channel=whatsapp' \
--data-urlencode 'source=918XXXX4541' \
--data-urlencode 'destination=917XXXX6501' \
--data-urlencode 'message={
"context": {
"msgId": "ss"
},
"type": "text",
"text": "https://www.google.com",
"previewUrl": true
}' \
--data-urlencode 'src.name=TedLasso'
Request Parameters
Parameter Name | Location | Type | Description | Required | Example |
---|---|---|---|---|---|
apikey | Header | string | APIKEY of your Gupshup Account | Yes | 61b3021cXXXXbaaae0xxxx |
source | Form | integer | Source Phone Number | Yes | 91XXXX78 |
destination | Form | integer | Destination Phone Number | Yes | 918XXXX43 |
src.name | Form | string | App Name | Yes | august18 |
message | Form | object | Message object (refer to schema) | Yes | Refer to Message schema below |
Message Object (Form Parameter)
Property Name | Type | Description | Required | Example |
---|---|---|---|---|
context | object | Message context | No | { "msgId": "uniqueMsgId" } |
text | string | Message text | Yes | Welcome to Gupshup |
type | string | Type of session message | No | text |
previewUrl | boolean | Enable preview if the text contains URL | No | false |
Response Parameters
Parameter Name | Type | Description | Example |
---|---|---|---|
status | string | Response status | submitted, error |
messageId | string | Unique message ID | 183dc8XXXX04fd0b1bfe07 |
message | string | Error message | Invalid Destination, Authentication Failed, Too Many Requests |
status | string | Status of the request | error |
Sample Success Response
{
"status": "submitted",
"messageId": "183dc8f1XXXX04fd0b1bfe07"
}
Status Codes
Status Code | Description | Response Schema |
---|---|---|
200 | Successful response | { "status": "submitted", "messageId": "uuid" } |
400 | Bad Request | { "message": "Invalid Destination", "status": "error" } or { "message": "Invalid App Details", "status": "error" } |
401 | Authentication Failed | { "message": "Authentication Failed", "status": "error" } |
429 | Too Many Requests | { "message": "Too Many Requests", "status": "error" } |