Serviço: Webhook de Eventos

Esse serviço é responsável por enviar a um determinado endpoint todos os eventos que ocorreram nas comunicações enviadas pela plataforma.

Segurança

O endpoint deve ser uma URL pública que responda às requisições HTTP/HTTPS.

Também é importante que a URL não esteja num contexto de VPN.

Esse endpoint pode ser autenticado por meio de headers customizados ou receber autorização do tipo basic (user e password).

Envios ao Endpoint

O envio ocorre no momento que os eventos são processados pela plataforma. Trata-se de uma requisição HTTP/HTTPS utilizando o método POST. O conteúdo pode ser um JSON ou XML contendo um ou mais eventos.

O serviço tenta enviar os eventos durante um período de sete dias após a primeira tentativa de envio. O intervalo entre as tentativas de envio é incrementado a cada falha, seguindo a tabela abaixo:

Número de Tentativas

Intervalo

1

Imediato

2

1h

3

2h

4

3h

5

5h

6

8h

6 >

Reinício do intervalo

Após o período de sete dias o envio não ocorrerá mais e os dados “perdidos” podem ser solicitados através do atendimento. Os dados serão gerados em um arquivo no formato CSV e o tempo de geração dependerá do volume em questão.

Tipos de Canais

É possível receber status dos envios de comunicações via webhook pelos seguintes canais:

  • E-mail

  • SMS

  • WhatsApp

  • Print (impresso)

Tipos de Eventos

Evento

Descrição

Processed

Enviado

Dropped

Enviado, porém não entregue por erro

Delivered

Recebido

Click

Algum link dentro da mensagem foi clicado

Bounce

Não entregue

Deferred

Entrega adiada temporariamente

Open

Aberto pelo destinatário

SpamReport

Denúncia de que mensagem enviada tratava-se de spam

Opt-out

Destinatário optou por se descadastrar da lista de recebimento

SentToProvider

Enviado ao provedor

Reply

Respondido

Read

Mensagem lida pelo destinatário

PrintReleased

Pronto para impressão

Printed

Impresso

PrintRestarted

Impressão reiniciada

Eventos por Canal

Cada canal contém eventos específicos:

Eventos

E-mail

SMS

Print

Whatsapp Zenvia

WhatsApp LivePerson

Processed

🟢

🟢

🟢

🟢

🟢

Dropped

🟢

🟢

🟢

🟢

Delivered

🟢

🟢

🟢

🟢

Click

🟢

🟢

🟢 se tiver URL curto

🟢 se tiver URL curto

Bounce

🟢

🟢

🟢

🟢

Deferred

🟢

Open

🟢

SpamReport

🟢

Opt-out

🟢

SentToProvider

🟢

Reply

🟢

🟢

🟢

Read

🟢

Posted

🟢

PrintReleased

🟢

Printed

🟢

PrintRestarted

🟢

Descrição dos campos

Nome do campo

Descrição

Informações Adicionais

created

Data/hora que o evento foi processado pela plataforma.

Formato ISO8601.

tenantId

Identificador do tenant.

tenantName

Nome do tenant.

journeyId

Identificador da jornada.

journeyVersion

Identificador da versão da jornada.

journeyName

Nome da jornada..

nodeKey

Identificador do canal.

nodeName

Nome do canal.

channelKind

Tipo do canal.

shootingId

Identificador do disparo.

shootingCreated

Data/Hora que o disparo ocorreu na plataforma.

shootingCorrelationId

Identificador único do disparo.

Essa informação é fornecida durante o envio pela API do Jornada. Deve ser utilizada pelo cliente para identificar o disparo dentro de sua plataforma.

trackingUrl

Caso seja um evento de clique aqui, será apresentado o link clicado.

Apenas para E-mail, SMS e WhatsApp.

trackingIp

Número do IP onde o evento ocorreu. Pode ocorrer para eventos de clique e abertura de e-mail.

Apenas para E-mail, SMS e WhatsApp.

userAgent

Perfil de navegação utilizado para abrir o e-mail.

Apenas para E-mail, SMS e WhatsApp.

Para mais informações, veja a Wikipedia.

userAgentBrowserFamily

Texto que identifica o navegador onde o evento ocorreu.

userAgentBrowserVersion

Texto que identifica a versão do navegador onde o evento ocorreu.

userAgentOSFamily

Texto que identifica o sistema operacional onde o evento ocorreu.

userAgentOSVersion

Texto que identifica a versão do sistema operacional onde o evento ocorreu.

