Mensagens
Envio de mensagens de todos os tipos, reações, leitura e "digitando…".
https://app.onzap.io/v1/instances/{instanceId}AuthX-Instance-Token: SEU_TOKENEnviar texto
/v1/instances/{instanceId}/messages/textLinks ganham prévia automaticamente (linkPreview). Para responder a uma mensagem, informe reply_to com o ID dela.
Na API oficial: até 4096 caracteres; prévia de link só com linkPreview: true. Fora da janela de 24 h desde a última mensagem do cliente, use /messages/template.
Aceita delayMessage e delayTyping no corpo e o header X-Queue (veja Fila de mensagens na introdução). Enviada na hora, responde 201/200; enfileirada, 202.
Headers
X-Queuestringopcionaltrue manda este envio para a fila da instância; false envia na hora. Sem o header, vale o modo da instância (delayMessage ou delayTyping no corpo também implicam fila).Corpo (JSON)
textstringobrigatóriochatIdstringopcional5511999999999) ou JID (…@c.us, …@g.us, …@lid). Pode ser enviado como phone.delayMessagenumberopcionaldelayTypingnumberopcionalidstringopcionallinkPreviewbooleanopcionallinkPreviewHighQualitybooleanopcionalmentionsarray de stringopcionalphonestringopcionalchatId: número com DDI e DDD.reply_tostringopcionalcurl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/messages/text" \
-H "X-Instance-Token: $ONZAP_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"chatId": "5511999999999",
"text": "Olá! Seu pedido foi confirmado ✅"
}'Mensagem enviada
{
"chatId": "[email protected]",
"id": "[email protected]_3EB0C0A1B2C3D4E5F6",
"status": "sent"
}Enviar imagem
/v1/instances/{instanceId}/messages/imageEnvie file.url (URL pública) ou file.data (base64) com file.mimetype.
Na API oficial: JPG ou PNG até 5 MB.
Aceita delayMessage e delayTyping no corpo e o header X-Queue (veja Fila de mensagens na introdução). Enviada na hora, responde 201/200; enfileirada, 202.
Headers
X-Queuestringopcionaltrue manda este envio para a fila da instância; false envia na hora. Sem o header, vale o modo da instância (delayMessage ou delayTyping no corpo também implicam fila).Corpo (JSON)
fileobjectobrigatóriocaptionstringopcionalchatIdstringopcional5511999999999) ou JID (…@c.us, …@g.us, …@lid). Pode ser enviado como phone.delayMessagenumberopcionaldelayTypingnumberopcionalmentionsarray de stringopcionalphonestringopcionalchatId: número com DDI e DDD.reply_tostringopcionalcurl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/messages/image" \
-H "X-Instance-Token: $ONZAP_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"caption": "Confira o catálogo",
"chatId": "5511999999999",
"file": {
"mimetype": "image/jpeg",
"url": "https://exemplo.com.br/arquivos/catalogo.jpg"
}
}'Mensagem enviada
{
"chatId": "[email protected]",
"id": "[email protected]_3EB0C0A1B2C3D4E5F6",
"status": "sent"
}Enviar arquivo
/v1/instances/{instanceId}/messages/fileQualquer tipo de documento. Envie file.url ou file.data (base64), com file.filename e file.mimetype.
Na API oficial: até 100 MB.
Aceita delayMessage e delayTyping no corpo e o header X-Queue (veja Fila de mensagens na introdução). Enviada na hora, responde 201/200; enfileirada, 202.
Headers
X-Queuestringopcionaltrue manda este envio para a fila da instância; false envia na hora. Sem o header, vale o modo da instância (delayMessage ou delayTyping no corpo também implicam fila).Corpo (JSON)
fileobjectobrigatóriocaptionstringopcionalchatIdstringopcional5511999999999) ou JID (…@c.us, …@g.us, …@lid). Pode ser enviado como phone.delayMessagenumberopcionaldelayTypingnumberopcionalmentionsarray de stringopcionalphonestringopcionalchatId: número com DDI e DDD.reply_tostringopcionalcurl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/messages/file" \
-H "X-Instance-Token: $ONZAP_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"caption": "Segue o boleto",
"chatId": "5511999999999",
"file": {
"filename": "boleto.pdf",
"mimetype": "application/pdf",
"url": "https://exemplo.com.br/arquivos/boleto.pdf"
}
}'Mensagem enviada
{
"chatId": "[email protected]",
"id": "[email protected]_3EB0C0A1B2C3D4E5F6",
"status": "sent"
}Enviar áudio de voz
/v1/instances/{instanceId}/messages/voiceAparece como áudio gravado (ptt). Use OGG/Opus; com convert: true o áudio é convertido automaticamente.
Na API oficial: OGG/Opus até 16 MB.
Aceita delayMessage e delayTyping no corpo e o header X-Queue (veja Fila de mensagens na introdução). Enviada na hora, responde 201/200; enfileirada, 202.
Headers
X-Queuestringopcionaltrue manda este envio para a fila da instância; false envia na hora. Sem o header, vale o modo da instância (delayMessage ou delayTyping no corpo também implicam fila).Corpo (JSON)
convertbooleanobrigatóriofileobjectobrigatóriochatIdstringopcional5511999999999) ou JID (…@c.us, …@g.us, …@lid). Pode ser enviado como phone.delayMessagenumberopcionaldelayTypingnumberopcionalphonestringopcionalchatId: número com DDI e DDD.reply_tostringopcionalcurl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/messages/voice" \
-H "X-Instance-Token: $ONZAP_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"chatId": "5511999999999",
"convert": true,
"file": {
"mimetype": "audio/mpeg",
"url": "https://exemplo.com.br/arquivos/audio.mp3"
}
}'Mensagem enviada
{
"chatId": "[email protected]",
"id": "[email protected]_3EB0C0A1B2C3D4E5F6",
"status": "sent"
}Enviar vídeo
/v1/instances/{instanceId}/messages/videoMP4 (H.264). Com convert: true o vídeo é convertido automaticamente; asNote: true envia como vídeo redondo.
Na API oficial: MP4 ou 3GP até 16 MB.
Aceita delayMessage e delayTyping no corpo e o header X-Queue (veja Fila de mensagens na introdução). Enviada na hora, responde 201/200; enfileirada, 202.
Headers
X-Queuestringopcionaltrue manda este envio para a fila da instância; false envia na hora. Sem o header, vale o modo da instância (delayMessage ou delayTyping no corpo também implicam fila).Corpo (JSON)
convertbooleanobrigatóriofileobjectobrigatórioasNotebooleanopcionalcaptionstringopcionalchatIdstringopcional5511999999999) ou JID (…@c.us, …@g.us, …@lid). Pode ser enviado como phone.delayMessagenumberopcionaldelayTypingnumberopcionalmentionsarray de stringopcionalphonestringopcionalchatId: número com DDI e DDD.reply_tostringopcionalcurl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/messages/video" \
-H "X-Instance-Token: $ONZAP_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"caption": "Tutorial",
"chatId": "5511999999999",
"convert": true,
"file": {
"mimetype": "video/mp4",
"url": "https://exemplo.com.br/arquivos/video.mp4"
}
}'Mensagem enviada
{
"chatId": "[email protected]",
"id": "[email protected]_3EB0C0A1B2C3D4E5F6",
"status": "sent"
}Enviar figurinha
/v1/instances/{instanceId}/messages/stickerNa API oficial: WEBP (512×512).
Aceita delayMessage e delayTyping no corpo e o header X-Queue (veja Fila de mensagens na introdução). Enviada na hora, responde 201/200; enfileirada, 202.
Headers
X-Queuestringopcionaltrue manda este envio para a fila da instância; false envia na hora. Sem o header, vale o modo da instância (delayMessage ou delayTyping no corpo também implicam fila).Corpo (JSON)
fileobjectobrigatóriochatIdstringopcional5511999999999) ou JID (…@c.us, …@g.us, …@lid). Pode ser enviado como phone.delayMessagenumberopcionaldelayTypingnumberopcionalphonestringopcionalchatId: número com DDI e DDD.reply_tostringopcionalcurl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/messages/sticker" \
-H "X-Instance-Token: $ONZAP_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"chatId": "5511999999999",
"file": {
"mimetype": "image/webp",
"url": "https://exemplo.com.br/arquivos/figurinha.webp"
}
}'Mensagem enviada
{
"chatId": "[email protected]",
"id": "[email protected]_3EB0C0A1B2C3D4E5F6",
"status": "sent"
}Enviar link com prévia personalizada
/v1/instances/{instanceId}/messages/link-previewNa API oficial: vira texto com prévia gerada pelo WhatsApp (a imagem personalizada é ignorada).
Aceita delayMessage e delayTyping no corpo e o header X-Queue (veja Fila de mensagens na introdução). Enviada na hora, responde 201/200; enfileirada, 202.
Headers
X-Queuestringopcionaltrue manda este envio para a fila da instância; false envia na hora. Sem o header, vale o modo da instância (delayMessage ou delayTyping no corpo também implicam fila).Corpo (JSON)
previewobjectobrigatóriopreview.descriptionstringobrigatóriopreview.titlestringobrigatóriopreview.urlstringobrigatóriopreview.imageobjectopcionaltextstringobrigatóriochatIdstringopcional5511999999999) ou JID (…@c.us, …@g.us, …@lid). Pode ser enviado como phone.delayMessagenumberopcionaldelayTypingnumberopcionallinkPreviewHighQualitybooleanopcionalphonestringopcionalchatId: número com DDI e DDD.reply_tostringopcionalcurl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/messages/link-preview" \
-H "X-Instance-Token: $ONZAP_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"chatId": "5511999999999",
"preview": {
"description": "Até 40% de desconto",
"title": "Promoção de primavera",
"url": "https://exemplo.com.br/promo"
},
"text": "Veja a promoção: https://exemplo.com.br/promo"
}'Mensagem enviada
{
"chatId": "[email protected]",
"id": "[email protected]_3EB0C0A1B2C3D4E5F6",
"status": "sent"
}Enviar lista de opções
/v1/instances/{instanceId}/messages/listNa API oficial: até 10 seções e 10 opções no total; título da opção até 24 caracteres.
Aceita delayMessage e delayTyping no corpo e o header X-Queue (veja Fila de mensagens na introdução). Enviada na hora, responde 201/200; enfileirada, 202.
Headers
X-Queuestringopcionaltrue manda este envio para a fila da instância; false envia na hora. Sem o header, vale o modo da instância (delayMessage ou delayTyping no corpo também implicam fila).Corpo (JSON)
messageobjectobrigatóriomessage.buttonstringobrigatóriomessage.sectionsarray de objectobrigatóriomessage.sections[].rowsarray de objectobrigatóriomessage.sections[].titlestringobrigatóriomessage.titlestringobrigatóriomessage.descriptionstringopcionalmessage.footerstringopcionalchatIdstringopcional5511999999999) ou JID (…@c.us, …@g.us, …@lid). Pode ser enviado como phone.delayMessagenumberopcionaldelayTypingnumberopcionalphonestringopcionalchatId: número com DDI e DDD.reply_tostringopcionalcurl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/messages/list" \
-H "X-Instance-Token: $ONZAP_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"chatId": "5511999999999",
"message": {
"button": "Ver opções",
"description": "Escolha uma opção",
"footer": "Pizzaria Exemplo",
"sections": [
{
"rows": [
{
"description": "R$ 49,90",
"rowId": "pizza_margherita",
"title": "Margherita"
},
{
"description": "R$ 52,90",
"rowId": "pizza_calabresa",
"title": "Calabresa"
}
],
"title": "Pizzas"
}
],
"title": "Cardápio"
}
}'Mensagem enviada
{
"chatId": "[email protected]",
"id": "[email protected]_3EB0C0A1B2C3D4E5F6",
"status": "sent"
}Enviar enquete
/v1/instances/{instanceId}/messages/pollAceita delayMessage e delayTyping no corpo e o header X-Queue (veja Fila de mensagens na introdução). Enviada na hora, responde 201/200; enfileirada, 202.
Headers
X-Queuestringopcionaltrue manda este envio para a fila da instância; false envia na hora. Sem o header, vale o modo da instância (delayMessage ou delayTyping no corpo também implicam fila).Corpo (JSON)
pollobjectobrigatóriopoll.multipleAnswersobjectobrigatóriopoll.namestringobrigatóriopoll.optionsarray de stringobrigatóriochatIdstringopcional5511999999999) ou JID (…@c.us, …@g.us, …@lid). Pode ser enviado como phone.delayMessagenumberopcionaldelayTypingnumberopcionalidstringopcionalphonestringopcionalchatId: número com DDI e DDD.reply_tostringopcionalcurl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/messages/poll" \
-H "X-Instance-Token: $ONZAP_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"chatId": "5511999999999",
"poll": {
"multipleAnswers": false,
"name": "Qual o melhor horário?",
"options": [
"Manhã",
"Tarde",
"Noite"
]
}
}'Mensagem enviada
{
"chatId": "[email protected]",
"id": "[email protected]_3EB0C0A1B2C3D4E5F6",
"status": "sent"
}Votar em enquete
/v1/instances/{instanceId}/messages/poll/voteCorpo (JSON)
pollMessageIdstringobrigatóriovotesarray de array de stringobrigatóriochatIdstringopcional5511999999999) ou JID (…@c.us, …@g.us, …@lid). Pode ser enviado como phone.phonestringopcionalchatId: número com DDI e DDD.pollServerIdnumberopcionalcurl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/messages/poll/vote" \
-H "X-Instance-Token: $ONZAP_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"pollMessageId": "[email protected]_AAAAAAAAAAAAAAAAAAAA",
"votes": [
"Awesome!"
]
}'Sucesso
Enviar localização
/v1/instances/{instanceId}/messages/locationNa API oficial: mesmo formato.
Aceita delayMessage e delayTyping no corpo e o header X-Queue (veja Fila de mensagens na introdução). Enviada na hora, responde 201/200; enfileirada, 202.
Headers
X-Queuestringopcionaltrue manda este envio para a fila da instância; false envia na hora. Sem o header, vale o modo da instância (delayMessage ou delayTyping no corpo também implicam fila).Corpo (JSON)
latitudenumberobrigatóriolongitudenumberobrigatóriotitlestringobrigatóriochatIdstringopcional5511999999999) ou JID (…@c.us, …@g.us, …@lid). Pode ser enviado como phone.delayMessagenumberopcionaldelayTypingnumberopcionalidstringopcionalphonestringopcionalchatId: número com DDI e DDD.reply_tostringopcionalcurl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/messages/location" \
-H "X-Instance-Token: $ONZAP_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"chatId": "5511999999999",
"latitude": -23.5613,
"longitude": -46.6565,
"title": "Nossa loja"
}'Mensagem enviada
{
"chatId": "[email protected]",
"id": "[email protected]_3EB0C0A1B2C3D4E5F6",
"status": "sent"
}Enviar contato (vCard)
/v1/instances/{instanceId}/messages/contact-vcardNa API oficial: cada contato precisa de fullName e phoneNumber (vCard cru não é aceito).
Aceita delayMessage e delayTyping no corpo e o header X-Queue (veja Fila de mensagens na introdução). Enviada na hora, responde 201/200; enfileirada, 202.
Headers
X-Queuestringopcionaltrue manda este envio para a fila da instância; false envia na hora. Sem o header, vale o modo da instância (delayMessage ou delayTyping no corpo também implicam fila).Corpo (JSON)
contactsarray de objectobrigatóriochatIdstringopcional5511999999999) ou JID (…@c.us, …@g.us, …@lid). Pode ser enviado como phone.delayMessagenumberopcionaldelayTypingnumberopcionalidstringopcionalphonestringopcionalchatId: número com DDI e DDD.reply_tostringopcionalcurl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/messages/contact-vcard" \
-H "X-Instance-Token: $ONZAP_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"chatId": "5511999999999",
"contacts": [
{
"fullName": "Maria Souza",
"organization": "Loja Exemplo",
"phoneNumber": "+55 11 98888-7777",
"whatsappId": "5511988887777"
}
]
}'Mensagem enviada
{
"chatId": "[email protected]",
"id": "[email protected]_3EB0C0A1B2C3D4E5F6",
"status": "sent"
}Encaminhar mensagem
/v1/instances/{instanceId}/messages/forwardAceita delayMessage e delayTyping no corpo e o header X-Queue (veja Fila de mensagens na introdução). Enviada na hora, responde 201/200; enfileirada, 202.
Headers
X-Queuestringopcionaltrue manda este envio para a fila da instância; false envia na hora. Sem o header, vale o modo da instância (delayMessage ou delayTyping no corpo também implicam fila).Corpo (JSON)
messageIdstringobrigatóriochatIdstringopcional5511999999999) ou JID (…@c.us, …@g.us, …@lid). Pode ser enviado como phone.delayMessagenumberopcionaldelayTypingnumberopcionalidstringopcionalphonestringopcionalchatId: número com DDI e DDD.curl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/messages/forward" \
-H "X-Instance-Token: $ONZAP_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"chatId": "5511999999999",
"messageId": "[email protected]_3EB0C0A1B2C3D4E5F6"
}'Mensagem enviada
{
"chatId": "[email protected]",
"id": "[email protected]_3EB0C0A1B2C3D4E5F6",
"status": "sent"
}Marcar mensagens como lidas
/v1/instances/{instanceId}/messages/seenMarca como lidas (tique azul) as mensagens da conversa.
Na API oficial: marca a mensagem informada (ou a última recebida) como lida.
Corpo (JSON)
chatIdstringopcional5511999999999) ou JID (…@c.us, …@g.us, …@lid). Pode ser enviado como phone.messageIdstringopcionalmessageIdsarray de stringopcionalparticipantstringopcionalphonestringopcionalchatId: número com DDI e DDD.curl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/messages/seen" \
-H "X-Instance-Token: $ONZAP_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"chatId": "5511999999999"
}'{}Reagir a mensagem
/v1/instances/{instanceId}/messages/reactionEmoji vazio ("") remove a reação.
Na API oficial: mesmo formato.
Corpo (JSON)
messageIdstringobrigatórioreactionstringobrigatóriocurl -X PUT "https://app.onzap.io/v1/instances/SUA_INSTANCIA/messages/reaction" \
-H "X-Instance-Token: $ONZAP_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"messageId": "[email protected]_3EB0C0A1B2C3D4E5F6",
"reaction": "👍"
}'Sucesso · API oficial: mensagem aceita pela Meta
{
"chatId": "[email protected]",
"id": "3EB0C0A1B2C3D4E5F6",
"status": "ok"
}curl "https://app.onzap.io/v1/instances/SUA_INSTANCIA/messages/new-id" \
-H "X-Instance-Token: $ONZAP_TOKEN"{
"id": "BBBBBBBBBBBBBBBBB"
}Enviar evento (agenda)
/v1/instances/{instanceId}/messages/eventAceita delayMessage e delayTyping no corpo e o header X-Queue (veja Fila de mensagens na introdução). Enviada na hora, responde 201/200; enfileirada, 202.
Headers
X-Queuestringopcionaltrue manda este envio para a fila da instância; false envia na hora. Sem o header, vale o modo da instância (delayMessage ou delayTyping no corpo também implicam fila).Corpo (JSON)
eventobjectobrigatórioevent.namestringobrigatórioevent.startTimenumberobrigatórioevent.descriptionstringopcionalevent.endTimenumberopcionalevent.extraGuestsAllowedbooleanopcionalevent.locationobjectopcionalevent.location.namestringobrigatóriochatIdstringopcional5511999999999) ou JID (…@c.us, …@g.us, …@lid). Pode ser enviado como phone.delayMessagenumberopcionaldelayTypingnumberopcionalphonestringopcionalchatId: número com DDI e DDD.reply_tostringopcionalcurl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/messages/event" \
-H "X-Instance-Token: $ONZAP_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"event": {
"name": "John'\''s Nail Appointment 💅",
"startTime": 2063137000
}
}'Mensagem enviada
{
"chatId": "[email protected]",
"id": "[email protected]_3EB0C0A1B2C3D4E5F6",
"status": "sent"
}Começar a digitar
/v1/instances/{instanceId}/typing/startMostra "digitando…" na conversa até POST /typing/stop ou o envio da próxima mensagem.
Na API oficial: só funciona em resposta a uma mensagem recebida nas últimas 24 h; dura até 25 s ou até a resposta.
Corpo (JSON)
chatIdstringopcional5511999999999) ou JID (…@c.us, …@g.us, …@lid). Pode ser enviado como phone.phonestringopcionalchatId: número com DDI e DDD.curl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/typing/start" \
-H "X-Instance-Token: $ONZAP_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"chatId": "5511999999999"
}'Sucesso
Parar de digitar
/v1/instances/{instanceId}/typing/stopNa API oficial: a Meta remove o "digitando…" sozinha ao enviar a resposta.
Corpo (JSON)
chatIdstringopcional5511999999999) ou JID (…@c.us, …@g.us, …@lid). Pode ser enviado como phone.phonestringopcionalchatId: número com DDI e DDD.curl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/typing/stop" \
-H "X-Instance-Token: $ONZAP_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"chatId": "5511999999999"
}'Sucesso
Enviar template
/v1/instances/{instanceId}/messages/templateÚnica forma de iniciar conversa (ou falar fora da janela de 24 h) na API oficial. Preencha os parâmetros de forma simples (header, body, buttons) ou mande components no formato da Cloud API.
Aceita delayMessage e delayTyping no corpo e o header X-Queue (veja Fila de mensagens na introdução). Enviada na hora, responde 201/200; enfileirada, 202.
Headers
X-Queuestringopcionaltrue manda este envio para a fila da instância; false envia na hora. Sem o header, vale o modo da instância (delayMessage ou delayTyping no corpo também implicam fila).Corpo (JSON)
templatestringobrigatórioname).bodyarray de string | objectopcional{{1}}, {{2}}… ou objeto para variáveis nomeadas ({{nome}}).buttonsarray de objectopcionalbuttons[].indexintegerobrigatóriobuttons[].couponCodestringopcionalbuttons[].payloadstringopcionalbuttons[].urlstringopcionalchatIdstringopcional5511999999999) ou …@bsuid. Pode ser enviado como phone.componentsarray de objectopcionalheader, body e buttons são ignorados.delayMessagenumberopcionaldelayTypingnumberopcionalheaderobjectopcionalheader.documentstringopcionalheader.filenamestringopcionalheader.imagestringopcionalheader.textstringopcionalheader.videostringopcionallanguagestringopcionalphonestringopcionalchatId.reply_tostringopcionalcurl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/messages/template" \
-H "X-Instance-Token: $ONZAP_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"body": [
"Maria",
"#1234"
],
"chatId": "5511999999999",
"language": "pt_BR",
"template": "pedido_enviado"
}'Mensagem aceita pela Meta
{
"chatId": "[email protected]",
"id": "[email protected]_3EB0C0A1B2C3D4E5F6",
"status": "sent"
}Enviar mensagem interativa (formato da Meta)
/v1/instances/{instanceId}/messages/interactivePara recursos interativos que /messages/buttons e /messages/list não cobrem (ex.: cta_url com cabeçalho, location_request_message, flow). O objeto interactive vai como na Cloud API.
Aceita delayMessage e delayTyping no corpo e o header X-Queue (veja Fila de mensagens na introdução). Enviada na hora, responde 201/200; enfileirada, 202.
Headers
X-Queuestringopcionaltrue manda este envio para a fila da instância; false envia na hora. Sem o header, vale o modo da instância (delayMessage ou delayTyping no corpo também implicam fila).Corpo (JSON)
interactiveobjectobrigatóriointeractive da Cloud API.chatIdstringopcional5511999999999) ou …@bsuid. Pode ser enviado como phone.delayMessagenumberopcionaldelayTypingnumberopcionalphonestringopcionalchatId.reply_tostringopcionalcurl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/messages/interactive" \
-H "X-Instance-Token: $ONZAP_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"interactive": {}
}'Mensagem aceita pela Meta
{
"chatId": "[email protected]",
"id": "[email protected]_3EB0C0A1B2C3D4E5F6",
"status": "sent"
}