Introdução
O Webhook é uma ferramenta que permite que sistemas externos sejam notificados automaticamente quando determinadas ações ocorrem na plataforma Even3. Ao configurar uma URL para recebimento, a Even3 enviará uma requisição HTTP POST com os dados relevantes do evento no momento em que uma ação ocorrer.
Para utilizar, o organizador deverá cadastrar uma ou mais URLs de destino e selecionar quais ações (gatilhos) deseja monitorar. Abaixo, listamos os gatilhos disponíveis e o momento exato em que cada um é disparado:
- Participante
- Participante com inscrição pendente no evento
- Participante com inscrição confirmada no evento
- Participante com inscrição cancelada no evento
- Participante com inscrição pendente em uma atividade
- Participante com inscrição confirmada em uma atividade
- Participante com inscrição cancelada em uma atividade
- Participante realizou check in no evento
- Participante realizou check in na atividade
- Venda
- Venda iniciada
- Venda aprovada
- Venda reprovada
- Venda cancelada\reembolsada
- Submissão
- Submissão realizada
- Submissão aprovada
- Submissão reprovada
- Submissão excluída
Após escolhida a ação desejada, é necessário o cadastro da URL de destino, esta que por sua vez receberá as informações da plataforma Even3.
Dica: O ideal é configurar uma URL específica para cada Ação. No entanto, também é possível usar uma única URL para todas. Com os dados enviados pela Even3 no corpo do POST, é possível identificar a qual Ação ele se refere.
Descrição de cada ação
🔔 Gatilhos de Participante
Nome do Gatilho | Quando é disparado | Momento do envio para fila | Observação |
---|---|---|---|
Participante com inscrição pendente no evento | Ao iniciar o processo de inscrição sem concluir (ex: antes do pagamento) | Este gatilho pode levar até 30 minutos para ser enviado. O objetivo é aguardar a confirmação do status da inscrição, evitando notificações desnecessárias.* | Esse prazo é considerando o prazo do checkout padrão que é de 15 minutos. |
Participante com inscrição confirmada no evento | Quando a inscrição do participante é confirmada no evento | Assim que a inscrição for confirmada | Independe de pagamento: a inscrição pode ser feita de forma gratuita ou paga, ou até de forma manual pela organização |
Participante com inscrição cancelada no evento | Quando a inscrição do participante é cancelada | Assim que a inscrição é cancelada. | Esse gatilho é quando o Participante sai do Status “Confirmado” para “Não inscrito”. Seja manualmente (via organizador) ou automática (cancelamento de venda) |
Participante com inscrição pendente em uma atividade | Quando o participante escolhe uma atividade, mas a inscrição nela ainda não foi confirmada | Este gatilho pode levar até 30 minutos para ser enviado. O objetivo é aguardar a confirmação do status da inscrição, evitando notificações desnecessárias. | 30 minutos é considerando o prazo do checkout padrão: 15 minutos. |
Participante com inscrição confirmada em uma atividade | Quando a inscrição na atividade é aprovada | Assim que o status muda para “confirmado” | A inscrição pode ser gratuita ou paga. Pode envolver aprovação manual (Pelo Organizador) ou automática |
Participante com inscrição cancelada em uma atividade | Quando a inscrição na atividade é cancelada | Assim que o status muda para “não inscrita” | Se a pessoa estava inscrita na atividade e não está mais |
Participante realizou check-in no evento | Quando o participante realiza o check-in no evento principal | Assim que o check-in é confirmado | Pode ocorrer via Leitura do QR Code, API ou manualmente no área de Credenciamento. |
Participante realizou check-in na atividade | Quando o participante realiza check-in em uma atividade específica | Assim que o check-in é confirmado | Pode ocorrer via Leitura do QR Code, API ou manualmente no área de Credenciamento. |
* Por exemplo, se o participante gera um Pix e paga em alguns minutos, enviar a notificação imediatamente resultaria em um status “Pendente” seguido de “Confirmado”. O atraso garante mais precisão nas notificações.
💳 Gatilhos de Venda
Nome do Gatilho | Quando é disparado | Momento do envio para fila | Observação |
---|---|---|---|
Venda iniciada | Quando um participante acessa o checkout e gera uma tentativa de compra. | Imediato após gerar o pagamento. Não interessa o método de pagamento | |
Venda aprovada | Quando o pagamento é confirmado (cartão, boleto, pix) | Imediato, após confirmação de pagamento. | |
Venda reprovada | Quando o pagamento falha (recusa, expiração, erro) | Assim que a falha é registrada | |
Venda cancelada/reembolsada | Quando a venda é cancelada ou reembolsada | Imediato, após o cancelamento ou reembolso | Pode ocorrer por solicitação manual (cancelamento pelo organizador) ou automática (chargeback do participante). |
📄 Gatilhos de Submissão
Nome do Gatilho | Quando é disparado | Momento do envio para fila | Observação |
---|---|---|---|
Submissão realizada | Quando um participante submete um trabalho | Imediato, após a submissão ser salva com sucesso | |
Submissão aprovada | Quando a submissão recebe parecer positivo | Assim que o status muda para "aprovada" | Poderá ser via avaliador ou manualmente pelo organizador. |
Submissão reprovada | Quando a submissão é reprovada | Assim que o status muda para "reprovada" | Poderá ser via avaliador ou manualmente pelo organizador. |
Submissão excluída | Quando uma submissão é removida do sistema | Imediato, após a exclusão | A exclusão pode ser feita por organizador ou participante (respeitando as regras) |
Envio para a Fila vs. Entrega do Webhook
É importante diferenciar o momento de envio para a fila do momento de entrega do webhook. Esses são dois processos distintos no fluxo de notificação:
- Envio para a fila (Dispatch): É o momento em que a ação é registrada internamente e colocada na fila de processamento, conforme o tempo definido na coluna “Momento do envio para a fila”. Isso não significa que o webhook foi imediatamente enviado ao sistema externo.
- Entrega do webhook ao sistema (Delivery): É quando o sistema efetivamente realiza o envio do webhook para a URL configurada. Esse envio depende da carga atual da fila e da prioridade de envio. Eventos vinculados a contratos corporativos, por exemplo, podem ter prioridade maior na fila de entrega.
Essa separação permite maior controle, escalabilidade e priorização no envio das notificações.
Códigos de resposta
O Webhook usa o padrão de códigos de resposta HTTP para indicar o sucesso ou falha de cada requisição, exceto quando o motivo do erro com um serviço não pôde ser determinado, retornando o status -1.
No geral, um código de status pode ser rapidamente identificado por seu primeiro dígito:
Códigos de resposta HTTP
Operações que resultam em um erro que ocorreu por conta do cliente (por exemplo: token de acesso inválido) vão retornar um código no intervalo 4xx e indicam que a requisição está, de alguma forma, inválida. Se você receber um erro 4xx, recomendamos que leia o nosso glossário de erros para ajudá-lo a solucionar o problema.
Os códigos de erros no intervalo 5xx sugerem um problema no serviço cadastrado no momento da configuração do webhook. Em caso de dúvidas, entre em contato com o responsável da sua empresa, os status utilizados seguem o padrão HTTP, já muito consolidado no mercado. Caso a dúvida persista, estamos disponíveis para lhe ajudar através do suporte.
Status | Descrição |
---|---|
2XX | Tudo certo |
4XX | A requisição enviada está de alguma forma inválida. |
5XX | Ocorreu algum erro interno não esperado e não foi possível completar a requisição. |
Possíveis erros
Em caso de respostas de erro, confira algumas dicas do que você pode fazer para solucionar.
Status | Descrição |
---|---|
400 | Seu serviço identificou que algum parâmetro obrigatório não foi enviado ou é inválido. |
401 | O serviço está exigindo algum tipo de chave para autenticação. Verifique se seu serviço precisa de alguma chave para acessar. |
404 | A URL configurada no seu serviço não existe. |
408 | A conexão com o seu servidor foi estabelecida e o evento foi disparado, porém sua aplicação não retornou a resposta dentro do tempo esperado. |
5xx | A conexão foi feita com seu serviço e o evento enviado, porém a aplicação não retornou uma resposta dentro do tempo esperado ou aconteceu algum erro não tratado.. |
-1 | A conexão foi feita com seu serviço e o evento enviado, porém a aplicação encerrou a conexão antes do tempo esperado sem informar o motivo do erro. |
Política de reenvio
Caso a tentativa inicial de entrega do webhook falhe — seja por resposta com código HTTP diferente da faixa 2XX ou por timeout superior a 60 segundos — o sistema executará até três tentativas automáticas com os seguintes intervalos progressivos:
- 1ª retentativa: após 15 minutos
- 2ª retentativa: após 30 minutos
- 3ª retentativa: após 150 minutos
Se todas as tentativas, incluindo a original, resultarem em falha, a entrega será marcada como mal sucedida.
Além disso, se um determinado webhook acumular 3 dias consecutivos sem nenhuma entrega bem-sucedida, ele será automaticamente desativado e removido do sistema.
Estrutura
Todo o envio terá a informação de qual Ação se refere. No exemplo abaixo, a ação é “Participante com inscrição confirmada no evento”. Toda ação enviada, terá um identificador único para cada disparo.
"id": "14B063E9-7290-4642-AC42-672542204765",
"created": 1680626522,
"type": {
"id": 2,
"name": "Participante com inscrição confirmada no evento"
}
Um exemplo completo para a ação “Participante com inscrição confirmada no evento”:
"pessoa": {
"id": 111111,
"nome": "Fulano De tal",
"email": "fulano@gmail.com",
"nacionalidade": "Brasileira",
"cpf": "",
"passaporte": "",
"nome_para_cracha": "",
"celular": "",
"telefone_fixo": "",
"formacao_academica": null,
"area_conhecimento": null,
"subarea_conhecimento": null,
"genero": "M",
"instituicao": "Não Respondeu",
"foto": " ",
"data_nascimento": null,
"cargo_instituicao": null,
"endereco.rua": "",
"endereco.numero": "",
"endereco.bairro": "",
"endereco.cep": "",
"endereco.cidade": null,
"endereco.estado": null,
"endereco.pais": "Brasil",
"cultura": "pt",
"personalizado": []
},
"inscricao": {
"id": 12345,
"codigo": "12345",
"titulo": "Entrada Teste",
"data_inscricao": "2023-02-09T13:26:00"
},
"evento": {
"id": 1111,
"url": "teste-1111",
"titulo": "Evento Teste",
"data": "2023-02-19T00:00:00"
}
📘 FAQ – Gatilhos de Inscrição e Venda (Webhook Even3)
🔹 Qual a diferença entre inscrição e venda?
- Inscrição: Ato de se cadastrar no evento, independentemente do pagamento.
- Venda: Ato de adquirir um ingresso pago, gerando uma transação financeira.
💡 Eventos gratuitos não geram gatilhos de venda, apenas de inscrição.
🔹 Quero apenas saber se a pessoa está inscrita. Qual gatilho devo usar?
Se você precisa apenas identificar os participantes inscritos, sem considerar se houve pagamento, o gatilho de “inscrição” é suficiente.
Isso vale tanto para a inscrição no evento quanto inscrição em atividades específicas.
🔹 O que acontece se a pessoa gerou um pagamento mas não pagou?
Você deve receber dois gatilhos:
- Participante com inscrição pendente no evento
- Venda iniciada
🔹 A pessoa se inscreveu e pagou, quais gatilhos são enviados?
Neste caso, também são dois:
- Venda aprovada
- Participante com inscrição confirmada no evento
🔹 Em que situações uma inscrição fica pendente?
Uma inscrição fica pendente quando:
- O participante finaliza o checkout, mas não conclui o pagamento;
- A inscrição é gerada via link direto, mas o pagamento não é realizado;
- O ingresso é emitido, mas o status depende de aprovação ou outro gatilho posterior.
🔹 O que acontece se eu cancelo a venda ?
Por padrão, cancelar a venda já cancela a inscrição vinculada.
Ao cancelar serão disparados 2:
- Venda cancelada\reembolsada
- Participante com inscrição cancelada no evento
🔹 Como faço para relacionar uma venda a uma inscrição?
O payload do gatilho de confirmação de inscrição inclui o código do ingresso. Esse mesmo código estará presente no gatilho de venda, permitindo que você relacione ambos os registros.
🔹 Existem casos onde a inscrição não está relacionada a uma venda?
Sim. Exemplos:
- Participantes cadastrados manualmente pelo organizador;
- Inscrições em eventos gratuitos;
- Acesso direto ao login do evento, sem passar pelo checkout.
Comentários
0 comentário
Por favor, entre para comentar.