Ga naar inhoud

Gebeurtenissen

Dit is de volledige catalogus. Wat hier niet staat, kan Cargofollow niet vastleggen en niet afleveren: dezelfde lijst voedt de hash-keten, de filters op je webhook-endpoint en het OpenAPI-document. Abonneer een endpoint op losse namen, op een familie-wildcard (shipment.*) of op *.

Elke levering heeft dezelfde buitenkant. Het type bepaalt wat er in data zit; mode zegt of de gebeurtenis uit de sandbox of uit live komt, zodat één ontvanger beide aankan.

{
"id": "evt_01J8Z3K2Q4R5S6T7V8W9X0Y1Z2",
"type": "shipment.issued",
"created_at": "2026-09-14T10:00:00.000Z",
"mode": "test",
"actor": { "type": "api_key", "id": "key_01J8Z3K2Q4R5S6T7V8W9X0Y1Z2", "label": "Backoffice" },
"data": {
"shipment_id": "shp_01J8Z3K2Q4R5S6T7V8W9X0Y1Z2",
"version_id": "ver_01J8Z3K2Q4R5S6T7V8W9X0Y1Z2",
"issued_at": "2026-09-14T10:00:00.000Z",
"provider": "native"
}
}
Gebeurtenis Wanneer
shipment.created Er is een zending aangemaakt, als concept of meteen uitgegeven. De zending heeft een shp_-id en een eerste versie, maar staat nog niet vast.
shipment.issued De vrachtbrief is uitgegeven. Partijen, goederen en adressen liggen vanaf nu vast, de eerste PDF staat klaar en de zending is klaar om te tekenen.
shipment.updated Een wijziging in de muteerbare velden heeft een nieuwe versie gemaakt. changed_paths zegt precies welke velden veranderden, zodat je gericht kunt bijwerken.
shipment.cancelled De zending is geannuleerd. Er volgen geen handtekeningen of afleveringen meer; de keten blijft wel verifieerbaar.
shipment.pickup_signed De vervoerder heeft bij de laadplaats getekend. De zending is onderweg — het moment om je eigen transportstatus op in_transit te zetten.
shipment.delivered De geadresseerde heeft bij aflevering getekend. De ePOD is beschikbaar; has_remarks zegt of er een voorbehoud bij zit dat je moet laten beoordelen.
shipment.completed De zending is administratief afgesloten: het afleverbewijs is geaccepteerd en er volgt niets meer. Dit is het moment om te factureren en het dossier te archiveren.
signature.completed Er is een handtekening of zegel vastgelegd, voor welke rol dan ook. trust_level en method zeggen hoe zwaar die handtekening weegt in een geschil.
document.created Er is een document opgeslagen: een PDF-versie, een bijlage, een foto of een handtekeningafbeelding. De sha256 hoort bij de bytes in de opslag.
remark.added Er is een voorbehoud vastgelegd bij het laden of het lossen. Dit is het event waar een schadeproces op hoort te starten.
inspection.viewed Iemand heeft de inspectielink geopend. Het IP zelf wordt nooit bewaard; ip_hash maakt herhaalbezoek herkenbaar zonder de bezoeker te identificeren.
provider.sync_failed Synchroniseren met de eCMR-provider mislukte. will_retry zegt of Cargofollow het zelf nog een keer probeert, of dat er iets van jou nodig is.
efti.uil_issued De eFTI Unique Identifier Link is uitgegeven. Dit is de verwijzing die een handhaver vanaf 9 juli 2027 kan opvragen.
efti.authority_access Een bevoegde autoriteit heeft deze zending via een nationale eFTI-gate opgehaald. gate_id zegt welke gate, subsets op welke rechtsgrond; wie de handhaver is krijgt het platform niet te horen.
efti.combined_transport_stamped Een spoor- of havenautoriteit heeft een afgelegd niet-wegtraject van dit gecombineerd vervoer afgestempeld (Richtlijn 92/106/EEG art. 3). De stempel maakt geen nieuwe versie: handtekeningen blijven staan.
ping Testgebeurtenis vanuit de console of POST /v1/webhook-endpoints/{id}/test. Hangt niet aan een zending en komt dus nooit in een hash-keten.

Alle gebeurtenissen behalve ping horen bij een zending en vormen daar de hash-keten. ping hoort bij een webhook-endpoint en komt dus nooit in een keten voor.

De velden hieronder staan in data. Een veld dat als optioneel staat aangemerkt kan ontbreken — lees het nooit zonder controle. Nieuwe optionele velden mogen zonder aankondiging verschijnen, dus negeer wat je niet kent in plaats van te falen.

De kolom “Betekenis” komt letterlijk uit de schema’s in @freightapi/core en staat daarom in het Engels: het is exact dezelfde tekst als in het OpenAPI-document, zodat één woordenlijst geldt voor de reference, de SDK’s en deze pagina.

