Documentação do KiraGo

Chat
Painel Swagger

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:
  • StanzaId: ID da mensagem original (reply)
  • Participant: JID de quem enviou a mensagem original (obrigatório em grupos)
  • IsForwarded: marca a mensagem como encaminhada
  • MentionedJID: lista de JIDs mencionados
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:
  • StanzaId: ID da mensagem original (reply)
  • Participant: JID de quem enviou a mensagem original (obrigatório em grupos)
  • IsForwarded: marca a mensagem como encaminhada
  • MentionedJID: lista de JIDs mencionados
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:
  • StanzaId: ID da mensagem original (reply)
  • Participant: JID de quem enviou a mensagem original (obrigatório em grupos)
  • IsForwarded: marca a mensagem como encaminhada
  • MentionedJID: lista de JIDs mencionados
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:
  • StanzaId: ID da mensagem original (reply)
  • Participant: JID de quem enviou a mensagem original (obrigatório em grupos)
  • IsForwarded: marca a mensagem como encaminhada
  • MentionedJID: lista de JIDs mencionados
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
Dica: se enviar um .gif real por link ou base64, o servidor converte para MP4. Isso depende de ffmpeg instalado no ambiente.
Observação sobre Caption: alguns clientes/builds do WhatsApp rejeitam GIF com legenda. Se isso acontecer, o Kirago tenta reenviar automaticamente sem Caption.
Importante: nos headers de 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:
  • StanzaId: ID da mensagem original (reply)
  • Participant: JID de quem enviou a mensagem original (obrigatório em grupos)
  • IsForwarded: marca a mensagem como encaminhada
  • MentionedJID: lista de JIDs mencionados
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:
  • StanzaId: ID da mensagem original (reply)
  • Participant: JID de quem enviou a mensagem original (obrigatório em grupos)
  • IsForwarded: marca a mensagem como encaminhada
  • MentionedJID: lista de JIDs mencionados
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:
  • StanzaId: ID da mensagem original (reply)
  • Participant: JID de quem enviou a mensagem original (obrigatório em grupos)
  • IsForwarded: marca a mensagem como encaminhada
  • MentionedJID: lista de JIDs mencionados
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:
  • StanzaId: ID da mensagem original (reply)
  • Participant: JID de quem enviou a mensagem original (obrigatório em grupos)
  • IsForwarded: marca a mensagem como encaminhada
  • MentionedJID: lista de JIDs mencionados
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/buttons

