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

  1. Abra o menu da conta e depois Manage e API & webhooks.
  2. No separador Endpoints, clique em Add endpoint.
  3. 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.
  4. Assinale os Events to receive e depois guarde.
  5. 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.

Não encontra a resposta?

Contacte-nos