Bem-vindo à documentação da seção de Mensagens da API Messagefy. Esta seção é dedicada a desenvolvedores que buscam integrar o envio de conteúdo multicanal em suas aplicações. Todos os tipos de mensagens são enviados através de um endpoint unificado, simplificando o processo de integração.Endpoint Unificado e Autenticação#
Todas as operações de envio de mensagens são centralizadas no seguinte endpoint:Endpoint: POST /api/v1/message/sendmessage
Para garantir a segurança, todas as requisições devem ser autenticadas utilizando uma chave de API. A chave deve ser incluída no cabeçalho (header) da requisição, no campo api-key.Estrutura de Requisição Padrão#
A estrutura do corpo (body) da requisição é consistente para todos os tipos de mensagem, utilizando o formato application/json. Os campos principais são channelId e content.channelId (string): O identificador único do canal pelo qual a mensagem será enviada.
content (object): Um objeto que contém os detalhes da mensagem, incluindo o destinatário (to) e o tipo de conteúdo (type).
O objeto to especifica o destino da mensagem, como um número de WhatsApp, e é obrigatório em todas as requisições.Tipos de Conteúdo Suportados#
A API suporta uma variedade de tipos de conteúdo, cada um identificado por um valor específico no campo type dentro do objeto content. A tabela abaixo detalha os tipos suportados e seus respectivos campos adicionais.| Tipo de Conteúdo | Valor do type | Campos Adicionais e Descrição |
|---|
| Texto Simples | TEXT | text (string): O conteúdo textual da mensagem.
isForwarded (boolean, opcional): Indica mensagem encaminhada. |
| Imagem | IMAGE | base64 (string): Imagem codificada em Base64.
caption (string): Legenda para a imagem.
filename (string): Nome do arquivo (ex: foto.png).
mimetype (string): Tipo MIME (ex: image/png).
isForwarded (boolean, opcional): Indica mensagem encaminhada. |
| Documento | DOCUMENT | base64 (string): Arquivo codificado em Base64.
caption (string): Descrição do documento.
filename (string): Nome do arquivo (ex: relatorio.pdf).
mimetype (string): Tipo MIME (ex: application/pdf).
isForwarded (boolean, opcional): Indica mensagem encaminhada. |
| Áudio | AUDIO | base64 (string): Arquivo de áudio codificado em Base64.
filename (string): Nome do arquivo (ex: mensagem.mp3).
mimetype (string): Tipo MIME (ex: audio/mpeg).
isForwarded (boolean, opcional): Indica mensagem encaminhada. |
| Vídeo | VIDEO | base64 (string): Arquivo de vídeo codificado em Base64.
caption (string): Legenda para o vídeo.
filename (string): Nome do arquivo (ex: tutorial.mp4).
mimetype (string): Tipo MIME (ex: video/mp4).
isForwarded (boolean, opcional): Indica mensagem encaminhada. |
| Lista de Grupos | GROUPS | Nenhum campo adicional. Este endpoint está em fase de testes e sua funcionalidade pode ser alterada. |
Resposta da API#
Após uma requisição bem-sucedida (200 OK), a API retornará um objeto JSON contendo um packageId. Este identificador único pode ser utilizado para rastrear o status do envio da mensagem.{
"packageId": "pkg-id"
}
Responder/Citar Mensagem#
Qualquer tipo de mensagem (texto, imagem, vídeo, áudio, documento) pode ser enviado como resposta a uma mensagem anterior. Para isso, basta incluir o campo opcional quotedMessage no objeto content.Estrutura do quotedMessage#
| Campo | Tipo | Obrigatório | Descrição |
|---|
messageId | string | Sim | O ID da mensagem original que está sendo respondida. |
participant | string | Sim | O JID completo do remetente da mensagem original. |
O campo participant deve conter o ID do remetente da mensagem original. Esse ID pode ser um dos seguintes formatos, por exemplo:Exemplo: Resposta com Texto#
{
"channelId": "seu-channel-id",
"content": {
"type": "TEXT",
"to": {
"type": "WHATSAPP",
"id": "5511999999999@s.whatsapp.net"
},
"text": "Esta é uma resposta à mensagem anterior!",
"quotedMessage": {
"messageId": "ABCD1234567890",
"participant": "123456789012345@lid"
}
}
}
Comportamento em Grupos#
Em conversas de grupo, o campo participant é especialmente importante pois identifica qual membro do grupo enviou a mensagem original. Sem este campo, clientes móveis podem não exibir corretamente a citação.⚠️ IMPORTANTE: O campo participant é obrigatório para que a resposta seja exibida corretamente em clientes móveis (iOS/Android). Clientes web podem funcionar sem este campo, mas para garantir compatibilidade total, sempre inclua ambos os campos.
Excluir Mensagem#
Para excluir uma mensagem enviada anteriormente, utilize o endpoint dedicado de exclusão. A exclusão é do tipo "para todos" — a mensagem será removida tanto para o remetente quanto para o destinatário.Endpoint: DELETE /api/message/deletemessage
Estrutura da Requisição#
| Campo | Tipo | Obrigatório | Descrição |
|---|
channelId | string | Sim | O identificador único do canal. |
messageId | string | Sim | O ID da mensagem no WhatsApp. |
chatId | string | Sim | O ID do chat ou grupo no WhatsApp. |
Resposta da API#
Após uma requisição bem-sucedida (200 OK), a API retornará um objeto JSON contendo um packageId e o próprio messageId usado na requisição.⚠️ IMPORTANTE: A exclusão de mensagens NÃO TEM A JANELA DE TEMPO VALIDADA. Isto é, se uma mensagem for deletada depois de 48 horas (janela estipulada pelo WhatsApp atualmente, pode mudar), a API vai retornar sucesso (200 OK), mas A MENSAGEM NÃO SERÁ ALTERADA/REMOVIDA no aplicativo do destinatário.
{
"packageId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"messageId": "A1B2C3D4E5F67890123456"
}
Editar Mensagem#
Para editar o conteúdo de uma mensagem de texto já enviada, utilize o endpoint de edição.Endpoint: PUT /api/message/editmessage
Estrutura da Requisição#
| Campo | Tipo | Obrigatório | Descrição |
|---|
channelId | string | Sim | O identificador único do canal. |
messageId | string | Sim | O ID da mensagem no WhatsApp. |
chatId | string | Sim | O ID do chat ou grupo no WhatsApp. |
newText | string | Sim | O novo texto da mensagem. |
Resposta da API#
Após uma requisição bem-sucedida (200 OK), a API retornará um objeto JSON contendo um packageId e o próprio messageId usado na requisição.⚠️ IMPORTANTE: A edição de mensagens NÃO TEM A JANELA DE TEMPO VALIDADA. Isto é, se uma mensagem for editada depois de 15 minutos (janela estipulada pelo WhatsApp atualmente, pode mudar), a API vai retornar sucesso (200 OK), mas A MENSAGEM NÃO SERÁ ALTERADA no aplicativo do destinatário.
{
"packageId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"messageId": "A1B2C3D4E5F67890123456"
}
Navegue pelos endpoints nesta seção para ver exemplos de código detalhados, incluindo cURL, JavaScript, Java e Swift, que facilitarão a sua integração. Modificado em 2026-01-24 19:28:43