userAgentDeviceFamily

Texto que identifica o dispositivo onde o evento ocorreu.

carrierName

Nome da operadora do número do telefone que recebeu o SMS.

Essa informação não é fornecida por todas as operadoras.

recipient

Destinatário.

Número do telefone ou e-mail do cliente.

eventType

Tipo do evento.

bounceType

Identifica se é um hard bounce ou soft bounce.

Essa informação ocorre apenas para e-mail.

bounceReason

Descrição detalhada do motivo do bounce.

Essa informação ocorre apenas para e-mail.

response

Texto de uma eventual resposta do destinatário para um SMS recebido.

Essa informação ocorre apenas para SMS.

eventDate

Data do evento em GMT.

Formato ISO8601.

movementDate

Data do movimento.

Formato ISO8601.

movementFileName

Nome do arquivo do movimento.

movementLot

Lote do movimento.

integrationId

Identificador da requisição feita à API para realização do disparo.

Esse informação também é fornecida na resposta da API.

integrationCreated

Data da chamada à API realizada para o disparo.

Formato ISO8601.

integrationProcessingDate

Data que a requisição foi processada pela plataforma.

customerId

Identificador do cliente.

customerName

Nome do cliente.

documentDescription

Descrição do documento.

documentDueDate

Data de vencimento do documento.

Formato ISO8601.

properties

Não é obrigatório e serve apenas para possibilitar que o cliente transite dados pela plataforma até o recebimento no webhook.

ProviderEventId

Identificador único de cada evento.

IsTest

Identifica se é um teste (true) ou não (false).

Exemplo de retorno em JSON

{
                "Created" : "2022-11-08T16:54:30.1990274Z", 
                "TenantId" : "6317a58cc41ba6dac77bab89", 
                "TenantName" : "lighttoi", 
                "JourneyId" : "634d56d9af70a378b9a4308f", 
                "JourneyVersion" : "634d56e2af70a378b9a43091", 
                "JourneyName" : "TOI Digital (Email)", 
                "NodeKey" : "35b46180-4e1f-11ed-957a-936244506c0a", 
                "NodeName" : "EMAIL", 
                "ChannelKind" : "Email", 
                "ShootingId" : "636a89c17f02f6096e63c04f", 
                "ShootingCreated" : "2022-11-08T16:54:25", 
                "ShootingCorrelationId" : "6da9dff4-9aff-430a-a6ef-4853d20cd65c", 
                "TrackingUrl" : "", 
                "TrackingIp" : "", 
                "UserAgent" : "", 
                "UserAgentBrowserFamily" : "", 
                "UserAgentBrowserVersion" : "", 
                "UserAgentOSFamily" : "", 
                "UserAgentOSVersion" : "", 
                "UserAgentDeviceFamily" : "", 
                "CarrierName" : "", 
                "Recipient" : "marcele.silva@light.com.br", 
                "EventType" : "Processed", 
                "BounceType" : "", 
                "BounceReason" : "", 
                "Response" : "", 
                "EventDate" : "2022-11-08T16:54:29.9377152+00:00", 
                "ProviderEventId" : "9AB521C7A5D3716699C5A8D5A3335FF9", 
                "MovementDate" : "2022-11-08", 
                "MovementFilename" : "C77E98A5-887F-4B84-B478-4AD2A3D8832B.JSON", 
                "MovementLot" : "00005", 
                "IntegrationId" : "26B6CFCF3301F0801F1CA15722FAD55E0B1B8FF7FC5DA9D0952507C727193E6F", 
                "IntegrationCreated" : "2022-11-08", 
                "IntegrationProcessingDate" : "2022-11-08", 
                "CustomerId" : "001230976473_10407660_0000000115", 
                "CustomerIdentification" : "001230976473_10407660_0000000115", 
                "CustomerName" : "Administradora Patrimonial Santa Thereza Ltda-me", 
                "DocumentDescription" : "TOIDigital_08112022X", 
                "DocumentDueDate" : "1922-12-08", 
                "IsTest" : true, 
                "Properties" : {
                    "d1idlight" : "001230976473_10407660_0000000115", 
                    "d1email" : "SECRETARIA@ADLOYOLA.COM.BR", 
                    "d1qmnum" : "001230976473", 
                    "d1numtoi" : "10407660", 
                    "d1parceiro" : "0031393518", 
                    "d1instalacao" : "0410874601", 
                    "d1cpf_cnpj" : "7608505000182"
                }
            }

Last updated