Chat
Endpoints para enviar mensagens e gerenciar interações de chat.
POST /chat/send/text
Envia uma mensagem de texto para um contato ou grupo.
Parâmetros do corpo:
| Parâmetro | Tipo | Descrição |
|---|---|---|
| Phone | string | Número/JID do destinatário. Ex.: "5491155553935" ou "120363417042313103@g.us" |
| Body | string | Conteúdo da mensagem de texto |
| mentionAll | boolean | Se true e o Phone for grupo (@g.us), menciona todos os participantes |
| LinkPreview | boolean | Habilita preview de links |
| Id | string | ID customizado da mensagem. Se não informado, um ID aleatório será gerado |
| ContextInfo | object | Objeto de contexto para reply/menções/encaminhamento:
|
| QuotedText | string | Texto exibido na prévia da mensagem citada (reply) |
Exemplo de requisição:
{
"Phone": "5491155553935",
"Body": "How you doin",
"LinkPreview": true,
"mentionAll": false,
"Id": "ABCDABCD1234",
"QuotedText": "Original message text",
"ContextInfo": {
"StanzaId": "3EB06F9067F80BAB89FF",
"Participant": "5491155553935@s.whatsapp.net",
"IsForwarded": true,
"MentionedJID": [
"5491155553935@s.whatsapp.net",
"5491155553936@s.whatsapp.net"
]
}
}
Resposta:
{
"code": 200,
"data": {
"Details": "Sent",
"Id": "ABCDABCD1234",
"Timestamp": "2023-03-24T15:49:08-03:00"
},
"success": true
}
POST /chat/send/image
Envia uma imagem para um contato ou grupo.
Parâmetros do corpo:
| Parâmetro | Tipo | Descrição |
|---|---|---|
| Phone | string | Número/JID do destinatário |
| Image | string | Imagem em data URL (base64) |
| Caption | string | Legenda opcional para a imagem |
| mentionAll | boolean | Se true e o Phone for grupo (@g.us), menciona todos os participantes |
| Id | string | ID customizado da mensagem |
| ContextInfo | object | Objeto de contexto para reply/menções/encaminhamento:
|
| QuotedText | string | Texto exibido na prévia da mensagem citada (reply) |
Exemplo de requisição:
{
"Phone": "5491155553935",
"Image": "data:image/jpeg;base64,iVBORw0",
"Caption": "Image Description",
"mentionAll": false,
"Id": "ABCDABCD1234",
"ContextInfo": {
"StanzaId": "3EB06F9067F80BAB89FF",
"Participant": "5491155553935@s.whatsapp.net",
"IsForwarded": true,
"MentionedJID": [
"5491155553935@s.whatsapp.net",
"5491155553936@s.whatsapp.net"
]
}
}
Resposta:
{
"code": 200,
"data": {
"Details": "Sent",
"Id": "MESSAGE_ID",
"Timestamp": "2023-03-24T15:49:08-03:00"
},
"success": true
}
POST /chat/send/audio
Envia um áudio para um contato ou grupo.
Parâmetros do corpo:
| Parâmetro | Tipo | Descrição |
|---|---|---|
| Phone | string | Número/JID do destinatário |
| Audio | string | Áudio em data URL (base64) |
| mentionAll | boolean | Se true e o Phone for grupo (@g.us), menciona todos os participantes |
| Id | string | ID customizado da mensagem |
| PTT | boolean | Define se o áudio é PTT (mensagem de voz) |
| MimeType | string | MIME type do áudio |
| Seconds | integer | Duração em segundos |
| Waveform | array | Waveform (opcional) |
| ContextInfo | object | Objeto de contexto para reply/menções/encaminhamento:
|
| QuotedText | string | Texto exibido na prévia da mensagem citada (reply) |
Exemplo de requisição:
{
"Phone": "5491155553935",
"Audio": "data:audio/ogg;base64,iVBORw0a",
"PTT": true,
"MimeType": "audio/ogg; codecs=opus",
"Seconds": 15,
"Waveform": [0, 0, 0, 12, 20, 20, 22, 10, 5, 0, 0, 0],
"mentionAll": false,
"Id": "ABCDABCD1234",
"ContextInfo": {
"StanzaId": "3EB06F9067F80BAB89FF",
"Participant": "5491155553935@s.whatsapp.net",
"IsForwarded": true,
"MentionedJID": [
"5491155553935@s.whatsapp.net",
"5491155553936@s.whatsapp.net"
]
}
}
Resposta:
{
"code": 200,
"data": {
"Details": "Sent",
"Id": "MESSAGE_ID",
"Timestamp": "2023-03-24T15:49:08-03:00"
},
"success": true
}
POST /chat/send/video
Envia um vídeo para um contato ou grupo.
Parâmetros do corpo:
| Parâmetro | Tipo | Descrição |
|---|---|---|
| Phone | string | Número/JID do destinatário |
| Video | string | Vídeo em data URL (base64) |
| Caption | string | Legenda opcional para o vídeo |
| mentionAll | boolean | Se true e o Phone for grupo (@g.us), menciona todos os participantes |
| Id | string | ID customizado da mensagem |
| JpegThumbnail | string | Thumbnail opcional (base64) |
| ContextInfo | object | Objeto de contexto para reply/menções/encaminhamento:
|
| QuotedText | string | Texto exibido na prévia da mensagem citada (reply) |
Exemplo de requisição:
{
"Phone": "5491155553935",
"Video": "data:video/mp4;base64,iVBORw0",
"Caption": "my video",
"JpegThumbnail": "AA00D010",
"mentionAll": false,
"Id": "ABCDABCD1234",
"ContextInfo": {
"StanzaId": "3EB06F9067F80BAB89FF",
"Participant": "5491155553935@s.whatsapp.net",
"IsForwarded": true,
"MentionedJID": [
"5491155553935@s.whatsapp.net",
"5491155553936@s.whatsapp.net"
]
}
}
Resposta:
{
"code": 200,
"data": {
"Details": "Sent",
"Id": "MESSAGE_ID",
"Timestamp": "2023-03-24T15:49:08-03:00"
},
"success": true
}
POST /chat/send/gif
Envia um GIF usando a flag de reprodução em loop do WhatsApp. Aceita MP4 ou GIF real; quando receber um .gif, o servidor converte para MP4 antes do upload.
Parâmetros do corpo:
| Parâmetro | Tipo | Descrição |
|---|---|---|
| Phone | string | Número/JID do destinatário |
| Gif | string | MP4 ou GIF real em data URL (base64) ou URL http(s) |
| Caption | string | Legenda opcional para o GIF |
| mentionAll | boolean | Se true e o Phone for grupo (@g.us), menciona todos os participantes |
| Id | string | ID customizado da mensagem |
| JpegThumbnail | string | Thumbnail opcional (base64) |
| ContextInfo | object | Objeto de contexto para reply/menções/encaminhamento |
.gif real por link ou base64, o servidor converte para MP4. Isso depende de ffmpeg instalado no ambiente.
Caption.
buttons e carousel, type = gif também aceita MP4 ou .gif real. GIFs reais são convertidos para MP4 e dependem de ffmpeg.
Exemplo com base64:
{
"Phone": "5491155553935",
"Gif": "data:video/mp4;base64,AAAAIGZ0eXBpc29tAA",
"mentionAll": false,
"Id": "ABCDABCD1234",
"JpegThumbnail": "AA00D010",
"ContextInfo": {
"StanzaId": "3EB06F9067F80BAB89FF",
"Participant": "5491155553935@s.whatsapp.net",
"IsForwarded": true,
"MentionedJID": [
"5491155553935@s.whatsapp.net",
"5491155553936@s.whatsapp.net"
]
}
}
Exemplo com URL:
{
"Phone": "5491155553935",
"Gif": "https://example.com/loop.gif",
"mentionAll": false,
"Id": "ABCDABCD1234",
"JpegThumbnail": "AA00D010",
"ContextInfo": {
"StanzaId": "3EB06F9067F80BAB89FF",
"Participant": "5491155553935@s.whatsapp.net",
"IsForwarded": true,
"MentionedJID": [
"5491155553935@s.whatsapp.net",
"5491155553936@s.whatsapp.net"
]
}
}
Resposta:
{
"code": 200,
"data": {
"Details": "Sent",
"Id": "MESSAGE_ID",
"Timestamp": "2023-03-24T15:49:08-03:00"
},
"success": true
}
POST /chat/send/document
Envia um documento para um contato ou grupo.
Parâmetros do corpo:
| Parâmetro | Tipo | Descrição |
|---|---|---|
| Phone | string | Número/JID do destinatário |
| Document | string | Documento em data URL (base64) |
| FileName | string | Nome do arquivo (ex: "arquivo.pdf") |
| mentionAll | boolean | Se true e o Phone for grupo (@g.us), menciona todos os participantes |
| Id | string | ID customizado da mensagem |
| ContextInfo | object | Objeto de contexto para reply/menções/encaminhamento:
|
| QuotedText | string | Texto exibido na prévia da mensagem citada (reply) |
Exemplo de requisição:
{
"Phone": "5491155553935",
"Document": "data:application/octet-stream;base64,aG9sYSBxdWUKdGFsCmNvbW8KZXN0YXMK",
"FileName": "file.txt",
"mentionAll": false,
"Id": "ABCDABCD1234",
"ContextInfo": {
"StanzaId": "3EB06F9067F80BAB89FF",
"Participant": "5491155553935@s.whatsapp.net",
"IsForwarded": true,
"MentionedJID": [
"5491155553935@s.whatsapp.net",
"5491155553936@s.whatsapp.net"
]
}
}
Resposta:
{
"code": 200,
"data": {
"Details": "Sent",
"Id": "MESSAGE_ID",
"Timestamp": "2023-03-24T15:49:08-03:00"
},
"success": true
}
POST /chat/send/sticker
Envia um sticker para um contato ou grupo.
Parâmetros do corpo:
| Parâmetro | Tipo | Descrição |
|---|---|---|
| Phone | string | Número/JID do destinatário |
| Sticker | string | Sticker em data URL (base64) ou URL http(s) |
| ContextInfo | object | Objeto de contexto para reply/menções/encaminhamento:
|
| QuotedText | string | Texto exibido na prévia da mensagem citada (reply) |
Exemplo de requisição:
{
"Phone": "120363423506713962@g.us",
"Sticker": "https://cdn.exemplo.com/sticker.webp",
"ContextInfo": {
"StanzaId": "3EB06F9067F80BAB89FF",
"Participant": "5491155553935@s.whatsapp.net",
"IsForwarded": true,
"MentionedJID": [
"5491155553935@s.whatsapp.net",
"5491155553936@s.whatsapp.net"
]
}
}
Resposta:
{
"code": 200,
"data": {
"Details": "Sent",
"Id": "MESSAGE_ID",
"Timestamp": "2023-03-24T15:49:08-03:00"
},
"success": true
}
POST /chat/send/location
Envia uma localização geográfica para um contato ou grupo.
Parâmetros do corpo:
| Parâmetro | Tipo | Descrição |
|---|---|---|
| Phone | string | Número/JID do destinatário |
| Latitude | float | Latitude da localização |
| Longitude | float | Longitude da localização |
| Name | string | Nome do local |
| mentionAll | boolean | Se true e o Phone for grupo (@g.us), menciona todos os participantes |
| Id | string | ID customizado da mensagem |
| ContextInfo | object | Objeto de contexto para reply/menções/encaminhamento:
|
| QuotedText | string | Texto exibido na prévia da mensagem citada (reply) |
Exemplo de requisição:
{
"Phone": "5491155553935",
"Latitude": 48.85837,
"Longitude": 2.294481,
"Name": "Party",
"mentionAll": false,
"Id": "ABCDABCD1234",
"ContextInfo": {
"StanzaId": "3EB06F9067F80BAB89FF",
"Participant": "5491155553935@s.whatsapp.net",
"IsForwarded": true,
"MentionedJID": [
"5491155553935@s.whatsapp.net",
"5491155553936@s.whatsapp.net"
]
}
}
Resposta:
{
"code": 200,
"data": {
"Details": "Sent",
"Id": "MESSAGE_ID",
"Timestamp": "2023-03-24T15:49:08-03:00"
},
"success": true
}
POST /chat/send/contact
Envia um cartão de contato para um destinatário.
Parâmetros do corpo:
| Parâmetro | Tipo | Descrição |
|---|---|---|
| Phone | string | Número/JID do destinatário |
| mentionAll | boolean | Se true e o Phone for grupo (@g.us), menciona todos os participantes |
| Name | string | Nome do contato |
| Id | string | ID customizado da mensagem |
| Vcard | string | VCard completo do contato |
| ContextInfo | object | Objeto de contexto para reply/menções/encaminhamento:
|
| QuotedText | string | Texto exibido na prévia da mensagem citada (reply) |
Exemplo de requisição:
{
"Phone": "5491155553935",
"Name": "John",
"Vcard": "BEGIN:VCARD\nVERSION:3.0\nN:Doe;John;;;\nFN:John Doe\nORG:Example.com Inc.;\nTITLE:Imaginary test person\nEMAIL;type=INTERNET;type=WORK;type=pref:johnDoe@example.org\nTEL;type=WORK;type=pref:+1 617 555 1212\nTEL;type=WORK:+1 (617) 555-1234\nTEL;type=CELL:+1 781 555 1212\nTEL;type=HOME:+1 202 555 1212\nitem1.ADR;type=WORK:;;2 Enterprise Avenue;Worktown;NY;01111;USA\nitem1.X-ABADR:us\nitem2.ADR;type=HOME;type=pref:;;3 Acacia Avenue;Hoitem2.X-ABADR:us\nEND:VCARD",
"mentionAll": false,
"Id": "ABCDABCD1234",
"ContextInfo": {
"StanzaId": "3EB06F9067F80BAB89FF",
"Participant": "5491155553935@s.whatsapp.net",
"IsForwarded": true,
"MentionedJID": [
"5491155553935@s.whatsapp.net",
"5491155553936@s.whatsapp.net"
]
}
}
Resposta:
{
"code": 200,
"data": {
"Details": "Sent",
"Id": "MESSAGE_ID",
"Timestamp": "2023-03-24T15:49:08-03:00"
},
"success": true
}
POST /chat/send/list
Envia uma mensagem com lista de opções interativa. Sem header, usa o formato legado de lista. Com header, muda para Native Flow single_select para aceitar mídia no topo.
Parâmetros do corpo:
| Parâmetro | Tipo | Descrição |
|---|---|---|
| Phone | string | Número/JID do destinatário |
| ButtonText | string | Texto do botão |
| Desc | string | Descrição da lista |
| TopText | string | Texto principal da lista |
| header / Header | object | Header opcional com mídia. Aceita image, video ou gif. Quando informado, o endpoint usa Native Flow single_select. |
| FooterText | string | Texto de rodapé (opcional) |
| Sections | array | Formato recomendado. Cada seção contém rows |
| List | array | Formato legado (compatibilidade) |
| ContextInfo | object | Objeto de contexto para reply/menções/encaminhamento:
|
| QuotedText | string | Texto exibido na prévia da mensagem citada (reply) |
title e rows.
Cada row aceita:
title: texto exibido para o usuáriodesc: descrição opcionalRowId: identificador único retornado no webhook quando o usuário seleciona a opção
title, desc, RowId.
header com o mesmo formato de /chat/send/buttons. Para gif, pode enviar MP4 ou .gif real; GIF real depende de ffmpeg.
Exemplos por formato
{
"Phone": "5521971532700",
"ButtonText": "Click Here",
"Desc": "This is a list",
"TopText": "This is a list",
"FooterText": "This is a footer text",
"Sections": [
{
"title": "Opções",
"rows": [
{"title": "Opção 1", "desc": "Primeira escolha", "RowId": "opt1"},
{"title": "Opção 2", "desc": "Segunda escolha", "RowId": "opt2"}
]
}
]
}
{
"Phone": "5521971532700",
"ButtonText": "Abrir lista",
"Desc": "Escolha um item",
"TopText": "Catalogo",
"FooterText": "Enviado via KiraGo",
"header": {
"type": "gif",
"media_url": "https://example.com/loop.gif",
"thumbnail_url": "https://example.com/thumb.jpg"
},
"Sections": [
{
"title": "Opcoes",
"rows": [
{"title": "Opcao 1", "desc": "Primeira escolha", "RowId": "opt1"},
{"title": "Opcao 2", "desc": "Segunda escolha", "RowId": "opt2"}
]
}
]
}
{
"Phone": "5521971532700",
"ButtonText": "Click Here",
"Desc": "This is a list",
"TopText": "This is a list",
"FooterText": "This is a footer text",
"List": [
{"title": "Opção 1", "desc": "Primeira escolha", "RowId": "opt1"},
{"title": "Opção 2", "desc": "Segunda escolha", "RowId": "opt2"}
]
}
Resposta:
{
"code": 200,
"data": {
"Details": "Sent",
"Id": "MESSAGE_ID",
"Timestamp": "2023-03-24T15:49:08-03:00"
},
"success": true
}
POST /chat/send/carousel
Envia um carrossel interativo (HSCROLL) com cards de imagem e botões (native flow).
Parâmetros do corpo:
| Parâmetro | Tipo | Descrição |
|---|---|---|
| Phone | string | Telefone/JID do destinatário. Ex.: 5511999999999 ou 555555555555555555@g.us |
| mentionAll | boolean | Se true e o Phone for grupo (@g.us), menciona todos os participantes |
| Text | string | Texto principal do carrossel |
| Footer | string | Rodapé do carrossel |
| ViewOnce | boolean | Se true, envia como visualização única (quando suportado) |
| Id | string | ID customizado da mensagem |
| CardButtons | array | Botões globais para todos os cards (native flow) |
| Cards | array | Lista de cards do carrossel (cada card precisa de Image) |
| Cards[].Image | string | URL http(s) ou data:image/...;base64,.... Formatos: jpeg/png/gif/webp (WEBP pode ser convertido para JPEG para melhor compatibilidade em headers interativos) |
| ContextInfo | object | Objeto de contexto para reply/menções/encaminhamento:
|
| QuotedText | string | Texto exibido na prévia da mensagem citada (reply) |
name + buttonParams ou buttonParamsJson. Os tipos são os mesmos de /chat/send/buttons.
name: tipo do botão (ex.:quick_reply,cta_url,cta_copy,cta_call,payment_info)buttonParams: objeto JSON com os parâmetros do botão (preferido)buttonParamsJson: string JSON com os parâmetros (alternativa)display_text: texto exibido no botãoid: ID do quick_reply retornado no webhookurl: URL do cta_urlmerchant_url: fallback do cta_urlcopy_code: texto/código para copiar (cta_copy)phoneNumber: número em formato internacional (cta_call)MerchantName,Key,KeyType: dados do PIX (payment_info)
Exemplos
{
"Phone": "555555555555555555@g.us",
"Text": "Escolha um card",
"Footer": "Enviado via kira-go",
"ViewOnce": true,
"CardButtons": [
{
"name": "quick_reply",
"buttonParams": {
"display_text": "Comprar",
"id": "buy-1"
}
}
],
"Cards": [
{
"Title": "Card 1",
"Caption": "Legenda 1",
"Image": "https://example.com/image1.jpg"
},
{
"Title": "Card 2",
"Caption": "Legenda 2",
"Image": "https://via.placeholder.com/640x360.png?text=Card+2"
}
]
}
{
"Phone": "5511999999999",
"Text": "Veja as opções",
"Footer": "Enviado via kira-go",
"ViewOnce": true,
"Cards": [
{
"Title": "Card 1",
"Caption": "Acesse o site",
"Image": "https://via.placeholder.com/640x360.png?text=Card+1",
"Buttons": [
{
"name": "cta_url",
"buttonParams": {
"display_text": "Ver site",
"url": "https://example.com",
"merchant_url": "https://example.com"
}
}
]
},
{
"Title": "Card 2",
"Caption": "Responder rápido",
"Image": "https://via.placeholder.com/640x360.png?text=Card+2",
"Buttons": [
{
"name": "quick_reply",
"buttonParamsJson": "{\"display_text\":\"Quero\",\"id\":\"want-1\"}"
}
]
}
]
}
Resposta:
{
"code": 200,
"data": {
"Details": "Sent",
"Id": "MESSAGE_ID",
"Timestamp": "2023-03-24T15:49:08-03:00"
},
"success": true
}
POST /chat/send/product-carousel
Envia um carrossel de produtos onde cada card usa ProductMessage no header (best-effort: o WhatsApp pode renderizar diferente dependendo da conta/catálogo/business).
Parâmetros do corpo:
| Parâmetro | Tipo | Descrição |
|---|---|---|
| Phone | string | Telefone/JID do destinatário |
| mentionAll | boolean | Se true e o Phone for grupo (@g.us), menciona todos os participantes |
| BusinessOwnerJid | string | JID da conta Business que possui o catálogo |
| Text | string | Texto principal do carrossel |
| Footer | string | Rodapé do carrossel |
| CurrencyCode | string | Código da moeda (ex.: BRL) |
| ViewOnce | boolean | Se true, envia como visualização única (quando suportado) |
| Id | string | ID customizado da mensagem |
| CardButtons | array | Botões globais para todos os cards (native flow) |
| Cards | array | Lista de cards de produto |
| ContextInfo | object | Objeto de contexto para reply/menções/encaminhamento:
|
| QuotedText | string | Texto exibido na prévia da mensagem citada (reply) |
TitleeDescription: título e descrição do itemImage: URL http(s) ou data URL (base64). Formatos: jpeg/png/gif/webp (WEBP pode ser convertido para JPEG)PriceAmount1000: preço em milésimos (recomendado)Price: preço decimal (alternativo)ProductId/RetailerId: IDs do produtoURL: link do produto
CardButtons (aplica em todos os cards) ou por card em Cards[].Buttons.
Exemplo de requisição:
{
"Phone": "555555555555555555@g.us",
"BusinessOwnerJid": "5511999999999@s.whatsapp.net",
"Text": "Escolha um produto",
"Footer": "Enviado via kira-go",
"CurrencyCode": "BRL",
"ViewOnce": true,
"Cards": [
{
"Title": "Fiat Mobi 2023",
"Description": "Compacto econômico",
"Image": "https://cdn.motor1.com/images/mgl/AkB8vL/s1/fiat-mobi-2023.jpg",
"PriceAmount1000": 79990000,
"ProductId": "mobi-2023",
"RetailerId": "mobi-2023",
"URL": "https://example.com/mobi-2023",
"Buttons": [
{
"name": "cta_url",
"buttonParams": {
"display_text": "Detalhes",
"url": "https://example.com/mobi-2023",
"merchant_url": "https://example.com/mobi-2023"
}
}
]
}
]
}
Resposta:
{
"code": 200,
"data": {
"Details": "Sent",
"Id": "MESSAGE_ID",
"Timestamp": "2023-03-24T15:49:08-03:00"
},
"success": true
}
POST /chat/send/poll
Envia uma enquete para um contato ou grupo.
Parâmetros do corpo:
| Parâmetro | Tipo | Descrição |
|---|---|---|
| Group | string | JID do grupo (ex.: 120363417042313103@g.us) |
| Header | string | Pergunta da enquete |
| Options | array | Array com as opções de resposta |
| Id | string | ID customizado da mensagem (opcional) |
| ContextInfo | object | Opcional para reply/menções/encaminhamento:
|
| QuotedText | string | Texto exibido na prévia da mensagem citada (reply) |
Exemplo de requisição:
{
"Group": "120363417042313103@g.us",
"Header": "What's your favorite color",
"Options": ["Red", "Blue", "Green"],
"Id": "3EB06F9067F80BAB89FF"
}
Resposta:
{
"code": 200,
"data": {
"Details": "Sent",
"Id": "MESSAGE_ID",
"Timestamp": "2023-03-24T15:49:08-03:00"
},
"success": true
}
POST /chat/delete
Deleta uma mensagem enviada por você.
Parâmetros do corpo:
| Parâmetro | Tipo | Descrição |
|---|---|---|
| Phone | string | Número do destinatário onde a mensagem foi enviada |
| Id | string | ID da mensagem a ser deletada |
Exemplo de requisição:
{
"Phone": "5511999999999",
"Id": "3EB06F9067F80BAB89FF"
}
Resposta:
{
"code": 200,
"data": {
"Details": "Message deleted"
},
"success": true
}
POST /chat/markread
Marca uma ou mais mensagens recebidas como lidas.
Parâmetros do corpo:
| Parâmetro | Tipo | Descrição |
|---|---|---|
| Chat | string | JID do chat (ex: "5511999999999@s.whatsapp.net") |
| Ids | array | Array com os IDs das mensagens a serem marcadas |
| Sender | string | JID do remetente (necessário para mensagens de grupo) |
Exemplo de requisição:
{
"Chat": "5511999999999@s.whatsapp.net",
"Ids": ["3EB06F9067F80BAB89FF", "4FC17A018G91CAC90HG"],
"Sender": "5511999999999@s.whatsapp.net"
}
Resposta:
{
"code": 200,
"data": {
"Details": "Message(s) marked as read"
},
"success": true
}
POST /chat/react
Reage a uma mensagem com um emoji.
Parâmetros do corpo:
| Parâmetro | Tipo | Descrição |
|---|---|---|
| Phone | string | Número do destinatário. Use "me:" como prefixo se for sua própria mensagem |
| Body | string | Emoji da reação (ex: "👍", "❤️", "😂") |
| Id | string | ID da mensagem a ser reagida |
Exemplo de requisição:
{
"Phone": "5511999999999",
"Body": "👍",
"Id": "3EB06F9067F80BAB89FF"
}
Resposta:
{
"code": 200,
"data": {
"Details": "Sent",
"Id": "3EB06F9067F80BAB89FF",
"Timestamp": "2023-03-24T15:49:08-03:00"
},
"success": true
}
POST /chat/send/edit
Edita uma mensagem de texto já enviada por você.
Parâmetros do corpo:
| Parâmetro | Tipo | Descrição |
|---|---|---|
| Phone | string | Número do destinatário onde a mensagem foi enviada |
| Id | string | ID da mensagem a ser editada |
| Body | string | Novo conteúdo da mensagem |
| mentionAll | boolean | Se true e o Phone for grupo (@g.us), menciona todos os participantes |
Exemplo de requisição:
{
"Phone": "5511999999999",
"Id": "3EB06F9067F80BAB89FF",
"Body": "This is the updated message",
"mentionAll": false
}
Resposta:
{
"code": 200,
"data": {
"Details": "Message updated"
},
"success": true
}
POST /chat/downloadimage
Baixa a imagem de uma mensagem e retorna em base64 (data URL).
Parâmetros do corpo:
| Parâmetro | Tipo | Descrição |
|---|---|---|
| Url | string | URL do arquivo (vem do webhook) |
| DirectPath | string | Caminho direto do arquivo (se disponível) |
| MediaKey | string | Chave de mídia (vem do webhook) |
| Mimetype | string | Tipo MIME do arquivo (ex.: image/jpeg) |
| FileEncSHA256 | string | Hash SHA256 criptografado (se disponível) |
| FileSHA256 | string | Hash SHA256 do arquivo |
| FileLength | number | Tamanho do arquivo em bytes |
Exemplo de requisição:
{
"Url": "https://mmg.whatsapp.net/d/f/...",
"DirectPath": "/v/t62.7119-24/...",
"MediaKey": "mM2G...==",
"Mimetype": "image/jpeg",
"FileEncSHA256": "k4h...==",
"FileSHA256": "m1Q...==",
"FileLength": 12345
}
Resposta:
{
"code": 200,
"data": {
"Data": "data:image/jpeg;base64,iVBORw0KGgoA5CYII...=",
"Mimetype": "image/jpeg"
},
"success": true
}
POST /chat/downloadsticker
Baixa um sticker de uma mensagem e retorna em base64 (data URL).
Parâmetros do corpo:
| Parâmetro | Tipo | Descrição |
|---|---|---|
| Url | string | URL do arquivo (vem do webhook) |
| DirectPath | string | Caminho direto do arquivo (se disponível) |
| MediaKey | string | Chave de mídia (vem do webhook) |
| Mimetype | string | Tipo MIME do arquivo (ex.: image/webp) |
| FileEncSHA256 | string | Hash SHA256 criptografado (se disponível) |
| FileSHA256 | string | Hash SHA256 do arquivo |
| FileLength | number | Tamanho do arquivo em bytes |
Exemplo de requisição:
{
"Url": "https://mmg.whatsapp.net/d/f/...",
"DirectPath": "/v/t62.7119-24/...",
"MediaKey": "mM2G...==",
"Mimetype": "image/webp",
"FileEncSHA256": "k4h...==",
"FileSHA256": "m1Q...==",
"FileLength": 12345
}
Resposta:
{
"code": 200,
"data": {
"Data": "data:image/webp;base64,iVBORw0KGgoA5CYII...=",
"Mimetype": "image/webp"
},
"success": true
}
POST /chat/downloadvideo
Baixa um vídeo de uma mensagem e retorna em base64 (data URL).
Parâmetros do corpo:
| Parâmetro | Tipo | Descrição |
|---|---|---|
| Url | string | URL do arquivo (vem do webhook) |
| DirectPath | string | Caminho direto do arquivo (se disponível) |
| MediaKey | string | Chave de mídia (vem do webhook) |
| Mimetype | string | Tipo MIME do arquivo (ex.: video/mp4) |
| FileEncSHA256 | string | Hash SHA256 criptografado (se disponível) |
| FileSHA256 | string | Hash SHA256 do arquivo |
| FileLength | number | Tamanho do arquivo em bytes |
Exemplo de requisição:
{
"Url": "https://mmg.whatsapp.net/d/f/...",
"DirectPath": "/v/t62.7119-24/...",
"MediaKey": "mM2G...==",
"Mimetype": "video/mp4",
"FileEncSHA256": "k4h...==",
"FileSHA256": "m1Q...==",
"FileLength": 12345
}
Resposta:
{
"code": 200,
"data": {
"Data": "data:video/mp4;base64,iVBORw0KGgoA5CYII...=",
"Mimetype": "video/mp4"
},
"success": true
}
POST /chat/downloaddocument
Baixa um documento de uma mensagem e retorna em base64 (data URL).
Parâmetros do corpo:
| Parâmetro | Tipo | Descrição |
|---|---|---|
| Url | string | URL do arquivo (vem do webhook) |
| DirectPath | string | Caminho direto do arquivo (se disponível) |
| MediaKey | string | Chave de mídia (vem do webhook) |
| Mimetype | string | Tipo MIME do arquivo (ex.: application/pdf) |
| FileEncSHA256 | string | Hash SHA256 criptografado (se disponível) |
| FileSHA256 | string | Hash SHA256 do arquivo |
| FileLength | number | Tamanho do arquivo em bytes |
Exemplo de requisição:
{
"Url": "https://mmg.whatsapp.net/d/f/...",
"DirectPath": "/v/t62.7119-24/...",
"MediaKey": "mM2G...==",
"Mimetype": "application/pdf",
"FileEncSHA256": "k4h...==",
"FileSHA256": "m1Q...==",
"FileLength": 12345
}
Resposta:
{
"code": 200,
"data": {
"Data": "data:application/pdf;base64,iVBORw0KGgoA5CYII...=",
"Mimetype": "application/pdf"
},
"success": true
}
POST /chat/downloadaudio
Baixa um áudio de uma mensagem e retorna em base64 (data URL).
Parâmetros do corpo:
| Parâmetro | Tipo | Descrição |
|---|---|---|
| Url | string | URL do arquivo (vem do webhook) |
| DirectPath | string | Caminho direto do arquivo (se disponível) |
| MediaKey | string | Chave de mídia (vem do webhook) |
| Mimetype | string | Tipo MIME do arquivo (ex.: audio/ogg) |
| FileEncSHA256 | string | Hash SHA256 criptografado (se disponível) |
| FileSHA256 | string | Hash SHA256 do arquivo |
| FileLength | number | Tamanho do arquivo em bytes |
Exemplo de requisição:
{
"Url": "https://mmg.whatsapp.net/d/f/...",
"DirectPath": "/v/t62.7119-24/...",
"MediaKey": "mM2G...==",
"Mimetype": "audio/ogg",
"FileEncSHA256": "k4h...==",
"FileSHA256": "m1Q...==",
"FileLength": 12345
}
Resposta:
{
"code": 200,
"data": {
"Data": "data:audio/ogg;base64,T2dnUwACAAAAAAA...=",
"Mimetype": "audio/ogg"
},
"success": true
}
GET /chat/history
Retorna o histórico de mensagens de um chat (ordem do mais recente para o mais antigo). Requer histórico habilitado no servidor.
Parâmetros de query:
| Parâmetro | Tipo | Descrição |
|---|---|---|
| chat_jid | string | JID do chat (ex.: 5491155553333@s.whatsapp.net) |
| limit | integer | Quantidade máxima de mensagens (padrão 50, máx. 1000) |
Exemplo de requisição:
GET /chat/history?chat_jid=5491155553333@s.whatsapp.net&limit=100
Resposta:
{
"code": 200,
"success": true,
"data": [
{
"id": 1,
"user_id": "abc123def456",
"chat_jid": "5491155553333@s.whatsapp.net",
"sender_jid": "5491155554444@s.whatsapp.net",
"message_id": "3EB0C767D26A1B5F7C83",
"timestamp": "2023-12-01T15:30:00Z",
"message_type": "text",
"text_content": "Hello, how are you?",
"media_link": ""
}
]
}