Receber webhooks no fim de um workflow
Ser avisado nos seus sistemas quando uma execução de workflow termina, falha ou é parada, e verificar a assinatura dos envios.
Os webhooks avisam os seus sistemas quando uma execução de workflow termina. A Upsellr envia então um pedido para o endereço à sua escolha. Estão incluídos no plano Enterprise.
Os eventos
| Evento | Quando é emitido |
|---|---|
| workflow.run.completed | Uma execução termina com sucesso |
| workflow.run.failed | Uma execução falha |
| workflow.run.stopped | Um utilizador para uma execução |
Cada envio contém a representação completa da execução, no mesmo formato que a API pública. O separador Event catalogue descreve esse formato.
Acrescentar um endpoint
- Abra o menu da conta e depois Manage e API & webhooks.
- No separador Endpoints, clique em Add endpoint.
- Preencha um Name e o Endpoint URL. Só são aceites endereços HTTPS públicos: as redes privadas e os redirecionamentos são bloqueados.
- Assinale os Events to receive e depois guarde.
- Copie o segredo de assinatura. Só é mostrado uma vez.
Um endpoint pode ser posto em pausa e depois reativado. Se perder o segredo, clique em Rotate secret e atualize o seu recetor de imediato.
Verificar a assinatura
Cada envio leva dois cabeçalhos: X-Upsellr-Timestamp, a marca temporal do envio, e X-Upsellr-Signature, na forma v1= seguido de uma impressão hexadecimal em minúsculas. A impressão é um HMAC-SHA256, calculado com o segredo do endpoint, sobre a marca temporal, um ponto e depois o corpo bruto do pedido.
Verifique a assinatura sobre o corpo bruto, antes de descodificar o JSON. Compare as assinaturas em tempo constante e rejeite as marcas temporais demasiado antigas.
Envios e novas tentativas
- Os eventos são enviados em JSON, por um pedido POST. Qualquer resposta 2xx confirma a receção.
- Em caso de falha, a Upsellr tenta novamente após 1 minuto, 5 minutos, 30 minutos, 4 horas e 24 horas.
- Um evento pode chegar mais do que uma vez, e a ordem não é garantida: elimine duplicados pelo identificador do evento.
O registo de entregas
O separador Event deliveries lista os envios dos últimos 7 dias, com o seu estado, as suas tentativas e o seu conteúdo. Para um envio falhado, clique em Replay failed delivery: o mesmo evento volta a ser enviado, com o mesmo identificador.
Bom saber
- Só os proprietários e os administradores gerem os endpoints e reenviam os envios.
- Eliminar um endpoint cancela os seus envios pendentes. Os registos existentes são conservados.