Envia uma mensagem com botões interativos (requer WhatsApp 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
Title string Título (cabeçalho) da mensagem interativa
Body string Texto principal da mensagem
Footer string Texto de rodapé (opcional)
header object Header com mídia image ou video. Use media_url como URL http(s) ou data URL (base64). Para vídeo no iOS, thumbnail_url é obrigatório. Dica: base64 reduz o uso de banda quando o proxy está ativo.
Id string ID customizado da mensagem
Buttons array Use `name` + `buttonParamsJson` (native flow) ou campos legados (ButtonId/ButtonText/etc)
ContextInfo object Objeto de contexto para reply/menções/encaminhamento:
  • StanzaId: ID da mensagem original (reply)
  • Participant: JID de quem enviou a mensagem original (obrigatório em grupos)
  • IsForwarded: marca a mensagem como encaminhada
  • MentionedJID: lista de JIDs mencionados
QuotedText string Texto exibido na prévia da mensagem citada (reply)

Exemplos por tipo de botão

Escolha o tipo para ver o corpo correto e a explicação dos campos.

Resposta rápida
  • display_text: texto mostrado no botão
  • id: ID retornado no webhook quando o usuário clica
{
  "Phone": "5511999999999",
  "Title": "Escolha uma opção",
  "Body": "Selecione abaixo:",
  "Footer": "Enviado via KiraGo",
  "Buttons": [
    {
      "name": "quick_reply",
      "buttonParamsJson": {
        "display_text": "Sim",
        "id": "opt_1"
      }
    }
  ],
  "mentionAll": false
}
Abrir link
  • display_text: texto mostrado no botão
  • url: link principal
  • merchant_url: fallback do link
  • header (opcional): mídia no topo. Use type = image, video ou gif. Para gif, envie MP4 ou .gif real (conversão requer ffmpeg); para vídeo/gif, envie thumbnail_url para melhorar a compatibilidade, principalmente no iPhone
Dicas de uso do header
  • image é a opção mais estável
  • video e gif devem ser curtos e leves
  • Para gif, pode enviar MP4 ou .gif real. GIF real será convertido para MP4 (requer ffmpeg)
  • Prefira MP4 com H.264, áudio AAC, yuv420p e faststart
FFmpeg para compatibilizar vídeo/GIF
ffmpeg -i input.mp4 \
  -c:v libx264 \
  -profile:v main \
  -level 3.1 \
  -pix_fmt yuv420p \
  -c:a aac \
  -b:a 128k \
  -movflags +faststart \
  output_whatsapp.mp4
{
  "Phone": "5511999999999",
  "Title": "Escolha uma opção",
  "Body": "Selecione abaixo:",
  "Footer": "Enviado via KiraGo",
  "header": {
    "type": "gif",
    "media_url": "https://example.com/video.mp4",
    "thumbnail_url": "https://example.com/thumbnail.jpg"
  },
  "Buttons": [
    {
      "name": "cta_url",
      "buttonParamsJson": {
        "display_text": "Abrir site",
        "url": "https://kirago.com.br",
        "merchant_url": "https://kirago.com.br"
      }
    }
  ],
  "mentionAll": false
}
Copiar código
  • display_text: texto mostrado no botão
  • copy_code: texto/código que o usuário copia
{
  "Phone": "5511999999999",
  "Title": "Pix Copia e Cola",
  "Body": "Toque para copiar",
  "Footer": "Enviado via KiraGo",
  "Buttons": [
    {
      "name": "cta_copy",
      "buttonParamsJson": {
        "display_text": "Copiar código",
        "copy_code": "00020126..."
      }
    }
  ],
  "mentionAll": false
}
Ligar
  • display_text: texto mostrado no botão
  • phoneNumber: número em formato internacional
{
  "Phone": "5511999999999",
  "Title": "Fale com a equipe",
  "Body": "Prefere falar no telefone?",
  "Footer": "Enviado via KiraGo",
  "Buttons": [
    {
      "name": "cta_call",
      "buttonParamsJson": {
        "display_text": "Ligar agora",
        "phoneNumber": "+5586999999999"
      }
    }
  ],
  "mentionAll": false
}
PIX (payment_info)
  • MerchantName: nome exibido no pagamento
  • Key: chave PIX
  • KeyType: PHONE, EMAIL, CPF ou EVP
{
  "Phone": "5511999999999",
  "Title": "Pagamento PIX",
  "Body": "Finalize seu pedido",
  "Footer": "Enviado via KiraGo",
  "Buttons": [
    {
      "name": "payment_info",
      "buttonParamsJson": {
        "MerchantName": "KiraGo",
        "Key": "5586999999999",
        "KeyType": "PHONE"
      }
    }
  ],
  "mentionAll": false
}

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:
  • StanzaId: ID da mensagem original (reply)
  • Participant: JID de quem enviou a mensagem original (obrigatório em grupos)
  • IsForwarded: marca a mensagem como encaminhada
  • MentionedJID: lista de JIDs mencionados
QuotedText string Texto exibido na prévia da mensagem citada (reply)
Formato recomendado (Sections): cada seção tem title e rows. Cada row aceita:
  • title: texto exibido para o usuário
  • desc: descrição opcional
  • RowId: identificador único retornado no webhook quando o usuário seleciona a opção
Formato legado (List): use apenas se precisar compatibilidade. Estrutura simples com title, desc, RowId.
Header com mídia: use 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/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:
  • StanzaId: ID da mensagem original (reply)
  • Participant: JID de quem enviou a mensagem original (obrigatório em grupos)
  • IsForwarded: marca a mensagem como encaminhada
  • MentionedJID: lista de JIDs mencionados
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
Dica: use exatamente os campos de mídia recebidos no webhook (Url, MediaKey, Mimetype, hashes e FileLength).

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
UrlstringURL do arquivo (vem do webhook)
DirectPathstringCaminho direto do arquivo (se disponível)
MediaKeystringChave de mídia (vem do webhook)
MimetypestringTipo MIME do arquivo (ex.: image/webp)
FileEncSHA256stringHash SHA256 criptografado (se disponível)
FileSHA256stringHash SHA256 do arquivo
FileLengthnumberTamanho 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
UrlstringURL do arquivo (vem do webhook)
DirectPathstringCaminho direto do arquivo (se disponível)
MediaKeystringChave de mídia (vem do webhook)
MimetypestringTipo MIME do arquivo (ex.: video/mp4)
FileEncSHA256stringHash SHA256 criptografado (se disponível)
FileSHA256stringHash SHA256 do arquivo
FileLengthnumberTamanho 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
UrlstringURL do arquivo (vem do webhook)
DirectPathstringCaminho direto do arquivo (se disponível)
MediaKeystringChave de mídia (vem do webhook)
MimetypestringTipo MIME do arquivo (ex.: application/pdf)
FileEncSHA256stringHash SHA256 criptografado (se disponível)
FileSHA256stringHash SHA256 do arquivo
FileLengthnumberTamanho 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
UrlstringURL do arquivo (vem do webhook)
DirectPathstringCaminho direto do arquivo (se disponível)
MediaKeystringChave de mídia (vem do webhook)
MimetypestringTipo MIME do arquivo (ex.: audio/ogg)
FileEncSHA256stringHash SHA256 criptografado (se disponível)
FileSHA256stringHash SHA256 do arquivo
FileLengthnumberTamanho 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": ""
    }
  ]
}
💡 Endpoints Adicionais: Todos os endpoints de chat, incluindo carrosseis, produtos, templates e outros estão disponíveis na seção "Todos os Endpoints da API".
← Webhook Próximo: Usuário →