Referência/Webhooks/messages.upsert
Evento por instância

messages.upsert

Mensagem recebida e persistida pela aplicacao.

flag: messagesUpsert

Requisição

http
POST /webhooks/codechat HTTP/1.1
Content-Type: application/json
x-webhook-event: messages.upsert

Payload

json
{
"data": {
"content": {
"text": "Ola"
},
"device": "ios",
"id": 1024,
"isGroup": false,
"keyFromMe": false,
"keyLid": null,
"keyParticipant": null,
"keyParticipantLid": null,
"keyRemoteJid": "[email protected]",
"messageTimestamp": 1783188000,
"messageType": "conversation",
"metadata": null,
"pushName": "Cliente"
},
"event": "messages.upsert",
"instance": {
"connectionStatus": "online",
"externalAttributes": {},
"id": 1,
"name": "codechat",
"ownerJid": "[email protected]"
},
"timestamp": "2026-07-04T18:00:00Z"
}
idnumber

obrigatório, não aceita `null`. ID interno da mensagem.

keyRemoteJidstring | null

obrigatório, aceita `null`. JID remoto da mensagem.

keyLidstring | null

obrigatório, aceita `null`. LID remoto da mensagem.

keyFromMeboolean

obrigatório, não aceita `null`. Indica se a mensagem foi enviada pela propria instancia.

keyParticipantstring | null

obrigatório, aceita `null`. Participante em mensagens de grupo.

keyParticipantLidstring | null

obrigatório, aceita `null`. LID do participante em mensagens de grupo.

pushNamestring | null

obrigatório, aceita `null`. Nome exibido do remetente quando conhecido.

messageTypestring

obrigatório, não aceita `null`. Tipo normalizado da mensagem.

contentobject

obrigatório, não aceita `null`. Conteudo normalizado da mensagem.

messageTimestampnumber

obrigatório, não aceita `null`. Timestamp Unix em segundos.

devicestring | null

obrigatório, aceita `null`. Dispositivo/origem inferida da mensagem.

isGroupboolean

obrigatório, não aceita `null`. Indica se a mensagem pertence a grupo.

metadataobject | null

obrigatório, aceita `null`. Metadados adicionais normalizados.

Observações de entrega

  • Se a persistencia ou a releitura da mensagem falhar, o webhook nao e emitido.
  • Implemente idempotência por chave de negócio e aceite a possibilidade de duplicidades e reordenação.