Veld Type Betekenis
shipment_id shp_… shipment id
version_id ver_… shipment version id
status draft · issued · in_transit · delivered · completed · cancelled Lifecycle status
reference string · optioneel
transport_type national · international · cabotage · combined Kind of transport; derived from the countries when not given, cabotage and combined only on explicit input
provider native · mock · pionira · transfollow · dashdoc · olf eCMR provider that executes the consignment
Veld Type Betekenis
shipment_id shp_… shipment id
version_id ver_… shipment version id
issued_at ISO 8601 RFC 3339 timestamp with time zone
provider native · mock · pionira · transfollow · dashdoc · olf eCMR provider that executes the consignment
provider_selection object · optioneel How the provider of this shipment was chosen
ecmr_number string · optioneel Consecutive consignment note number, assigned when the eCMR is issued
Veld Type Betekenis
shipment_id shp_… shipment id
version_id ver_… Version created by the update
previous_version_id ver_… · optioneel shipment version id
changed_paths array Field paths that changed, for example [“driver”, “pickup.window”]
trace object · optioneel One step of the provider-sync workflow, with changed_paths: ["provider_link"] (M2-15)
Veld Type Betekenis
shipment_id shp_… shipment id
cancelled_at ISO 8601 RFC 3339 timestamp with time zone
reason string · optioneel
Veld Type Betekenis
shipment_id shp_… shipment id
signature_id sig_… signature id
signed_at ISO 8601 RFC 3339 timestamp with time zone
Veld Type Betekenis
shipment_id shp_… shipment id
delivered_at ISO 8601 RFC 3339 timestamp with time zone
signature_id sig_… · optioneel signature id
has_remarks boolean
Veld Type Betekenis
shipment_id shp_… shipment id
completed_at ISO 8601 RFC 3339 timestamp with time zone
delivered_at ISO 8601 When the consignee signed; the delivery this closes
Veld Type Betekenis
shipment_id shp_… shipment id
signature_id sig_… signature id
version_id ver_… shipment version id
role consignor · carrier · consignee Who signs: CMR boxes 22, 23 and 24
method drawn · click_otp · api · photo_of_paper How the signature was given (ADR 0004)
trust_level platform_auth · ades · qes Trust level of the signature; platform_auth is the default, ades and qes need a QTSP
kind signature · seal A natural person signs; a legal person seals (OLF semantics)
document_hash sha256 hex SHA-256 digest, lower-case hex
signed_at ISO 8601 RFC 3339 timestamp with time zone
Veld Type Betekenis
shipment_id shp_… shipment id
document_id doc_… document id
kind ecmr_pdf · pod_pdf · attachment · signature_image · photo · other What the file is
version_id ver_… · optioneel shipment version id
mime application/pdf · image/jpeg · image/png · image/webp · application/json Mime type
size integer
sha256 sha256 hex SHA-256 digest, lower-case hex
Veld Type Betekenis
shipment_id shp_… shipment id
remark_id rmk_… remark id
phase pickup · delivery When the remark was made
type damage · shortage · delay · other Kind of reservation
photo_count integer
Veld Type Betekenis
shipment_id shp_… shipment id
inspection_token_id ins_… inspection token id
viewed_at ISO 8601 RFC 3339 timestamp with time zone
ip_hash sha256 hex · optioneel SHA-256 of the UTC day and the client IP; the IP itself is never stored
user_agent string · optioneel
locale string · optioneel Locale the viewer asked for
key_version v1 · v0 · optioneel Which signing key derived the scanned token: v1 the current one, v0 the previous one during a key rotation
Veld Type Betekenis
shipment_id shp_… shipment id
provider native · mock · pionira · transfollow · dashdoc · olf eCMR provider that executes the consignment
operation create · update · cancel · status · document ProviderAdapter operation
attempt integer
will_retry boolean
error object
Veld Type Betekenis
shipment_id shp_… shipment id
dataset_id eft_… efti dataset id
uil object Unique Identifier Link (gate id, platform id, dataset id)
Veld Type Betekenis
shipment_id shp_… shipment id
dataset_id eft_… efti dataset id
dataset_uuid string
gate_id string · optioneel The national gate the data set was registered with, first component of its UIL; absent for a data set that carries no UIL yet
operation string The processing operation of IR (EU) 2025/2243 Art. 9(1) the gate performed
subsets array The legal grounds the gate invoked, normalised to the platform spelling
accessed_at ISO 8601 RFC 3339 timestamp with time zone
Veld Type Betekenis
shipment_id shp_… shipment id
stamp_id cts_… combined transport stamp id
leg_mode rail · inland_waterway · sea Mode of the non-road leg the stamp confirms
loading_terminal object Rail station, inland waterway port or seaport where the mode changed
unloading_terminal object Rail station, inland waterway port or seaport where the mode changed
stamped_by object The authority that affixed the combined transport stamp
stamped_at ISO 8601 RFC 3339 timestamp with time zone
reference string · optioneel
Veld Type Betekenis
webhook_endpoint_id whe_… webhook endpoint id
sent_at ISO 8601 RFC 3339 timestamp with time zone

Terug naar Webhooks voor het ondertekenen en de retries.