Order Webhook
De Order Webhook stelt uw systeem op de hoogte van belangrijke gebeurtenissen in de levenscyclus van een bestelling.
Hierdoor kan uw platform in realtime reageren, bijvoorbeeld wanneer een bestelling wordt geplaatst, gedeeltelijk wordt betaald, volledig wordt betaald, wordt gecrediteerd of in de wacht wordt gezet.
Wanneer het wordt geactiveerd
Evenement | Beschrijving | Typisch gebruiksscenario |
order_placed | De klant heeft met succes een bestelling geplaatst. | Markeer order als aangemaakt. |
order_workflow_started | De bestelling is in de interne verwerkingsworkflow opgenomen. | De bestelling kan worden weergegeven als gestart. |
partial_payment_added | Er is een gedeeltelijke betaling voor de bestelling ontvangen. | Vraag de nieuwe bestelgegevens op om het openstaande bedrag aan te passen. |
order_paid | De bestelling is volledig betaald. | Markeer bestelling als betaald. |
partial_credit_added | Er is een gedeeltelijke creditering of terugbetaling toegepast op de bestelling. | Vraag de nieuwe bestelgegevens op om het openstaande bedrag aan te passen. |
order_fully_accredited | Er is een volledige creditering of terugbetaling toegepast op de bestelling. | Markeer de bestelling als volledig geaccrediteerd in het systeem. |
customer_fully_paid | De klant heeft alle openstaande bedragen voldaan. | Markeer bestelling als betaald. |
order_on_hold | De bestelling is tijdelijk in de wacht gezet (bijvoorbeeld in afwachting van beoordeling, geschillenprocedure). | Markeer order als gepauzeerd. |
Voorbeeld payloads
Elke gebeurtenis verzendt een webhook-payload met dezelfde structuur. Alleen de gebeurtenisparameter verandert om de huidige orderstatus aan te geven.
Payload-parameters:
- order_id — uniek id van de Billink-bestelling
- invoice_number_clean - intern factuurnummer
- invoice_number - openbaar factuurnummer, gegenereerd door Billink op basis van invoice_number_clean
- workflow_id - uniek id toegewezen aan de orderworkflow
- event - status van de bestelling, die de webhook heeft geactiveerd
- timestamp - de exacte datum en tijd waarop de webhook werd geactiveerd (formaat J-m-d U:m:s). Tijdzone: Amsterdam, Nederland (GMT+2)
- custom_invoice_id (Wordt mogelijk niet altijd weergegeven) - wordt weergegeven als het bestaat in Billink Session.
Voorbeeld: order_placed
{
"order_id": "123456",
"invoice_number": "1ABINVOICE1234",
"invoice_number_clean": "INVOICE1234",
"workflow_id": "123",
"event": "order_placed",
"timestamp": "2025-10-10 09:45:00",
"custom_invoice_id": "1TST-CUSTOM-INVOICE-12345" //indien ingediend
}Voorbeeld: partial_payment_added
{
"order_id": "123456",
"invoice_number": "1ABINVOICE1234",
"invoice_number_clean": "INVOICE1234",
"workflow_id": "123",
"event": "partial_payment_added",
"timestamp": "2025-10-10 09:45:00",
"custom_invoice_id": "1TST-CUSTOM-INVOICE-12345" //indien ingediend
}Voorbeeld: order_paid
{
"order_id": "123456",
"invoice_number": "1ABINVOICE1234",
"invoice_number_clean": "INVOICE1234",
"workflow_id": "123",
"event": "order_paid",
"timestamp": "2025-10-10 09:45:00",
"custom_invoice_id": "1TST-CUSTOM-INVOICE-12345" //indien ingediend
}Voorbeeld: partial_credit_added
{
"order_id": "123456",
"invoice_number": "1ABINVOICE1234",
"invoice_number_clean": "INVOICE1234",
"workflow_id": "123",
"event": "partial_credit_added",
"timestamp": "2025-10-10 09:45:00",
"custom_invoice_id": "1TST-CUSTOM-INVOICE-12345" //indien ingediend
}Voorbeeld: order_fully_accredited
{
"order_id": "123456",
"invoice_number": "1ABINVOICE1234",
"invoice_number_clean": "INVOICE1234",
"workflow_id": "123",
"event": "order_fully_accredited",
"timestamp": "2025-10-10 09:45:00",
"custom_invoice_id": "1TST-CUSTOM-INVOICE-12345" //indien ingediend
}Voorbeeld: customer_fully_paid
{
"order_id": "123456",
"invoice_number": "1ABINVOICE1234",
"invoice_number_clean": "INVOICE1234",
"workflow_id": "123",
"event": "customer_fully_paid",
"timestamp": "2025-10-10 09:45:00",
"custom_invoice_id": "1TST-CUSTOM-INVOICE-12345" //indien ingediend
}Voorbeeld: order_workflow_started
{
"order_id": "123456",
"invoice_number": "1ABINVOICE1234",
"invoice_number_clean": "INVOICE1234",
"workflow_id": "123",
"event": "order_workflow_started",
"timestamp": "2025-10-10 09:45:00",
"custom_invoice_id": "1TST-CUSTOM-INVOICE-12345" //indien ingediend
}Voorbeeld: order_on_hold
{
"order_id": "123456",
"invoice_number": "1ABINVOICE1234",
"invoice_number_clean": "INVOICE1234",
"workflow_id": "123",
"event": "order_on_hold",
"timestamp": "2025-10-10 09:45:00",
"custom_invoice_id": "1TST-CUSTOM-INVOICE-12345" //indien ingediend
}Levering en herhalingspogingen
Wanneer een webhook wordt geactiveerd, stuurt Billink een HTTPS POST-verzoek naar de door u geconfigureerde webhook-URL met de bijbehorende gebeurtenis-payload.
Als uw eindpunt reageert met HTTP 200-299, zal het systeem automatisch tot drie keer toe opnieuw proberen de levering uit te voeren:
Attempt | Delay before retry |
1st opnieuw proberen | na 5 seconden |
2nd opnieuw proberen | na 10 seconden |
3rd opnieuw proberen | na 15 seconden |
Na drie mislukte pogingen wordt de webhook als onbestelbaar beschouwd en worden er geen verdere pogingen meer ondernomen.
Om een succesvolle levering te garanderen:
- Reageer altijd met HTTP 200 OK zodra uw systeem de webhook ontvangt.
- Verwerk asynchroon om time-outs te voorkomen.
- Log alle inkomende webhook-pogingen voor foutopsporing en afstemming.
What made this section unhelpful for you?
On this page
- Order Webhook