Send Messages

Send Carousel

Sends a carousel of cards with an image and action buttons. Each item of the `carousel` array represents a card with `text`, `image`, and `buttons: [{type,text,id}]`.

POSThttps://api.zapzapapi.com/api/v1/{instanceId}/send/carousel

Authentication with the x-api-key and x-api-secret headers.

Parameters

NameTypeInRequiredDescription
numbertextbodyYesNumber (with country code)
texttextareabodyYesMain message text
carouseljsonbodyYesCards (JSON array)
delaynumberbodyNoDelay (ms)
digitandoselectbodyNoShows an automatic "typing..." indicator, proportional to the message length, before sending. On by default (humanizes and reduces block risk). Send false to turn it off and reply faster. The response remains synchronous.

Request example

curl

curl -X POST "https://api.zapzapapi.com/api/v1/{instanceId}/send/carousel" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "x-api-secret: YOUR_API_SECRET" \
  -H "Content-Type: application/json" \
  -d '{"number":"5511999999999","text":"Confira nossas opções:","carousel":[{"text":"Produto 1","image":"https://exemplo.com/img.jpg","buttons":[{"type":"REPLY","text":"Quero!","id":"quero"}]}]}'

Node.js

const res = await fetch("https://api.zapzapapi.com/api/v1/{instanceId}/send/carousel", {
  method: "POST",
  headers: {
    "x-api-key": "YOUR_API_KEY",
    "x-api-secret": "YOUR_API_SECRET",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "number": "5511999999999",
    "text": "Confira nossas opções:",
    "carousel": [
      {
        "text": "Produto 1",
        "image": "https://exemplo.com/img.jpg",
        "buttons": [
          {
            "type": "REPLY",
            "text": "Quero!",
            "id": "quero"
          }
        ]
      }
    ]
  }),
});
console.log(await res.json());

Python

import requests

res = requests.post(
    "https://api.zapzapapi.com/api/v1/{instanceId}/send/carousel",
    headers={"x-api-key": "YOUR_API_KEY", "x-api-secret": "YOUR_API_SECRET"},
    json={"number":"5511999999999","text":"Confira nossas opções:","carousel":[{"text":"Produto 1","image":"https://exemplo.com/img.jpg","buttons":[{"type":"REPLY","text":"Quero!","id":"quero"}]}]},
)
print(res.json())

Response example

JSON

{
  "messageId": "ABCDEF123456",
  "status": "sent"
}

Values are illustrative; the fields follow the real response format.

See the full reference

Get your API keys

Create your account, connect a number in minutes and start using the API. R$15 per active number/month, with a welcome credit when you create the account, subject to the current campaign.