Mensagens
Todos os endpoints de envio requerem autenticacao via header x-api-key e identificacao da sessao via header x-instance.
O campo to aceita:
- Numero individual:
5511999999999@s.whatsapp.net - Grupo:
120363000000000000@g.us
Send Text
Seção intitulada “Send Text”POST /chat/send/text
Envia uma mensagem de texto simples. Suporta mencoes e resposta a mensagens anteriores.
Parameters
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
to | string | Sim | JID do destinatario |
text | string | Sim | Conteudo da mensagem |
mentions | string[] | Nao | Lista de JIDs mencionados no texto |
replyTo | string | Nao | ID da mensagem sendo respondida |
Request
curl -X POST https://api.wi.api.br/chat/send/text \ -H "x-api-key: $WIAPI_KEY" \ -H "x-instance: session_01" \ -H "Content-Type: application/json" \ -d '{ "to": "5511998765432@s.whatsapp.net", "text": "Ola, tudo bem? Seu pedido #4521 foi enviado." }'const response = await fetch("https://api.wi.api.br/chat/send/text", { method: "POST", headers: { "x-api-key": process.env.WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, body: JSON.stringify({ to: "5511998765432@s.whatsapp.net", text: "Ola, tudo bem? Seu pedido #4521 foi enviado.", }),});
const data = await response.json();import requests
response = requests.post( "https://api.wi.api.br/chat/send/text", headers={ "x-api-key": WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, json={ "to": "5511998765432@s.whatsapp.net", "text": "Ola, tudo bem? Seu pedido #4521 foi enviado.", },)
data = response.json()Response
{ "messageId": "3EB0B430A6F7DC0E2E6B12", "messageid": "3EB0B430A6F7DC0E2E6B12"}Send Image
Seção intitulada “Send Image”POST /chat/send/image
Envia uma imagem a partir de URL publica. Suporta legenda, mencoes e resposta.
Parameters
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
to | string | Sim | JID do destinatario |
image | string | Sim | URL publica da imagem |
caption | string | Nao | Legenda da imagem |
mimetype | string | Nao | MIME type (ex: image/jpeg) |
mentions | string[] | Nao | Lista de JIDs mencionados |
replyTo | string | Nao | ID da mensagem sendo respondida |
Request
curl -X POST https://api.wi.api.br/chat/send/image \ -H "x-api-key: $WIAPI_KEY" \ -H "x-instance: session_01" \ -H "Content-Type: application/json" \ -d '{ "to": "5511998765432@s.whatsapp.net", "image": "https://cdn.minhaempresa.com.br/produtos/camiseta-azul.jpg", "caption": "Camiseta Azul - Tamanho M - R$ 89,90" }'const response = await fetch("https://api.wi.api.br/chat/send/image", { method: "POST", headers: { "x-api-key": process.env.WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, body: JSON.stringify({ to: "5511998765432@s.whatsapp.net", image: "https://cdn.minhaempresa.com.br/produtos/camiseta-azul.jpg", caption: "Camiseta Azul - Tamanho M - R$ 89,90", }),});
const data = await response.json();import requests
response = requests.post( "https://api.wi.api.br/chat/send/image", headers={ "x-api-key": WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, json={ "to": "5511998765432@s.whatsapp.net", "image": "https://cdn.minhaempresa.com.br/produtos/camiseta-azul.jpg", "caption": "Camiseta Azul - Tamanho M - R$ 89,90", },)
data = response.json()Response
{ "messageId": "3EB0C1A2B3D4E5F607A819", "messageid": "3EB0C1A2B3D4E5F607A819"}Send Audio
Seção intitulada “Send Audio”POST /chat/send/audio
Envia um arquivo de audio. Com ptt: true, aparece como mensagem de voz (bolinha verde).
Parameters
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
to | string | Sim | JID do destinatario |
audio | string | Sim | URL publica do audio |
ptt | boolean | Nao | Se true, envia como mensagem de voz |
replyTo | string | Nao | ID da mensagem sendo respondida |
Request
curl -X POST https://api.wi.api.br/chat/send/audio \ -H "x-api-key: $WIAPI_KEY" \ -H "x-instance: session_01" \ -H "Content-Type: application/json" \ -d '{ "to": "5511998765432@s.whatsapp.net", "audio": "https://cdn.minhaempresa.com.br/audios/confirmacao-pedido.ogg", "ptt": true }'const response = await fetch("https://api.wi.api.br/chat/send/audio", { method: "POST", headers: { "x-api-key": process.env.WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, body: JSON.stringify({ to: "5511998765432@s.whatsapp.net", audio: "https://cdn.minhaempresa.com.br/audios/confirmacao-pedido.ogg", ptt: true, }),});
const data = await response.json();import requests
response = requests.post( "https://api.wi.api.br/chat/send/audio", headers={ "x-api-key": WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, json={ "to": "5511998765432@s.whatsapp.net", "audio": "https://cdn.minhaempresa.com.br/audios/confirmacao-pedido.ogg", "ptt": True, },)
data = response.json()Response
{ "messageId": "3EB0D2E3F4A5B6C708D920", "messageid": "3EB0D2E3F4A5B6C708D920"}Send Video
Seção intitulada “Send Video”POST /chat/send/video
Envia um video a partir de URL publica. Suporta legenda e mencoes.
Parameters
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
to | string | Sim | JID do destinatario |
video | string | Sim | URL publica do video |
caption | string | Nao | Legenda do video |
mentions | string[] | Nao | Lista de JIDs mencionados |
replyTo | string | Nao | ID da mensagem sendo respondida |
Request
curl -X POST https://api.wi.api.br/chat/send/video \ -H "x-api-key: $WIAPI_KEY" \ -H "x-instance: session_01" \ -H "Content-Type: application/json" \ -d '{ "to": "5511998765432@s.whatsapp.net", "video": "https://cdn.minhaempresa.com.br/videos/tutorial-produto.mp4", "caption": "Tutorial de uso do produto" }'const response = await fetch("https://api.wi.api.br/chat/send/video", { method: "POST", headers: { "x-api-key": process.env.WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, body: JSON.stringify({ to: "5511998765432@s.whatsapp.net", video: "https://cdn.minhaempresa.com.br/videos/tutorial-produto.mp4", caption: "Tutorial de uso do produto", }),});
const data = await response.json();import requests
response = requests.post( "https://api.wi.api.br/chat/send/video", headers={ "x-api-key": WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, json={ "to": "5511998765432@s.whatsapp.net", "video": "https://cdn.minhaempresa.com.br/videos/tutorial-produto.mp4", "caption": "Tutorial de uso do produto", },)
data = response.json()Response
{ "messageId": "3EB0E3F4A5B6C7D809EA21", "messageid": "3EB0E3F4A5B6C7D809EA21"}Send Document
Seção intitulada “Send Document”POST /chat/send/document
Envia um documento (PDF, planilha, etc.) com nome de arquivo personalizado.
Parameters
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
to | string | Sim | JID do destinatario |
document | string | Sim | URL publica do documento |
filename | string | Sim | Nome do arquivo exibido ao destinatario |
mimetype | string | Nao | MIME type (ex: application/pdf) |
mentions | string[] | Nao | Lista de JIDs mencionados |
replyTo | string | Nao | ID da mensagem sendo respondida |
Request
curl -X POST https://api.wi.api.br/chat/send/document \ -H "x-api-key: $WIAPI_KEY" \ -H "x-instance: session_01" \ -H "Content-Type: application/json" \ -d '{ "to": "5511998765432@s.whatsapp.net", "document": "https://cdn.minhaempresa.com.br/docs/orcamento-2026.pdf", "filename": "orcamento-2026.pdf" }'const response = await fetch("https://api.wi.api.br/chat/send/document", { method: "POST", headers: { "x-api-key": process.env.WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, body: JSON.stringify({ to: "5511998765432@s.whatsapp.net", document: "https://cdn.minhaempresa.com.br/docs/orcamento-2026.pdf", filename: "orcamento-2026.pdf", }),});
const data = await response.json();import requests
response = requests.post( "https://api.wi.api.br/chat/send/document", headers={ "x-api-key": WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, json={ "to": "5511998765432@s.whatsapp.net", "document": "https://cdn.minhaempresa.com.br/docs/orcamento-2026.pdf", "filename": "orcamento-2026.pdf", },)
data = response.json()Response
{ "messageId": "3EB0F4A5B6C7D8E90AFB22", "messageid": "3EB0F4A5B6C7D8E90AFB22"}Send Sticker
Seção intitulada “Send Sticker”POST /chat/send/sticker
Envia um sticker (figurinha) a partir de URL de imagem WebP.
Parameters
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
to | string | Sim | JID do destinatario |
sticker | string | Sim | URL publica do sticker (formato WebP) |
Request
curl -X POST https://api.wi.api.br/chat/send/sticker \ -H "x-api-key: $WIAPI_KEY" \ -H "x-instance: session_01" \ -H "Content-Type: application/json" \ -d '{ "to": "5511998765432@s.whatsapp.net", "sticker": "https://cdn.minhaempresa.com.br/stickers/obrigado.webp" }'const response = await fetch("https://api.wi.api.br/chat/send/sticker", { method: "POST", headers: { "x-api-key": process.env.WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, body: JSON.stringify({ to: "5511998765432@s.whatsapp.net", sticker: "https://cdn.minhaempresa.com.br/stickers/obrigado.webp", }),});
const data = await response.json();import requests
response = requests.post( "https://api.wi.api.br/chat/send/sticker", headers={ "x-api-key": WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, json={ "to": "5511998765432@s.whatsapp.net", "sticker": "https://cdn.minhaempresa.com.br/stickers/obrigado.webp", },)
data = response.json()Response
{ "messageId": "3EB0A5B6C7D8E9F00B1C23", "messageid": "3EB0A5B6C7D8E9F00B1C23"}Send Location
Seção intitulada “Send Location”POST /chat/send/location
Envia uma localizacao com coordenadas e nome do local.
Parameters
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
to | string | Sim | JID do destinatario |
latitude | number | Sim | Latitude do local |
longitude | number | Sim | Longitude do local |
name | string | Nao | Nome exibido no mapa |
Request
curl -X POST https://api.wi.api.br/chat/send/location \ -H "x-api-key: $WIAPI_KEY" \ -H "x-instance: session_01" \ -H "Content-Type: application/json" \ -d '{ "to": "5511998765432@s.whatsapp.net", "latitude": -23.5505, "longitude": -46.6333, "name": "Av. Paulista, 1000 - Sao Paulo" }'const response = await fetch("https://api.wi.api.br/chat/send/location", { method: "POST", headers: { "x-api-key": process.env.WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, body: JSON.stringify({ to: "5511998765432@s.whatsapp.net", latitude: -23.5505, longitude: -46.6333, name: "Av. Paulista, 1000 - Sao Paulo", }),});
const data = await response.json();import requests
response = requests.post( "https://api.wi.api.br/chat/send/location", headers={ "x-api-key": WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, json={ "to": "5511998765432@s.whatsapp.net", "latitude": -23.5505, "longitude": -46.6333, "name": "Av. Paulista, 1000 - Sao Paulo", },)
data = response.json()Response
{ "messageId": "3EB0B6C7D8E9F0A10C2D24", "messageid": "3EB0B6C7D8E9F0A10C2D24"}Send Contact
Seção intitulada “Send Contact”POST /chat/send/contact
Envia um cartao de contato (vCard).
Parameters
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
to | string | Sim | JID do destinatario |
name | string | Sim | Nome exibido do contato |
vcard | string | Sim | Conteudo vCard completo |
Request
curl -X POST https://api.wi.api.br/chat/send/contact \ -H "x-api-key: $WIAPI_KEY" \ -H "x-instance: session_01" \ -H "Content-Type: application/json" \ -d '{ "to": "5511998765432@s.whatsapp.net", "name": "Maria Oliveira", "vcard": "BEGIN:VCARD\nVERSION:3.0\nFN:Maria Oliveira\nTEL;type=CELL:+5521987654321\nEND:VCARD" }'const response = await fetch("https://api.wi.api.br/chat/send/contact", { method: "POST", headers: { "x-api-key": process.env.WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, body: JSON.stringify({ to: "5511998765432@s.whatsapp.net", name: "Maria Oliveira", vcard: "BEGIN:VCARD\nVERSION:3.0\nFN:Maria Oliveira\nTEL;type=CELL:+5521987654321\nEND:VCARD", }),});
const data = await response.json();import requests
response = requests.post( "https://api.wi.api.br/chat/send/contact", headers={ "x-api-key": WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, json={ "to": "5511998765432@s.whatsapp.net", "name": "Maria Oliveira", "vcard": "BEGIN:VCARD\nVERSION:3.0\nFN:Maria Oliveira\nTEL;type=CELL:+5521987654321\nEND:VCARD", },)
data = response.json()Response
{ "messageId": "3EB0C7D8E9F0A1B20D3E25", "messageid": "3EB0C7D8E9F0A1B20D3E25"}Send Poll
Seção intitulada “Send Poll”POST /chat/send/poll
Envia uma enquete com opcoes de resposta.
Parameters
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
to | string | Sim | JID do destinatario |
question | string | Sim | Pergunta da enquete |
options | string[] | Sim | Lista de opcoes (min 2, max 12) |
maxAnswers | number | Nao | Maximo de respostas por pessoa (default: 1) |
Request
curl -X POST https://api.wi.api.br/chat/send/poll \ -H "x-api-key: $WIAPI_KEY" \ -H "x-instance: session_01" \ -H "Content-Type: application/json" \ -d '{ "to": "120363041524927604@g.us", "question": "Melhor horario para a reuniao?", "options": ["09:00", "14:00", "16:00"], "maxAnswers": 1 }'const response = await fetch("https://api.wi.api.br/chat/send/poll", { method: "POST", headers: { "x-api-key": process.env.WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, body: JSON.stringify({ to: "120363041524927604@g.us", question: "Melhor horario para a reuniao?", options: ["09:00", "14:00", "16:00"], maxAnswers: 1, }),});
const data = await response.json();import requests
response = requests.post( "https://api.wi.api.br/chat/send/poll", headers={ "x-api-key": WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, json={ "to": "120363041524927604@g.us", "question": "Melhor horario para a reuniao?", "options": ["09:00", "14:00", "16:00"], "maxAnswers": 1, },)
data = response.json()Response
{ "messageId": "3EB0D8E9F0A1B2C30E4F26", "messageid": "3EB0D8E9F0A1B2C30E4F26"}Send Buttons
Seção intitulada “Send Buttons”POST /chat/send/buttons
Envia uma mensagem interativa com botoes de resposta rapida.
Parameters
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
to | string | Sim | JID do destinatario |
body | string | Sim | Texto principal da mensagem |
footer | string | Nao | Texto do rodape |
buttons | object[] | Sim | Lista de botoes (max 3) |
buttons[].id | string | Sim | Identificador unico do botao |
buttons[].text | string | Sim | Texto exibido no botao |
Request
curl -X POST https://api.wi.api.br/chat/send/buttons \ -H "x-api-key: $WIAPI_KEY" \ -H "x-instance: session_01" \ -H "Content-Type: application/json" \ -d '{ "to": "5511998765432@s.whatsapp.net", "body": "Seu pedido #4521 esta pronto. O que deseja fazer?", "footer": "Responda em ate 24h", "buttons": [ { "id": "confirmar", "text": "Confirmar entrega" }, { "id": "reagendar", "text": "Reagendar" }, { "id": "cancelar", "text": "Cancelar pedido" } ] }'const response = await fetch("https://api.wi.api.br/chat/send/buttons", { method: "POST", headers: { "x-api-key": process.env.WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, body: JSON.stringify({ to: "5511998765432@s.whatsapp.net", body: "Seu pedido #4521 esta pronto. O que deseja fazer?", footer: "Responda em ate 24h", buttons: [ { id: "confirmar", text: "Confirmar entrega" }, { id: "reagendar", text: "Reagendar" }, { id: "cancelar", text: "Cancelar pedido" }, ], }),});
const data = await response.json();import requests
response = requests.post( "https://api.wi.api.br/chat/send/buttons", headers={ "x-api-key": WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, json={ "to": "5511998765432@s.whatsapp.net", "body": "Seu pedido #4521 esta pronto. O que deseja fazer?", "footer": "Responda em ate 24h", "buttons": [ {"id": "confirmar", "text": "Confirmar entrega"}, {"id": "reagendar", "text": "Reagendar"}, {"id": "cancelar", "text": "Cancelar pedido"}, ], },)
data = response.json()Response
{ "messageId": "3EB0E9F0A1B2C3D40F5A27", "messageid": "3EB0E9F0A1B2C3D40F5A27"}Send List
Seção intitulada “Send List”POST /chat/send/list
Envia uma mensagem com lista de opcoes organizadas em secoes.
Parameters
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
to | string | Sim | JID do destinatario |
title | string | Sim | Titulo da mensagem |
body | string | Sim | Texto principal |
footer | string | Nao | Texto do rodape |
buttonText | string | Sim | Texto do botao que abre a lista |
sections | object[] | Sim | Secoes com itens da lista |
sections[].title | string | Sim | Titulo da secao |
sections[].rows | object[] | Sim | Itens da secao |
sections[].rows[].id | string | Sim | Identificador unico do item |
sections[].rows[].title | string | Sim | Titulo do item |
sections[].rows[].description | string | Nao | Descricao do item |
Request
curl -X POST https://api.wi.api.br/chat/send/list \ -H "x-api-key: $WIAPI_KEY" \ -H "x-instance: session_01" \ -H "Content-Type: application/json" \ -d '{ "to": "5511998765432@s.whatsapp.net", "title": "Catalogo de Produtos", "body": "Selecione um produto para mais detalhes", "footer": "Precos sujeitos a alteracao", "buttonText": "Ver produtos", "sections": [ { "title": "Camisetas", "rows": [ { "id": "cam_001", "title": "Camiseta Basica", "description": "100% algodao - R$ 49,90" }, { "id": "cam_002", "title": "Camiseta Premium", "description": "Pima cotton - R$ 89,90" } ] }, { "title": "Calcas", "rows": [ { "id": "cal_001", "title": "Calca Jeans Slim", "description": "Stretch - R$ 149,90" } ] } ] }'const response = await fetch("https://api.wi.api.br/chat/send/list", { method: "POST", headers: { "x-api-key": process.env.WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, body: JSON.stringify({ to: "5511998765432@s.whatsapp.net", title: "Catalogo de Produtos", body: "Selecione um produto para mais detalhes", footer: "Precos sujeitos a alteracao", buttonText: "Ver produtos", sections: [ { title: "Camisetas", rows: [ { id: "cam_001", title: "Camiseta Basica", description: "100% algodao - R$ 49,90" }, { id: "cam_002", title: "Camiseta Premium", description: "Pima cotton - R$ 89,90" }, ], }, { title: "Calcas", rows: [ { id: "cal_001", title: "Calca Jeans Slim", description: "Stretch - R$ 149,90" }, ], }, ], }),});
const data = await response.json();import requests
response = requests.post( "https://api.wi.api.br/chat/send/list", headers={ "x-api-key": WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, json={ "to": "5511998765432@s.whatsapp.net", "title": "Catalogo de Produtos", "body": "Selecione um produto para mais detalhes", "footer": "Precos sujeitos a alteracao", "buttonText": "Ver produtos", "sections": [ { "title": "Camisetas", "rows": [ {"id": "cam_001", "title": "Camiseta Basica", "description": "100% algodao - R$ 49,90"}, {"id": "cam_002", "title": "Camiseta Premium", "description": "Pima cotton - R$ 89,90"}, ], }, { "title": "Calcas", "rows": [ {"id": "cal_001", "title": "Calca Jeans Slim", "description": "Stretch - R$ 149,90"}, ], }, ], },)
data = response.json()Response
{ "messageId": "3EB0F0A1B2C3D4E50A6B28", "messageid": "3EB0F0A1B2C3D4E50A6B28"}Send Link
Seção intitulada “Send Link”POST /chat/send/link
Envia uma mensagem com preview de link (Open Graph).
Parameters
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
to | string | Sim | JID do destinatario |
url | string | Sim | URL do link |
caption | string | Nao | Texto adicional exibido acima do preview |
title | string | Nao | Titulo do preview (sobrescreve OG title) |
description | string | Nao | Descricao do preview (sobrescreve OG description) |
Request
curl -X POST https://api.wi.api.br/chat/send/link \ -H "x-api-key: $WIAPI_KEY" \ -H "x-instance: session_01" \ -H "Content-Type: application/json" \ -d '{ "to": "5511998765432@s.whatsapp.net", "url": "https://minhaempresa.com.br/produtos/camiseta-azul", "caption": "Confira nosso lancamento!", "title": "Camiseta Azul Premium", "description": "100% algodao pima, disponivel em todos os tamanhos" }'const response = await fetch("https://api.wi.api.br/chat/send/link", { method: "POST", headers: { "x-api-key": process.env.WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, body: JSON.stringify({ to: "5511998765432@s.whatsapp.net", url: "https://minhaempresa.com.br/produtos/camiseta-azul", caption: "Confira nosso lancamento!", title: "Camiseta Azul Premium", description: "100% algodao pima, disponivel em todos os tamanhos", }),});
const data = await response.json();import requests
response = requests.post( "https://api.wi.api.br/chat/send/link", headers={ "x-api-key": WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, json={ "to": "5511998765432@s.whatsapp.net", "url": "https://minhaempresa.com.br/produtos/camiseta-azul", "caption": "Confira nosso lancamento!", "title": "Camiseta Azul Premium", "description": "100% algodao pima, disponivel em todos os tamanhos", },)
data = response.json()Response
{ "messageId": "3EB0A1B2C3D4E5F60B7C29", "messageid": "3EB0A1B2C3D4E5F60B7C29"}Send Edit
Seção intitulada “Send Edit”POST /chat/send/edit
Edita o texto de uma mensagem ja enviada.
Parameters
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
to | string | Sim | JID do chat onde a mensagem foi enviada |
id | string | Sim | ID da mensagem original a ser editada |
text | string | Sim | Novo conteudo da mensagem |
Request
curl -X POST https://api.wi.api.br/chat/send/edit \ -H "x-api-key: $WIAPI_KEY" \ -H "x-instance: session_01" \ -H "Content-Type: application/json" \ -d '{ "to": "5511998765432@s.whatsapp.net", "id": "3EB0B430A6F7DC0E2E6B12", "text": "Correcao: seu pedido #4521 sera entregue amanha." }'const response = await fetch("https://api.wi.api.br/chat/send/edit", { method: "POST", headers: { "x-api-key": process.env.WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, body: JSON.stringify({ to: "5511998765432@s.whatsapp.net", id: "3EB0B430A6F7DC0E2E6B12", text: "Correcao: seu pedido #4521 sera entregue amanha.", }),});
const data = await response.json();import requests
response = requests.post( "https://api.wi.api.br/chat/send/edit", headers={ "x-api-key": WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, json={ "to": "5511998765432@s.whatsapp.net", "id": "3EB0B430A6F7DC0E2E6B12", "text": "Correcao: seu pedido #4521 sera entregue amanha.", },)
data = response.json()Response
{ "messageId": "3EB0B430A6F7DC0E2E6B12", "messageid": "3EB0B430A6F7DC0E2E6B12"}Send PTV
Seção intitulada “Send PTV”POST /chat/send/ptv
Envia um video em formato circular (PTV, video note). Aparece como bolha redonda no chat.
Parameters
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
to | string | Sim | JID do destinatario |
video | string | Sim | URL publica do video |
Request
curl -X POST https://api.wi.api.br/chat/send/ptv \ -H "x-api-key: $WIAPI_KEY" \ -H "x-instance: session_01" \ -H "Content-Type: application/json" \ -d '{ "to": "5511998765432@s.whatsapp.net", "video": "https://cdn.minhaempresa.com.br/videos/saudacao-cliente.mp4" }'const response = await fetch("https://api.wi.api.br/chat/send/ptv", { method: "POST", headers: { "x-api-key": process.env.WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, body: JSON.stringify({ to: "5511998765432@s.whatsapp.net", video: "https://cdn.minhaempresa.com.br/videos/saudacao-cliente.mp4", }),});
const data = await response.json();import requests
response = requests.post( "https://api.wi.api.br/chat/send/ptv", headers={ "x-api-key": WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, json={ "to": "5511998765432@s.whatsapp.net", "video": "https://cdn.minhaempresa.com.br/videos/saudacao-cliente.mp4", },)
data = response.json()Response
{ "messageId": "3EB0B2C3D4E5F6A70C8D30", "messageid": "3EB0B2C3D4E5F6A70C8D30"}Send Carousel
Seção intitulada “Send Carousel”POST /chat/send/carousel
Envia um carrossel de cards com imagem, texto e botoes. Cada card pode ter botoes de resposta rapida ou URL.
Parameters
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
to | string | Sim | JID do destinatario |
message | string | Sim | Texto principal acima do carrossel |
carousel | object[] | Sim | Lista de cards do carrossel |
carousel[].text | string | Nao | Texto do card |
carousel[].mediaUrl | string | Nao | URL da midia do card |
carousel[].mediaType | string | Nao | Tipo de midia (image, video) |
carousel[].filename | string | Nao | Nome do arquivo de midia |
carousel[].caption | string | Nao | Legenda da midia |
carousel[].buttons | object[] | Nao | Botoes do card |
carousel[].buttons[].type | string | Sim | Tipo do botao (quick_reply ou url) |
carousel[].buttons[].id | string | Nao | ID do botao (para quick_reply) |
carousel[].buttons[].label | string | Sim | Texto do botao |
carousel[].buttons[].url | string | Nao | URL de destino (para url) |
Request
curl -X POST https://api.wi.api.br/chat/send/carousel \ -H "x-api-key: $WIAPI_KEY" \ -H "x-instance: session_01" \ -H "Content-Type: application/json" \ -d '{ "to": "5511998765432@s.whatsapp.net", "message": "Confira nossos destaques da semana:", "carousel": [ { "text": "Camiseta Premium", "mediaUrl": "https://cdn.minhaempresa.com.br/produtos/camiseta.jpg", "mediaType": "image", "buttons": [ { "type": "quick_reply", "id": "buy_cam", "label": "Comprar" }, { "type": "url", "label": "Ver detalhes", "url": "https://minhaempresa.com.br/p/camiseta" } ] }, { "text": "Calca Jeans Slim", "mediaUrl": "https://cdn.minhaempresa.com.br/produtos/calca.jpg", "mediaType": "image", "buttons": [ { "type": "quick_reply", "id": "buy_cal", "label": "Comprar" } ] } ] }'const response = await fetch("https://api.wi.api.br/chat/send/carousel", { method: "POST", headers: { "x-api-key": process.env.WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, body: JSON.stringify({ to: "5511998765432@s.whatsapp.net", message: "Confira nossos destaques da semana:", carousel: [ { text: "Camiseta Premium", mediaUrl: "https://cdn.minhaempresa.com.br/produtos/camiseta.jpg", mediaType: "image", buttons: [ { type: "quick_reply", id: "buy_cam", label: "Comprar" }, { type: "url", label: "Ver detalhes", url: "https://minhaempresa.com.br/p/camiseta" }, ], }, { text: "Calca Jeans Slim", mediaUrl: "https://cdn.minhaempresa.com.br/produtos/calca.jpg", mediaType: "image", buttons: [ { type: "quick_reply", id: "buy_cal", label: "Comprar" }, ], }, ], }),});
const data = await response.json();import requests
response = requests.post( "https://api.wi.api.br/chat/send/carousel", headers={ "x-api-key": WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, json={ "to": "5511998765432@s.whatsapp.net", "message": "Confira nossos destaques da semana:", "carousel": [ { "text": "Camiseta Premium", "mediaUrl": "https://cdn.minhaempresa.com.br/produtos/camiseta.jpg", "mediaType": "image", "buttons": [ {"type": "quick_reply", "id": "buy_cam", "label": "Comprar"}, {"type": "url", "label": "Ver detalhes", "url": "https://minhaempresa.com.br/p/camiseta"}, ], }, { "text": "Calca Jeans Slim", "mediaUrl": "https://cdn.minhaempresa.com.br/produtos/calca.jpg", "mediaType": "image", "buttons": [ {"type": "quick_reply", "id": "buy_cal", "label": "Comprar"}, ], }, ], },)
data = response.json()Response
{ "messageId": "3EB0C3D4E5F6A7B80D9E31", "messageid": "3EB0C3D4E5F6A7B80D9E31"}Send Event
Seção intitulada “Send Event”POST /chat/send/event
Envia um convite de evento com data, local e detalhes.
Parameters
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
to | string | Sim | JID do destinatario (normalmente grupo) |
name | string | Sim | Nome do evento |
description | string | Nao | Descricao do evento |
startTime | number | Sim | Unix timestamp de inicio (segundos) |
endTime | number | Nao | Unix timestamp de termino (segundos) |
location | string | Nao | Endereco do evento |
latitude | number | Nao | Latitude do local |
longitude | number | Nao | Longitude do local |
extraGuestsAllowed | boolean | Nao | Se convidados podem levar acompanhantes |
isCanceled | boolean | Nao | Se true, cancela o evento |
isScheduleCall | boolean | Nao | Se o evento e uma chamada agendada |
Request
curl -X POST https://api.wi.api.br/chat/send/event \ -H "x-api-key: $WIAPI_KEY" \ -H "x-instance: session_01" \ -H "Content-Type: application/json" \ -d '{ "to": "120363041524927604@g.us", "name": "Reuniao de Planejamento Q3", "description": "Revisao de metas e definicao de prioridades para o trimestre.", "startTime": 1780340400, "endTime": 1780347600, "location": "Sala 301 - Escritorio SP", "latitude": -23.5612, "longitude": -46.6560, "extraGuestsAllowed": false }'const response = await fetch("https://api.wi.api.br/chat/send/event", { method: "POST", headers: { "x-api-key": process.env.WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, body: JSON.stringify({ to: "120363041524927604@g.us", name: "Reuniao de Planejamento Q3", description: "Revisao de metas e definicao de prioridades para o trimestre.", startTime: 1780340400, endTime: 1780347600, location: "Sala 301 - Escritorio SP", latitude: -23.5612, longitude: -46.6560, extraGuestsAllowed: false, }),});
const data = await response.json();import requests
response = requests.post( "https://api.wi.api.br/chat/send/event", headers={ "x-api-key": WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, json={ "to": "120363041524927604@g.us", "name": "Reuniao de Planejamento Q3", "description": "Revisao de metas e definicao de prioridades para o trimestre.", "startTime": 1780340400, "endTime": 1780347600, "location": "Sala 301 - Escritorio SP", "latitude": -23.5612, "longitude": -46.6560, "extraGuestsAllowed": False, },)
data = response.json()Response
{ "messageId": "3EB0D4E5F6A7B8C90EAF32", "messageid": "3EB0D4E5F6A7B8C90EAF32"}Send Flow
Seção intitulada “Send Flow”POST /chat/send/flow
Envia uma mensagem interativa com WhatsApp Flows (formularios e fluxos personalizados).
Parameters
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
to | string | Sim | JID do destinatario |
body | string | Sim | Texto principal da mensagem |
header | string | Nao | Texto do cabecalho |
footer | string | Nao | Texto do rodape |
buttons | object[] | Sim | Configuracao dos botoes de flow |
buttons[].name | string | Sim | Nome do botao (identificador) |
buttons[].buttonParamsJSON | string | Sim | JSON com parametros do botao (flow_id, flow_action, etc.) |
buttons[].paramsJSON | string | Nao | JSON com dados iniciais do flow |
buttons[].messageVersion | number | Nao | Versao da mensagem |
Request
curl -X POST https://api.wi.api.br/chat/send/flow \ -H "x-api-key: $WIAPI_KEY" \ -H "x-instance: session_01" \ -H "Content-Type: application/json" \ -d '{ "to": "5511998765432@s.whatsapp.net", "body": "Preencha o formulario para agendar sua consulta.", "header": "Agendamento", "footer": "Horarios sujeitos a disponibilidade", "buttons": [ { "name": "flow_reply", "buttonParamsJSON": "{\"flow_id\":\"1234567890\",\"flow_action\":\"navigate\",\"flow_token\":\"abc123\"}", "paramsJSON": "{\"screen\":\"APPOINTMENT\"}", "messageVersion": 3 } ] }'const response = await fetch("https://api.wi.api.br/chat/send/flow", { method: "POST", headers: { "x-api-key": process.env.WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, body: JSON.stringify({ to: "5511998765432@s.whatsapp.net", body: "Preencha o formulario para agendar sua consulta.", header: "Agendamento", footer: "Horarios sujeitos a disponibilidade", buttons: [ { name: "flow_reply", buttonParamsJSON: JSON.stringify({ flow_id: "1234567890", flow_action: "navigate", flow_token: "abc123", }), paramsJSON: JSON.stringify({ screen: "APPOINTMENT" }), messageVersion: 3, }, ], }),});
const data = await response.json();import jsonimport requests
response = requests.post( "https://api.wi.api.br/chat/send/flow", headers={ "x-api-key": WIAPI_KEY, "x-instance": "session_01", "Content-Type": "application/json", }, json={ "to": "5511998765432@s.whatsapp.net", "body": "Preencha o formulario para agendar sua consulta.", "header": "Agendamento", "footer": "Horarios sujeitos a disponibilidade", "buttons": [ { "name": "flow_reply", "buttonParamsJSON": json.dumps({ "flow_id": "1234567890", "flow_action": "navigate", "flow_token": "abc123", }), "paramsJSON": json.dumps({"screen": "APPOINTMENT"}), "messageVersion": 3, } ], },)
data = response.json()Response
{ "messageId": "3EB0E5F6A7B8C9D01FB033", "messageid": "3EB0E5F6A7B8C9D01FB033"}