post
https://partner.gupshup.io/partner/app//v3/message
Interactive media carousel messages display a set of horizontally scrollable media cards. Each card can display an image or video header, body text, and either quick-reply buttons or a URL button.
Recent Requests
Log in to see full request history
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Loading…
- Messages must include between 2 and 10 cards.
- Main message body text is required.
- Main message headers, footers, and interactive components are not supported.
- Cards must include either an image or video header. Other header types are not supported.
- Card body text is optional.
- Cards must include either one URL button, or one or more quick-reply buttons. Button types and numbers must match across all cards (for example, if you define a card with 2 quick-reply buttons, all cards must define exactly 2 quick-reply buttons).
- Use the
recipientparameter only when BSUID is enabled for the app.- When both
toandrecipientfields are used in the payload, thetofield gets the priority.
Request Parameters
| Key | Description | Values | Data Type | Required/Optional | Constraints |
|---|---|---|---|---|---|
| Headers | |||||
| Authorisation | Access Token for the application | sk_8eb35b1f81c24af2xxxxxx | String | Required | Should be a valid Partner App Access Token. |
| Path Params | |||||
| App Id | App ID to fetch the access token | bf9ee64c-3d4d-4ac4-xxxx-732e577007c4 | String | Required | The Id should be a valid app Id of Gupshup |
| Body JSON | |||||
| messaging_product | Messaging product | String | Required | ||
| recipient_type | Recipient type | individual | String | Required | |
| to | Destination phone number where the message needs to be sent | 91785876xxxx | String | Required (Can be optional if BSUID is enabled for the app and recipient parameter is used instead) | Must be a valid phone number |
| recipient | Destination BSUID where the message needs to be sent | IN.461449821882xxxx | String | Optional | Must be a valid BSUID |
| type | Messaging type | interactive | String | Required | Type should be interactive to send interactive message. |
| interactive | interactive message inside body | | Object | Required | Key should be interactive to send text message. |
Sample Request
curl --location 'https://partner.gupshup.io/partner/app/{{app_id}}/v3/message' \
--header 'Authorization: sk_f39ed14bxxxxxxxxx' \
--header 'Content-Type: application/json' \
--data '{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "91888xxxxxx",
"recipient": "IN.4614498218826880",
"type": "interactive",
"interactive": {
"type": "carousel",
"body": {
"text": "Check out our latest offers!"
},
"action": {
"cards": [
{
"card_index": 0,
"type": "cta_url",
"header": {
"type": "image",
"image": {
"link": "https://gs-upload.gupshup.io/whatsapp/sample-media/png/sample01.png"
}
},
"body": {
"text": "Adidas – Flat 40% Off"
},
"action": {
"name": "cta_url",
"parameters": {
"display_text": "Shop now",
"url": "https://shop.example.com/adidas"
}
}
},
{
"card_index": 1,
"type": "cta_url",
"header": {
"type": "image",
"image": {
"link": "https://gs-upload.gupshup.io/whatsapp/sample-media/png/sample02.png"
}
},
"body": {
"text": "Nike – New Arrivals"
},
"action": {
"name": "cta_url",
"parameters": {
"display_text": "View collection",
"url": "https://shop.example.com/nike"
}
}
}
]
}
}
}'Sample Response
{
"messages": [
{
"id": "GUPSHUP_MESSAGE_ID"
}
],
"messaging_product": "whatsapp",
"contacts": [
{
"input": "DESTINATION_PHONE_NO",
"wa_id": "DESTINATION_PHONE_NO"
}
]
}Status Codes
| Status Code | Response | Comment |
|---|---|---|
| Success | ||
| 200 | { "messages": [ { "id": "GUPSHUP_MESSAGE_ID" } ], "messaging_product": "whatsapp", "contacts": [ { "input": "DESTINATION_PHONE_NO", "wa_id": "DESTINATION_PHONE_NO" } ] } | |
| Error | ||
| 401 | { "status": "error", "message": "Authentication Failed" } | When Partner Token authentication fails |
| 400 | { "message": "Callback Billing must be enabled for this API", "status": "error" } | |