Os eventos de webhook e seus corpos
Cada evento marcado na tela de configuração gera um POST para o seu endereço. Esta página lista
os eventos de cada canal e o corpo que chega em cada um.
O nome do evento vem no campo event do corpo e também no cabeçalho X-iPORTO-Event.
Canal e-mail
Seção intitulada “Canal e-mail”| Evento | Como aparece na tela | Quando acontece |
|---|---|---|
msg_deliverability_yes_queue |
Mensagem recebida | a mensagem foi aceita — somente no envio pela API; o envio por SMTP não gera este evento |
msg_deliverability_yes_delivery |
Mensagem entregue ao destinatário | a mensagem foi entregue ao servidor do destinatário |
msg_deliverability_not_delivery_soft_bounce |
Falha temporária na entrega | recusa temporária do provedor; a entrega ainda pode acontecer |
msg_deliverability_not_delivery_hard_bounce |
Falha permanente na entrega | recusa definitiva, normalmente endereço inexistente |
msg_deliverability_not_accepted |
Mensagem rejeitada (total ou parcial) | a mensagem foi descartada por filtro do destino |
msg_engagement_open |
E-mail foi aberto pelo destinatário | o destinatário abriu a mensagem |
msg_engagement_click |
Link do e-mail foi clicado | o destinatário clicou em um link |
msg_engagement_compliance_spam |
E-mail foi marcado como spam | o destinatário marcou a mensagem como spam e o provedor nos avisou |
Canal SMS
Seção intitulada “Canal SMS”| Evento | Quando acontece |
|---|---|
msg_deliverability_yes_delivery |
o SMS foi aceito pela operadora |
msg_deliverability_not_accepted |
o SMS não foi aceito |
Eventos que aparecem na tela e ainda não são enviados
Seção intitulada “Eventos que aparecem na tela e ainda não são enviados”Algumas caixas existem na tela e não têm origem hoje. Marcá-las não causa erro e não gera envio — estão listadas aqui de propósito, porque é melhor você saber que não vai receber do que esperar por um evento que não vem.
| Evento | Canal |
|---|---|
msg_engagement_unsubscribe |
SMS |
msg_engagement_compliance_spam |
SMS |
msg_engagement_answer |
SMS |
msg_deliverability_yes_queue |
SMS |
No canal Prospecção, a configuração existe e nenhum evento é gerado por envio real.
Os corpos
Seção intitulada “Os corpos”São três formas, pela origem do evento. Os campos não listados aqui podem aparecer e não devem ser usados: o que esta página descreve é o que tem contrato.
Mensagem processada — entrega, falha e descarte
Seção intitulada “Mensagem processada — entrega, falha e descarte”{ "email": [ ], "event": "msg_deliverability_yes_delivery", "about": { "status": "msg:yes:finished", "sum_hard_bounce": 0, "sum_soft_bounce": 0, "sum_discarded": 0 }, "param": { "message_id": "1s9KpQ-0004Zx-2H", "message_id_relay": "1s9KpR-0007Bd-9K", "message_tracking_code": "<o seu código de rastreio>", "tags": [ "transacional", "pedido-1234" ], "id": "<identificador do registro>" }}about.status e os contadores dizem o desfecho: sum_hard_bounce em 1 na falha permanente,
sum_soft_bounce na temporária, sum_discarded no descarte por filtro.
Aceite pela API
Seção intitulada “Aceite pela API”{ "event": "msg_deliverability_yes_queue", "about": { "status": "msg:yes:queue" }, "param": { "message_tracking_code": "<o seu código de rastreio>", "http_request_params": { "subject": "Seu pedido 1234", "html_body": "<html>corpo</html>" }, "id": "<identificador do registro>" }}Engajamento — abertura e clique
Seção intitulada “Engajamento — abertura e clique”{ "email": null, "event": "msg_engagement_click", "about": { "status": "msg:yes:finished", "sum_hard_bounce": null, "sum_soft_bounce": null, "sum_discarded": null }, "param": { "message_id": "1s9KpQ-0004Zx-2H", "message_id_relay": "1s9KpR-0007Bd-9K", "message_tracking_code": "<o seu código de rastreio>", "tags": [ "transacional", "pedido-1234" ], "link": "https://cliente.com.br/pedido/1234", "id": "<identificador do registro>" }}No clique, param.link traz o endereço clicado. Na abertura, o campo não existe.
Canal SMS
Seção intitulada “Canal SMS”{ "phone": "5511999998888", "event": "msg_deliverability_yes_delivery", "about": "", "param": { "id": "<identificador do registro>" }}As etiquetas
Seção intitulada “As etiquetas”O campo param.tags traz as etiquetas que você enviou na requisição de envio, no campo tags.
Elas viajam com a mensagem e voltam em todo evento dela — é o caminho para carregar a sua própria
classificação (campanha, tipo de mensagem, identificador de pedido) sem depender de uma consulta
do seu lado.
O formato não muda
Seção intitulada “O formato não muda”O formato descrito aqui é estável. Se publicarmos um formato novo, ele será opcional e escolhido por endereço: nada do que está nesta página deixa de valer para quem já integrou.
