REST API
Documentatie
- Nederlands
- English
Statussen
Print API maakt onderscheid tussen vier bestelstatussen. Gebruik je het betaalscherm, dan is er ook nog een aparte betaalstatus. Zowel de bestelstatus als de betaalstatus kun je opvragen uit de API. Ook heeft Print API webhooks om jouw server automatisch op de hoogte te stellen van statuswijzigingen.
Voorbeeld
Om de laatste bestel- of betaalstatus op te vragen uit de API, heb je de ID van de bijbehorende bestelling
nodig. Je kunt simpelweg een GET
doen op de URL van de bestelling: v2/orders/{id}
.
Vervang {id}
door de ID van de bestelling.
var order = await client.Orders.GetAsync(id);
Console.WriteLine(order.Status);
if (order.Checkout != null)
{
Console.WriteLine(order.Checkout.Status);
}
else
{
Console.WriteLine("Betaalscherm niet gebruikt");
}
Print API maakt onderscheid tussen de volgende vier bestelstatussen:
Created | Bestelling aangemaakt maar onvolledig. Vind hier waarom. |
Processing | Bestelling wordt verwerkt. |
Shipped | Bestelling verstuurd naar de ontvanger. |
Cancelled | Bestelling geannuleerd. |
Daarnaast maakt Print API onderscheid tussen de volgende drie betaalstatussen:
Open | Betaling onvoltooid. De paymentUrl blijft 24 uur beschikbaar. |
Successful | Betaling gelukt. |
Cancelled |
De paymentUrl is verlopen en de bestelling is geannuleerd.
|
Webhooks
Als je gebruik maakt van webhooks, geeft Print API jouw server automatisch een seintje wanneer de status van een bestelling of betaling wijzigt. Een soort push-notificatie, dus. In je instellingen kun je de URL's van jouw webhooks opgeven. Wij versturen nooit gevoelige data naar je webhook, dus HTTPS is optioneel.
HTTP request webhook:POST /jouw-webhook-url HTTP/1.1
Content-Type: application/x-www-form-urlencoded
orderId=59802395
In de request body staat alleen een order ID. Die kun je gebruiken om de nieuwe status uit de API op te vragen, zoals bovenaan deze pagina uitgelegd. Die tussenstap lijkt misschien omslachtig, maar zo wordt voorkomen dat willekeurige personen je webhook kunnen aanroepen met valse informatie.
Voorbeeld webhook code:string id = Request.Form["orderId"];
var order = await client.Orders.GetAsync(id);
// ...verwerk order.Status...
Als antwoord op de aanroep hoeft je webhook alleen de HTTP statuscode 200 OK
terug te geven.
Print API weet dan dat het verwerken van de nieuwe status is geslaagd. Geeft je webhook een andere status
terug, bijvoorbeeld 503 Service Unavailable
, dan probeert Print API het nog negen keer opnieuw:
- Eerste keer mislukt: nieuwe poging na ± 2 minuten
- Tweede keer mislukt: nieuwe poging na ± 5 minuten
- Daarna: nieuwe poging na ± 60 minuten, max. 7 keer
De eerste keer dat de aanroep van je webhook mislukt, krijg je daarvan automatisch per e-mail bericht. Je krijgt nogmaals bericht als de aanroep tien keer is mislukt, en dus niet meer opnieuw wordt geprobeerd.