Webhooks configureren via API

Hiervoor moet gebruik worden gemaakt van de swaggerpagina van de api en er moet geautoriseerd zijn als superuser.

https://berger.assistanceonline.nl/api/swagger

Opvragen van de bestaande definities

De bestaande definities kunnen worden opgevraagd met GET /webhooks-definitions/

NB. Alleen de webhook definitie 'OrderStatusChanged' bestaat nu.

Opvragen van de bestaande webhooks

Met gebruik van GET /webhooks kunnen de bestaande definities worden opgevraagd.
Met gebruik van GET /webhooks/:id kan een bestaande definitie worden opgevraagd.

NB. Bij de aanvragen wordt per webhook dezelfde informatie terug gegegeven.

Wijzigen van een webhook of toevoegen van een webhook

Met gebruik van PUT /webhooks/:id kan een bestaande webhook worden aangepast.

Met gebruikt van POST /webhooks kan een nieuwe webhook worden toegevoegd.

De body is bij beide methode hetzelfde

{ "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "name": "Naam van deze webhook", "webhookDefinitionName": "nl.assistanceonline.webhooks.orderstatuschanged.v1", // verwijzing naar bestaande webhookdefinition "httpConfiguration": { // configuratie waarmee bericht naar extern systeem wordt gestuurd "method": "POST", / "url": "https://some.url", "username": "user", // username en password worden gebruikt voor Basic authenticatie "password": "pwd", "httpHeaders": [ // eventueel aanvullende headers { "key": "string", "value": "string" } ] }, "filter": { "filterTemplate": "string" // zie uitleg verderop in dit artikel }, "includedResourceNames": [ // zie uitleg verderop in dit artikel "Order", "Customer", "Company", "IncidentLocation", "InterimLocations", "DestinationLocation", "ImOrder", "Vehicle", "Jobs", "JobBillings" ], "isActive": true // status van de webhook. }

Verwijderen van een webhook

Met gebruik van DELETE /webhooks/:id kan een webhook worden verwijderd

NB. Deze actie kan niet meer ongedaan worden gemaakt, anders dan een nieuwe webhook configureren.

Status wijzigen van een webhook

Met gebruik van PUT /webhooks/:id/status kan een webhook ge(de)activeerd worden

Voor een webhook die niet actief is, worden de events in Assistance Online genegeerd en wordt er geen bericht verstuurd naar een extern systeem.

Opvragen logging

Met gebruik van GET /webhooks/:id/invocations en GET /webhooks/:id/invocations/:invocationId kan de logging worden opgevraagd .

Â