Skip to main content

message.status_updated

Enviado toda vez que o status de uma mensagem muda. Cada transição de status gera um evento independente.

Campos do Payload

Status Possíveis

O campo failureReason é preenchido apenas quando status = "failed". Em todos os outros eventos (delivered, read, clicked, etc.) o campo é null, independentemente de a mensagem ter falhado anteriormente.

Fluxos de Eventos por Cenário

RCS — Bloqueado por duplicidade

Quando uma mensagem é bloqueada antes de ser enviada (ex: número já recebeu a mesma mensagem recentemente).

RCS — Entrega normal com leitura

RCS — Destinatário clica em botão de ação (openUrl, call)

RCS — Destinatário responde com botão REPLY

RCS — Destinatário responde com texto livre

clicked é acionado por botões do tipo ACTION (openUrl, call). responded é acionado por botões do tipo REPLY ou quando o destinatário digita texto livre. Para todos os demais status (sent, delivered, read, failed), o campo interaction é null.

Campo interaction

Presente somente nos eventos clicked e responded.

RCS → Fallback SMS — Dispositivo sem suporte RCS, SMS entregue

Quando o dispositivo não suporta RCS, o provedor automaticamente reenvia via SMS quando o template utilizado na campanha estiver com fallback ativo. O campo channel muda de rcs para sms a partir do evento de fallback.

RCS → Fallback SMS — SMS não entregue pela operadora

Diferença entre sent e carrier-sended (canal SMS)

Implemente seu handler de webhook de forma idempotente. Uma mesma mensagem pode gerar eventos de sent e carrier-sended em sequência rápida — ambos são válidos e distintos.

Eventos de Resposta do Destinatário

Além de atualizações de status de entrega, eventos responded e clicked indicam que o destinatário interagiu com a mensagem.