Send Product Card Message

The interactive product carousel message enables businesses to send horizontally scrollable product cards within WhatsApp conversations, allowing users to browse and engage with products directly in-thread.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
📘
  1. The product carousel message contains a card object. You must add 2 card objects to your message, and can add a maximum of 10. Each card exists in a cards[] array and must be given a "card_index" value of 0 through 9.
  2. The type of each card must be set to "product", and each card must reference the same "catalog_id".
  3. You must add a message body to the message, and no header, footer, or buttons are allowed.
  4. Lastly, each card must specify the product and catalog identifiers "product_retailer_id" and "catalog_id".
  5. Use the recipient parameter only when BSUID is enabled for the app.
  6. When both to and recipient fields are used in the payload, the to field gets the priority.

Request Parameters

KeyDescriptionValuesData TypeRequired/OptionalConstraints
Headers
AuthorisationAccess Token for the applicationsk_8eb35b1f81c24af2xxxxxxStringRequiredShould be a valid Partner App Access Token.
Path Params
App IdApp ID to fetch the access tokenbf9ee64c-3d4d-4ac4-xxxx-732e577007c4StringRequiredThe Id should be a valid app Id of Gupshup
Body JSON
messaging_productMessaging productwhatsappStringRequired
recipient_typeRecipient typeindividualStringRequired
toDestination phone number where the message needs to be sent91785876xxxxStringRequired (Can be optional if BSUID is enabled for the app and recipient parameter is used instead)Must be a valid phone number
recipientDestination BSUID where the message needs to be sentIN.461449821882xxxxStringOptionalMust be a valid BSUID
typeMessaging typeinteractiveStringRequiredType should be interactive to send interactive message.
interactiveinteractive message inside body

  "interactive": {
      "type": "carousel", // must be carousel
      "body": {
        "text": "<MESSAGE_BODY_TEXT>"
      },
      "action": {
        "cards": [
          {
            "card_index": 0,
            "type": "product",
            "action": {
              "product_retailer_id": "abc123xyz",
              "catalog_id": "123456789"
            }
          }
          // additional product cards
        ]
      }
    
ObjectRequiredKey should be interactive to send text message.

Sample Request

curl --location 'https://partner.gupshup.io/partner/app/{{app_id}}/v3/message' \
--header 'Authorization: sk_f39ed14bd5exxxxx' \
--header 'Content-Type: application/json' \
--data '{
  "messaging_product": "whatsapp",
  "recipient_type": "individual",
  "to": "918888xxx",
	"recipient": "IN.4614498218826880",
  "type": "interactive",
  "interactive": {
    "type": "carousel",
    "body": {
      "text": "Check out our latest Adidas products!"
    },
    "action": {
      "cards": [
        {
          "card_index": 0,
          "type": "product",
          "action": {
            "product_retailer_id": "xyli96fcbn",
            "catalog_id": "834584418374992"
          }
        },
        {
          "card_index": 1,
          "type": "product",
          "action": {
            "product_retailer_id": "zqc2qfz5fm",
            "catalog_id": "834584418374992"
          }
        }
      ]
    }
  }
}'

Sample Response

{
    "messages": [
        {
            "id": "GUPSHUP_MESSAGE_ID"
        }
    ],
    "messaging_product": "whatsapp",
    "contacts": [
        {
            "input": "DESTINATION_PHONE_NO",
            "wa_id": "DESTINATION_PHONE_NO"
        }
    ]
}

Status Codes

Status CodeResponseComment
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" }
Path Params
string
required

Unique identifier of the app.

Body Params
Headers
string
required

Your app token, please refer Get access token api to get the token from partner documentation.

Responses

Language
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json