Webhooks ontvangen aan het einde van een workflow

In je systemen op de hoogte worden gebracht wanneer een workflowuitvoering eindigt, mislukt of wordt gestopt, en de handtekening van de verzendingen controleren.

Webhooks brengen je systemen op de hoogte wanneer een workflowuitvoering eindigt. Upsellr stuurt dan een request naar het adres van je keuze. Ze zijn inbegrepen in het Enterprise-abonnement.

De events

Event Wanneer het wordt verstuurd
workflow.run.completed Een uitvoering eindigt met succes
workflow.run.failed Een uitvoering mislukt
workflow.run.stopped Een gebruiker stopt een uitvoering

Elke verzending bevat de volledige weergave van de uitvoering, in hetzelfde formaat als de publieke API. Het tabblad Event catalogue beschrijft dat formaat.

Een endpoint toevoegen

  1. Open het accountmenu, daarna Manage en API & webhooks.
  2. Klik in het tabblad Endpoints op Add endpoint.
  3. Vul een Name en de Endpoint URL in. Alleen publieke HTTPS-adressen worden geaccepteerd: privénetwerken en redirects worden geblokkeerd.
  4. Vink de Events to receive aan en sla op.
  5. Kopieer het ondertekeningsgeheim. Het wordt maar één keer getoond.

Een endpoint kan worden gepauzeerd en daarna weer ingeschakeld. Raak je het geheim kwijt, klik dan op Rotate secret en werk je ontvanger meteen bij.

De handtekening controleren

Elke verzending bevat twee headers: X-Upsellr-Timestamp, het tijdstempel van de verzending, en X-Upsellr-Signature, in de vorm v1= gevolgd door een hexadecimale hash in kleine letters. De hash is een HMAC-SHA256, berekend met het geheim van het endpoint, over het tijdstempel, een punt, en daarna de ruwe body van de request.

Controleer de handtekening op de ruwe body, voordat je de JSON decodeert. Vergelijk de handtekeningen in constante tijd en weiger tijdstempels die te oud zijn.

Verzendingen en nieuwe pogingen

  • De events vertrekken als JSON, via een POST-request. Elk 2xx-antwoord bevestigt de ontvangst.
  • Bij een mislukking probeert Upsellr het opnieuw na 1 minuut, 5 minuten, 30 minuten, 4 uur en 24 uur.
  • Een event kan meer dan eens aankomen, en de volgorde is niet gegarandeerd: ontdubbel op event-ID.

Het leveringslogboek

Het tabblad Event deliveries toont de verzendingen van de afgelopen 7 dagen, met hun status, hun pogingen en hun inhoud. Klik bij een mislukte verzending op Replay failed delivery: hetzelfde event vertrekt opnieuw, met dezelfde ID.

Goed om te weten

  • Alleen eigenaren en beheerders beheren de endpoints en spelen verzendingen opnieuw af.
  • Een endpoint verwijderen annuleert de openstaande verzendingen. De bestaande logboeken blijven bewaard.

Geen antwoord gevonden?

Neem contact op