Documentatie webhooks

Een webhook is een soort API die een bericht zal versturen naar een ingestelde (externe) url. Er zijn verschillende momenten waarop zo'n bericht verstuurd kan worden: dankzij webhooks kan je dus "inhaken" op een specifieke actie.

Je kan webhooks toevoegen onder jouw organisatie, via het Tools menu.

Acties
Momenteel zijn volgende types beschikbaar:
  • Barcode: scanned
  • Bestelling:
    - created: de bestelling is aangemaakt, maar daarom nog niet uitgevoerd (bv nog geen betaling)
    - canceled: een annulatie op een bestelling, bv een terugstorting van een of alle items, een swap, ...
    - executed: bestelling uitgevoerd, bv na betaling of automatisch bij een gratis bestelling
  • Profiel (lees meer over profielen):
    - created: het klant profiel bestond nog niet werd aangemaakt
    - updated: de gegevens van het profiel werden aangepast
  • Profiel interactie:
    - created: er is een nieuwe interactie op het profiel toegevoegd (bv een ticket van het profiel werd gescand, het profiel plaatste een nieuwe bestelling ...)
  • Klant:
    - created: de klant werd aangemaakt (na het vervolledigen van de klant stap in het bestelproces)
    - updated: de klant werd aangepast nadat deze reeds eerder werd aangemaakt, in de admin, of tijdens het bestelproces (door terug te keren naar de klant stap).
Van zodra een actie is getriggerd zal de gekozen url die ingesteld is in de webhook aangeroepen worden. Dit zowel bij een automatische actie (bv na bestelling uitgevoerd na betaling van de bestelling) als een manuele actie door de gebruiker in de admin (bv ticket manueel scannen). 

Logica
  • Tickoweb verwacht een HTTP200 antwoord van de url
  • Indien er geen of een ander antwoord ontvangen zou worden, zal de webhook opnieuw worden uitgevoerd na respectievelijk: 3, 9, 27, 81 en 243 minuten. Ontvangen we na de laatste poging geen antwoord zal de webhook definitief worden gesloten en niet meer herhaald worden.
  • De webhook bevat, afhankelijk van de gekozen actie, de data van het object in JSON formaat. De definitie volgt het OpenAPI schema, beschikbaar op https://openapi.tickoweb.be/v1. Bv voor de actie "bestelling uitgevoerd" zal het schema "Order" worden verzonden naar de ingestelde URL.