Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

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 een CloudEvent met daarin één Event en optioneel een aantal Resources.

CloudEvents

Webhooks maken gebruik van CloudEvents v1.0 spec als basis. Dit ziet er in JSON als volgt uit:

{
    "id": "01759dc3-5d38-405b-9b1c-5a36b0373cc3",
    "type": "ao.order.statuschanged",
    "specversion": "1.0",
    "time": "2020-11-06T14:36:00.000+02:00",
    "source": "/tenants/1/orders/fc9036ec-eb4a-496c-8c77-e972e3e800aa",
    "subject": "O-2387923 | T942855",
    "datacontenttype":"application/json",
    "data": {
        "event": {
            // Zie Event data
            ...
        },
        "resources": {
            "<resourceReference-1>": { // Zie Resource data },
            "<resourceReference-2>": { // Zie Resource data },
            ...
        }
    }
}

Veld

Type

Omschrijving

Voorbeeld

id

Guid

Uniek nummer voor dit event

01759dc3-5d38-405b-9b1c-5a36b0373cc3

type

String

Type indicatie van het event

ao.order.statuschanged

specversion

String

Versienummer van het response

1.0

time

DateTimeOffset

Tijdstip waarop dit event plaats heeft gevonden

2020-11-06T14:36:00.000+02:00

source

String

Locatie van de entiteit binnen AO die dit event getriggert heeft.

/tenants/1/orders/fc9036ec-eb4a-496c-8c77-e972e3e800aa

subject

String

Titel van het event

O-2387923 | T942855

datacontenttype

String

Content type van het data veld

application/json

data

Object

Event (object) en Dictionary (met resourceReference als key). Het aantal teruggegeven resources is afhankelijk van de webhook instellingen.

Zie Event data en Resource data

Event data

Ieder event heeft twee 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

ao.order.statuschanged

Status mutaties van een dossier in AO:

{
    "resourceReference": "/tenants/1/orders/fc9036ec-eb4a-496c-8c77-e972e3e800aa",
    "eventType": "ao.order.statuschanged",
    "orderNumber": "O-2387923",
    "previousStatus": "New",
    "newStatus": "Accepted"
}

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 (Behorende bij een behandeling)

  • Manual (Aanvullende facturatie, handmatig toegevoegd)

  • VehicleStorage (Stallingsbehandeling)

  • StandByShift (Standbydienst)

Automatic

customerOrderNumber

String

Inkoopopdrachtnummer

S1234235

debtor

RelationReference

Referentie naar debiteurinformatie

Zie RelationReference

invoice

InvoiceReference

Referentie naar factuurinformatie

Zie InvoiceReference

JobResource

Veld

Type

Omschrijving

Voorbeeld

type

String

Behandelingstype:

  • BreakDownAssistance (Pechhulp)

  • PlannableTransport (Planbaar transport)

  • VehicleStorage (Stalling)

  • Salvage (Berging)

  • ErrorParked (Foutparkeerder)

  • Cleaning (Reiniging)

  • Im (IM melding)

  • TransportAfterFirstService (Doortransport)

  • LostCargo (Afgevallen lading)

  • NonPlannableTransport (Niet planbaar transport

  • Seizure (Inbeslagname)

  • Security (Beveiliging)

  • AbandonedVehicle (Achtergelaten voertuig)

  • StandBy (Standby dienst)

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

jobAssignmentStatus

String

Huidige status van de behandeling

  • Created (Nieuw)

  • Assigned (Toegewezen)

  • FirstActivityEnroute (Onderweg naar laad/incident locatie)

  • FirstActivityArrived (Ter plaatse op incident/laad locatie)

  • FirstActivityStarted (Activiteit gestart op incident/laad locatie)

  • FirstActivityDone (Activiteit op incident/laad locatie gereed)

  • SecondActivityEnroute (Onderweg naar loslocatie)

  • SecondActivityArrived (Ter plaatse op loslocatie)

  • SecondActivityStarted (Begonnen met lossen)

  • Completed (Behandeling gereed)

Let op: Niet alle behandelingen hebben twee activiteiten. In dat geval zal de activiteit bij ‘FirstActivityDone’ naar ‘Completed’ gaan.

Assigned

result

String

Behandelingsresultaat. Dit is afhankelijk van het type behandeling.

Pechhulp specifiek:

  • BreakdownAssistanceOk (Pechhulp geslaagd)

  • BreakdownAssistanceNotRepairedTransportToDepot (Pechhulp naar depot)

  • BreakdownAssistanceNotRepairedTransportToDestination (Pechhulp naar eindbestemming)

  • BreakdownAssistanceTransportWithoutRepairAttempt (Transport zonder reparatiepoging)

Berging specifiek:

  • OwnStrength (Eigen kracht verder)

  • SalvageDepot (Berging naar depot)

  • SalvageFinalDestination (Berging naar eindbestemming)

Overige uitkomsten:

  • EmptyRide (Loze rit)

  • JobResultOk (Behandeling afgerond)

  • SecondSalvor (Tweede inzet gevraagd)

BreakdownAssistanceOk

locations

LocationReference[]

Lijst met locatiereferenties

Zie LocationReference

statusReports

StatusReports[]

Lijst met statusupdates

Zie StatusReport

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

Zie RelationReference

customer

RelationReference

Referentie naar relatiedetails van opdrachtgever

Zie RelationReference

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

  • Accepted (Geaccepteerd)

  • Assigned (Toegewezen)

  • Enroute (Onderweg)

  • Arrived (Ter plaatse)

  • Empty (Loze rit)

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

  • MainRoad (A en N-wegen)

  • Address (Straatadres)

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

  • Breakdown (Pechhulp)

  • PlannableTransportation (Planbaar transport)

  • Damage (Schade / Berging)

  • ErrorParked (Foutgeparkeerd)

  • Seizure (Inbeslagname)

  • LostCargo (Afgevallen lading)

  • AbandonedVehicle (Achtergelaten voertuig)

  • Cleaning (Reiniging)

  • NonPlannableTransportation (Niet planbaar transport)

  • VehicleStorage (Stalling)

  • Security (Beveiliging)

  • StandBy (Standbydienst)

ErrorParked

company

RelationReference

Referentie naar relatiedetails van de uitvoerende berger

Zie RelationReference

customer

RelationReference

Referentie naar relatiedetails van opdrachtgever

Zie RelationReference

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

  • 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)

Accepted

isOnHold

Boolean

Wanneer het dossier op OnHold staat, is de berger tegen iets blokkerend aangelopen.

false

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

Zie VehicleProperties

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

invoiceNumber

String

Factuurnummer

202000001

resourceReference

String

Referentie naar de details van deze factuur

/tenants/1/invoices/fc9036ec-eb4a-496c-8c77-e972e3e800aa

LocationReference

Veld

Type

Omschrijving

Voorbeeld

type

String

Rol van deze locatie:

  • LoadLocation

  • InterimLocation

  • UnloadLocation

LoadLocation

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

  • Re

  • Li

Li

roadName

String

Wegnaam

A2

countryIso2

String

ISO2 Landcode

NL

OrderReference

Veld

Type

Omschrijving

Voorbeeld

orderNumber

String

Opdrachtnummer binnen AO

O-2387923

resourceReference

String

Referentie naar de details van deze opdracht

/tenants/1/orders/fc9036ec-eb4a-496c-8c77-e972e3e800aa

RelationReference

Veld

Type

Omschrijving

Voorbeeld

name

String

Relatienaam

RGB+ Automatisering B.V.

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

  • Created (Nieuw)

  • Assigned (Toegewezen)

  • FirstActivityEnroute (Onderweg naar laad/incident locatie)

  • FirstActivityArrived (Ter plaatse op incident/laad locatie)

  • FirstActivityStarted (Activiteit gestart op incident/laad locatie)

  • FirstActivityDone (Activiteit op incident/laad locatie gereed)

  • SecondActivityEnroute (Onderweg naar loslocatie)

  • SecondActivityArrived (Ter plaatse op loslocatie)

  • SecondActivityStarted (Begonnen met lossen)

  • Completed (Behandeling gereed)

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 (Licht voertuig, gewicht minder dan 3500 kg)

  • Heavy (Zwaar voertuig, gewicht groter of gelijk aan 3500)

  • Bike (Fiets)

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

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 en LocationResource als aanvullende data.

{
    "id": "01759dc3-5d38-405b-9b1c-5a36b0373cc3",
    "type": "ao.order.statuschanged",
    "specversion": "1.0",
    "time": "2020-11-06T14:36:00.000+02:00",
    "source": "/tenants/1/orders/fc9036ec-eb4a-496c-8c77-e972e3e800aa",
    "subject": "O-2387923 | T942855",
    "datacontenttype":"application/json",
    "data": { // OrderStatusChangedDefinition
        "event": {
            "resourceReference": "/tenants/1/orders/fc9036ec-eb4a-496c-8c77-e972e3e800aa",
            "eventType": "ao.order.statuschanged",
            "orderNumber": "O-2387923",
            "previousStatus": "New",
            "newStatus": "Accepted"
        },
        "resources": {
            "/tenants/1/orders/fc9036ec-eb4a-496c-8c77-e972e3e800aa": { // OrderResource
                "resourceReference": "/tenants/1/orders/fc9036ec-eb4a-496c-8c77-e972e3e800aa",
                "resourceType": "Order",
                "orderNumber": "O-2387923",
                "type": "BreakdownAssistance",
                "company": { // RelationReference
                    "resourceReference": "/tenants/1/relations/016c2dac-3870-4bd0-b0b5-60836e3503d2",
                    "name": "RGB+ Automatisering"
                },
                "customer": { // RelationReference
                    "resourceReference": "/tenants/1/relations/016e7d90-5b88-4df8-8b06-60501c5406d7",
                    "name": "VHD"
                },
                "description": "SPOED, 5 min vtv bellen Lekke band, RA, Oorzaak onbekend. In de ondergrondse pkg Verwisselen ging niet. Reserveband is ook lek.",
                "externalReference": "T123456",
                "orderDateTime": "2020-11-06T14:36:00.000+02:00",
                "district": "NH131",
                "cause": "Lege accu",
                "status": "Accepted",
                "IsOnHold": false
            },
            "/tenants/1/orders/fc9036ec-eb4a-496c-8c77-e972e3e800aa/locations/0175ac5c-4aae-4524-a227-4e41c53f5ac9": { // LocationResource
                "resourceReference": "/tenants/1/orders/fc9036ec-eb4a-496c-8c77-e972e3e800aa/locations/0175ac5c-4aae-4524-a227-4e41c53f5ac9",
                "resourceType": "Location",
                "type": "Address",
                "address": {
                    "streetName": "Spitsstraat",
                    "houseNumber": "17a",
                    "city": "Raalte",
                    "postalCode": "8102 HW",
                    "countryIso2": "NL"
                },
                "coordinates": {
                    "latitude": 52.380205,
                    "longitude": 6.2958919
                },
                "remark": "Melden bij receptie"
            }
        }
    }
}	
  • No labels