Dit document is nog work in progress.
Webhook Events
Overzicht van de verschillende webhook events waarop ingehaakt kan worden.
OrderStatusChanged
Gaat af bij iedere mutatie van de dossierstatus. De huidige statussen die in AO voorkomen:
New (Nieuw)
Accepted (Geaccepteerd)
Assigned (Toegewezen)
Arrived (Ter plaatse)
Loaded (Opgeladen)
InterimLocation (Op tussen bestemming)
Plannable (Planbaar voor doortransport, tweede behandeling aangemaakt)
TransportAfterFirstService (Doortransport toegewezen)
Destination (Eindbestemming, auto gelost op eindbestemming en opdracht gereed)
Invoiced (Gefactureerd)
Empty (Loze rit)
Canceled (Vervallen)
Credited (Gecrediteerd)
Definities
Hieronder wordt kort toegelicht hoe responses van de webhooks eruit komen te zien. De basis bestaat uit en CloudEvent met daarin één Event en optioneel een aantal Resources.
Event data
Ieder event heeft drie vaste velden, de overige velden zijn afhankelijk van het type event.
Veld | Type | Omschrijving | Voorbeeld |
---|---|---|---|
resourceReference | String | Referentie naar het resource voor het opvragen van meer details | /tenants/1/orders/fc9036ec-eb4a-496c-8c77-e972e3e800aa |
eventType | String | Event type | ao.order.statuschanged |
resources | Dictionary<string, ResourceBase> | Dictionary met alle resources. (eventueel gefiltered door de instelling in de webhook) De key is de locatie in de API en resources refereren onderling via de key |
|
ao.order.statuschanged
Status mutaties van een dossier in AO:
{ "orderNumber": "O-0000303", "previousStatus": "Accepted", "newStatus": "Assigned", "resourceReference": "/tenants/1/orders/017a1434-117a-4d6f-8842-3fa81e0427d4", "eventType": "nl.assistanceonline.webhooks.orderstatuschanged.v1", "resources": { "/tenants/1/orders/017a1434-117a-4d6f-8842-3fa81e0427d4": { /* orderdata */ } } }
Veld | Type | Omschrijving | Voorbeeld |
---|---|---|---|
orderNumber | String | Ordernummer zoals bekend in AO Let op: Dit veld is leeg bij nog niet geaccepteerde opdrachten | O-2387923 |
previousStatus | String | Vorige opdrachtstatus (zie OrderStatusChanged voor events) Let op: Dit veld is leeg bij opdrachten met de status ‘New’ | New |
newStatus | String | Nieuwe opdrachtstatus | Accepted |
Resource data
Iedere resource bevat twee standaard velden:
Veld | Type | Omschrijving | Voorbeeld |
---|---|---|---|
resourceReference | String | Referentie naar het resource voor het opvragen van meer details | /tenants/1/orders/fc9036ec-eb4a-496c-8c77-e972e3e800aa |
resourceType | String | Typering van de resource. B.v. Order, Job, Location, etc. | Order |
JobBillingResource
Veld | Type | Omschrijving | Voorbeeld |
---|---|---|---|
type | String | Soort doorbelasting:
| Automatic |
customerOrderNumber | String | Inkoopopdrachtnummer | S1234235 |
debtor | RelationReference | Referentie naar debiteurinformatie | |
invoice | InvoiceReference | Referentie naar factuurinformatie (InvoiceResource wordt nog niet meegestuurd) | Zie InvoiceReference |
JobResource
Veld | Type | Omschrijving | Voorbeeld |
---|---|---|---|
type | String | Behandelingstype:
| BreakDownAssistance |
solution | String | Tekstuele toelichting van uitgevoerde werkzaamheden | Band gepropt en garage advies gegeven |
executeAfterDateTime | DateTimeOffset | Optioneel opgegeven tijdstip vanaf wanneer de opdracht uitgevoerd mag worden | 2020-11-06T14:36:00.000+02:00 |
executeBeforeDateTime | DateTimeOffset | Leadtijd, uiterste tijd om ter plaatse te zijn | 2020-11-06T14:36:00.000+02:00 |
result | String | Behandelingsresultaat. Dit is afhankelijk van het type behandeling. Pechhulp specifiek:
Berging specifiek:
Overige uitkomsten:
| BreakdownAssistanceOk |
locations | OrderLocationReference[] | Lijst met locatiereferenties | |
statusReports | StatusReports[] | Lijst met statusupdates | Zie StatusReport |
order | OrderReference | Referentie naar de opdracht, kan leeg zijn | Zie OrderReference |
imOrder | ImOrderReference | Referentie naar de imOpdracht, kan leeg zijn | Zie ImOrderReference |
IMOrderDetailsResource
Veld | Type | Omschrijving | Voorbeeld |
---|---|---|---|
imNumber | String | IM-nummer | LCM20123456-IM |
llNumber | String | LL-nummer | LCM20123456-1 |
receivedAt | DateTimeOffset | Datum en tijd van waarop de melding is ontvangen | 2020-11-06T14:36:00.000+02:00 |
orders | OrderReference[] | Referenties naar opdrachtdossiers die zijn aangemaakt naar aanleiding van deze melding Let op: Bij nieuwe IM-melding is het mogelijk dat er nog geen opdrachten zijn aangemaakt. | Zie OrderReference |
company | RelationReference | Referentie naar relatiedetails van de uitvoerende berger | |
customer | RelationReference | Referentie naar relatiedetails van opdrachtgever | |
description | String | Tekstuele toelichting | WIS aanrijdend;Pa:1 Vluchtstrook rechts lekke band verkeerszijde |
district | String | Rayon van deze melding | NH131 |
status | String | Voortgang van de melding
Let op: Een IM-melding is klaar als de berger ter plaatse is en gaat dan verder in het gerelateerde opdrachtdossier of als de rit loosgemeld is. | Assigned |
LocationResource
Veld | Type | Omschrijving | Voorbeeld |
---|---|---|---|
type | String | Locatie type
| Address |
name | String | Naam van het adres | RGB+ Automatisering B.V. |
address | Address | Adresdetails Let op: Dit veld is alleen gevuld als type ‘Address’ is | Zie Address |
mainRoad | MainRoad | Hoofdwegdetails Let op: Dit veld is alleen gevuld als type ‘MainRoad’ is | Zie MainRoad |
coordinates | Coordinates | Coordinaten van deze locatie | Zie Coordinates |
remark | String | Adres toelichting | Melden bij receptie |
OrderResource
Veld | Type | Omschrijving | Voorbeeld |
---|---|---|---|
orderNumber | String | Opdrachtnummer binnen AO | O-2387923 |
type | String | Opdrachttype
| ErrorParked |
company | RelationReference | Referentie naar relatiedetails van de uitvoerende berger | |
customer | RelationReference | Referentie naar relatiedetails van opdrachtgever | |
description | String | Toelichting op het dossier | SPOED, 5 min vtv bellen Lekke band, RA, Oorzaak onbekend. In de ondergrondse pkg Verwisselen ging niet. Reserveband is ook lek. |
externalReference | String | Kenmerk van de opdrachtgever | T123456 |
orderDateTime | DateTimeOffset | Moment van aanmaken van de opdracht | 2020-11-06T14:36:00.000+02:00 |
district | String | Rayon van de incidentlocatie | NH131 |
cause | String | Toelichting van de oorzaak | Lege accu |
status | String | Orderstatus
| Accepted |
isOnHold | Boolean | Wanneer het dossier op OnHold staat, is de berger tegen iets blokkerend aangelopen. | false |
incidentLocation | OrderLocationReference | Locatie van het incident | |
interimLocations | OrderLocationReference[] | Lijst met eventuele tussenbestemmingen | |
destinationLocation | OrderLocationReference[] | Eindbestemming van het voertuig dat is betrokken bij deze opdracht | |
imOrder | ImOrderReference | Referentie naar de imOpdracht, kan leeg zijn | Zie ImOrderReference |
jobs | JobReference[] | Referentie naar de behandelingen bij deze opdracht | Zie JobReference |
jobBillings | JobBillingRefernce | Referentie naar de jobbillings bij deze opdracht | Zie JobReference |
RelationResource
Veld | Type | Omschrijving | Voorbeeld |
---|---|---|---|
name | String | Relatienaam | RGB+ Automatisering B.V. |
debtorNumber | String | Debiteurnummer, zoals deze relatie bekend staat in de boekhouding van de berger | 1000032 |
VehicleResource
Veld | Type | Omschrijving | Voorbeeld |
---|---|---|---|
licensePlate | String | Kenteken | AB123C |
chassisNumber | String | Chassisnummer | ZFFXA20A4J0076551 |
state | VehicleState | Staat van het voertuig | Zie VehicleState |
properties | VehicleProperties | Eigenschappen van het voertuig |
Overige data
Aanvullende data objecten waarmee resources verrijkt kunnen zijn.
Address
Veld | Type | Omschrijving | Voorbeeld |
---|---|---|---|
streetName | String | Straatnaam | Spitsstraat |
houseNumber | String | Huisnummer en eventuele toevoegingen | 17a |
city | String | Plaats | Raalte |
postalCode | String | Postcode | 8102 HW |
countryIso2 | String | ISO2 Landcode | NL |
Coordinates
Veld | Type | Omschrijving | Voorbeeld |
---|---|---|---|
latitude | Double | Breedtegraad (Geodecimaal) | 52.380205 |
longitude | Double | Lengtegraad (Geodecimaal) | 6.2958919 |
InvoiceReference
Veld | Type | Omschrijving | Voorbeeld |
---|---|---|---|
resourceReference | String | Referentie naar de details van deze factuur | /tenants/1/invoices/fc9036ec-eb4a-496c-8c77-e972e3e800aa |
ImOrderReference
Veld | Type | Omschrijving | Voorbeeld |
---|---|---|---|
resourceReference | String | Referentie naar de details van deze imorder | /tenants/1/im-orders/fc9036ec-eb4a-496c-8c77-e972e3e800aa |
JobBillingReference
Veld | Type | Omschrijving | Voorbeeld |
---|---|---|---|
resourceReference | String | Referentie naar de details van deze jobbilling | /tenants/1/job-billings/fc9036ec-eb4a-496c-8c77-e972e3e800aa |
JobReference
Veld | Type | Omschrijving | Voorbeeld |
---|---|---|---|
resourceReference | String | Referentie naar de details van deze behandeling | /tenants/1/jobs/fc9036ec-eb4a-496c-8c77-e972e3e800aa |
OrderLocationReference
Veld | Type | Omschrijving | Voorbeeld |
---|---|---|---|
resourceReference | String | Referentie naar de details van deze locatie | /tenants/1/orders/fc9036ec-eb4a-496c-8c77-e972e3e800aa/locations/0175acdc-6c37-4de1-a96c-f21a1a15d517 |
MainRoad
Veld | Type | Omschrijving | Voorbeeld |
---|---|---|---|
mileMarker | Double | Hectometerpaaltje | 123.4 |
mileMarkerAddition | String | Optioneel Toevoeging | d |
direction | String | Linker of rechter rijstrook
| Li |
roadName | String | Wegnaam | A2 |
countryIso2 | String | ISO2 Landcode | NL |
OrderReference
Veld | Type | Omschrijving | Voorbeeld |
---|---|---|---|
resourceReference | String | Referentie naar de details van deze opdracht | /tenants/1/orders/fc9036ec-eb4a-496c-8c77-e972e3e800aa |
RelationReference
Veld | Type | Omschrijving | Voorbeeld |
---|---|---|---|
resourceReference | String | Referentie naar de details van deze opdracht | /tenants/1/relations/0167cc22-9511-4562-b51a-224142084fc1 |
StatusReport
Veld | Type | Omschrijving | Voorbeeld |
---|---|---|---|
jobStatus | String | Status historie van de behandeling
| Assigned |
timestamp | DateTimeOffset | Tijdstip van statusovergang | 2020-11-06T14:36:00.000+02:00 |
VehicleProperties
Let op: Alle kenmerken van een voertuig zijn optioneel. Deze komen indien mogelijk uit het RDW en kunnen door de berger aangevuld worden.
Veld | Type | Omschrijving | Voorbeeld |
---|---|---|---|
type | String | Soort voertuig
| Light |
make | String | Merk van het voertuig | Spyker |
model | String | Model van het merk | C8 Preliator |
color | String | Kleur | Oranje |
weightKg | Integer | Gewicht in kilogrammen | 1390 |
loadCapacityKg | Integer | Laadvermogen in kilogrammen | 180 |
lengthCm | Integer | Lengte van het voertuig in centimeters | 463 |
heightCm | Integer | Hoogte van het voertuig in centimeters | 127 |
widthCm | Integer | Breedte van het voertuig in centimeters | 273 |
fuelTypes | String | Brandstoftypes, comma gescheiden lijst indien dit er meerdere zijn. Zoals bij hybriede voertuigen | benzine, elektriciteit |
isManualGear | Boolean | Kenmerk of het voertuig handgeschakeld is (true), automaat heeft (false) of onbekend / niet van toepassing (null) | true |
is4x4 | Boolean | Kenmerk of het voertuig 4-wielaandrijving heeft | false |
isForeign | Boolean | Kenmerk of het een buitenlandsvoertuig betreft | false |
isElectric | Boolean | Kenmerk of het voertuig elektrisch aangedreven is Let op: Kan dus ook hybride zijn | false |
apkExpireDate | DateTimeOffset | APK vervaldatum | 2020-12-31T22:00:00.000Z |
hasInsurance | Boolean | Kenmerk of het voertuig verzekerd is | true |
VehicleReference
Veld | Type | Omschrijving | Voorbeeld |
---|---|---|---|
resourceReference | String | Referentie naar de details van dit voertuig | /tenants/1/vehicles/fc9036ec-eb4a-496c-8c77-e972e3e800aa |
VehicleState
Let op: De informatie m.b.t. de staat van een voertuig is optioneel. Deze kunnen door de berger ingevuld worden.
Veld | Type | Omschrijving | Voorbeeld |
---|---|---|---|
isLocatedInWater | Boolean | Kenmerk of de auto te water is geraakt | true |
metersToQuay | Integer | Afstand vanaf de kade in meters. Alleen van toepassing als de auto in het water ligt | 3 |
isRollable | Boolean | Kenmerk of het voertuig rolbaar is | true |
isSteeringWheelLocked | Boolean | Kenmerk of het stuurslot actief is (Bijvoorbeeld omdat de sleutel niet aanwezig is) | false |
Voorbeeld
Voorbeeld JSON response van een ao.order.statuschanged
event met de OrderResource. OrderLocationResource en LocationResource als aanvullende data.
{ "orderNumber": "O-0000303", "previousStatus": "Accepted", "newStatus": "Assigned", "resourceReference": "/tenants/1/orders/017a1434-117a-4d6f-8842-3fa81e0427d4", "eventType": "nl.assistanceonline.webhooks.orderstatuschanged.v1", "resources": { "/tenants/1/orders/017a1434-117a-4d6f-8842-3fa81e0427d4": { "orderNumber": "O-0000303", "type": "Damage", // relation reference, niet aanwezig in dit bericht, // (kan in de toekomst worden opgevraagd bij API.) "company": "/tenants/1/relations/01732901-8271-45b7-a4e8-1247b08a3adf", // relation reference, al aanwezig in dit bericht "customer": "/tenants/1/relations/017490a9-866e-46ef-b9c9-c83f9869bb6c", "description": null, "externalReference": null, "orderDateTime": "2021-06-16T11:43:00.9021259+02:00", "district": "GL237", "cause": null, "status": "Assigned", "isOnHold": false, // orderlocationreference, aanwezig in dit bericht "incidentLocation": "/tenants/1/orders/017a1434-117a-4d6f-8842-3fa81e0427d4/locations/017a1433-dc26-4646-bdbb-f2b24bb6752e", "interimLocation": [], "destinationLocation": null, "resourceType": "nl.assistanceonline.resources.order.v1", // vehiclereference, niet aanwezig in dit bericht "vehicle": "/tenants/1/orders/017a1434-117a-4d6f-8842-3fa81e0427d4/vehicle", // im-orderreference, niet aanwezig in dit bericht "imOrder": "/tenants/1/im-orders/017a1433-dc16-4e8c-8d46-7b1198deddaa", // jobreferences, niet aanwezig in dit bericht "jobs": [ "/tenants/1/jobs/017a1434-157e-4f0b-9e95-360164e61208" ], // jobbilling eferences, niet aanwezig in dit bericht "jobBillings": [ "/tenants/1/job-billings/017a1434-157e-4f0b-9e95-360164e61208" ], "resourceReference": "/tenants/1/orders/017a1434-117a-4d6f-8842-3fa81e0427d4" }, "/tenants/1/relations/017490a9-866e-46ef-b9c9-c83f9869bb6c": { "name": "Allianz Belastingdienst", "debtorNumber": "1", "resourceType": "nl.assistanceonline.resources.relation.v1", "resourceReference": "/tenants/1/relations/017490a9-866e-46ef-b9c9-c83f9869bb6c" }, "/tenants/1/orders/017a1434-117a-4d6f-8842-3fa81e0427d4/locations/017a1433-dc26-4646-bdbb-f2b24bb6752e": { "type": "MainRoad", "name": null, "address": null, "mainRoad": { "mileMarker": 93.0, "mileMarkerAddition": "", "direction": "Re", "roadName": "A28", "countryIso2": "NL" }, "coordinates": { "latitude": 52.51341487919333, "longitude": 6.0775738186867105 }, "remark": null, "resourceType": "nl.assistanceonline.resources.location.v1", "resourceReference": "/tenants/1/orders/017a1434-117a-4d6f-8842-3fa81e0427d4/locations/017a1433-dc26-4646-bdbb-f2b24bb6752e" } } }