Webhook: Recebimento de Mensagens
Este webhook é usado para receber mensagens enviadas para o seu aplicativo ou serviço. As mensagens são enviadas em formato JSON e contêm informações sobre a mensagem recebida. Se houver mídia anexada, a mensagem será enviada no formato `multipart/form-data`.
Formato da Mensagem
A mensagem recebida segue o formato abaixo:
{
"id": "string",
"name": "string",
"number": "string",
"fromMe": "boolean",
"body": "string",
"messageType": "string",
"profilePicUrl": "string",
"groupData": {
"id": "string",
"name": "string",
"profilePicUrl": "string"
},
"isForwarded": "boolean",
"quotedMsg": "string | number",
"timestamp": "string | number"
}
Descrição dos Campos
| Campo | Descrição |
|---|---|
| id | Uma string única que identifica a mensagem. |
| name | O nome do remetente da mensagem. |
| number | O número de telefone do remetente. |
| fromMe | Um booleano indicando se a mensagem foi enviada pelo próprio usuário. |
| body | O corpo da mensagem. |
| messageType | (Opcional) O tipo de mensagem, se aplicável. |
| profilePicUrl | (Opcional) URL da imagem de perfil do remetente. |
| groupData | (Opcional) Informações sobre o grupo ao qual a mensagem pertence. |
| isForwarded | (Opcional) Um booleano indicando se a mensagem foi encaminhada. |
| quotedMsg | (Opcional) O ID da mensagem citada, se aplicável. |
| timestamp | O timestamp da mensagem. |
Recebimento de Mídia
Quando uma mensagem contém mídia, como imagens, vídeos ou documentos, ela é enviada usando um formato chamado multipart/form-data. Esse formato é comumente utilizado para enviar dados de formulário que incluem arquivos binários, como as mídias mencionadas.
Para lidar com o recebimento desses arquivos em sua aplicação, é necessário utilizar um middleware específico que seja capaz de interpretar e processar esse formato de dados. Um exemplo comum disso é o multer, que é um middleware para o Node.js, amplamente utilizado para o tratamento de uploads de arquivos.
Ao usar o multer ou outro middleware semelhante, sua aplicação será capaz de receber os arquivos enviados juntamente com a mensagem, permitindo que você os processe e armazene conforme necessário.
É importante observar que, quando a mensagem contém mídia, os detalhes específicos dos arquivos, como nome, tipo e conteúdo, não serão incluídos no JSON da mensagem. Em vez disso, esses dados serão encapsulados no formato multipart/form-data e transmitidos junto com a requisição HTTP.Exemplo de Mensagem Recebida
{
"id": "1234567890",
"name": "John Doe",
"number": "1234567890",
"fromMe": false,
"body": "Exemplo de mensagem recebida",
"timestamp": 1644868800
}
Neste exemplo, uma mensagem foi recebida de "John Doe" com o corpo "Exemplo de mensagem recebida".