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 .
Â