Skip to main content

Florlog Orders API Documentation

The API lets Florlog clients create or update a single order with a lean JSON payload. Send a unique order_reference; posting again with the same reference updates the existing order. Names you pass (entities, products, locations) are resolved to internal IDs automatically.


Table of Contents


Overview

One order per request. Optionally include transport‑company details and asset requirements (e.g. number of Danish carts). If order_reference already exists, the order is updated instead of created.


Authentication

Every call must supply your API token:

Authorization: Bearer <your_api_token>

UAT Environment

Use the User Acceptance Testing (UAT) environment to safely develop and test your Florlog integrations. Orders posted here do not touch production data.

ComponentURL
Web GUI (portal)https://test.florlog.be
API base URLhttps://uat.florlog.be

Note: You will receive a dedicated UAT API token. Production tokens are not valid on UAT and vice‑versa.


Endpoint

MethodURLContent‑Type
POSThttps://api.florlog.be/downstream/orderapplication/json

Request Structure

{
"order": {
"order_reference": "ABC-12345",
"order_date": "2025-06-01",
"delivery_request_datetime": "2025-06-03T14:00:00Z",

// Parties
"buyer_entity": "Plantasia BV", // optional
"seller_entity": "Bloemenhuis West-Vlaanderen", // required

// Locations
"pickup_location": "Industrieweg 12, 9200 Dendermonde, Oost-Vlaanderen",
"drop_off_location": "Kerkstraat 45, 8500 Kortrijk, West-Vlaanderen",

// Transport
"transport_company": "Carrier NV", // optional
"asset_requirement": { // optional
"danish_cart": 4,
"euro_pallet": 2
},

// Line items
"order_lines": [ // optional
{ "product": "Rode Rozen", "quantity": 10 }
]
}
}

Field Definitions

FieldTypeRequiredNotes
order_referenceStringUnique per order; re‑using updates.
order_dateDateDate order created (YYYY-MM-DD).
delivery_request_datetimeDateTimeDesired delivery at drop‑off (ISO 8601).
buyer_entityStringExisting entity name.
seller_entityStringExisting entity name.
pickup_locationStringExisting location address.
drop_off_locationStringExisting location address.
transport_companyStringCarrier name.
asset_requirementObjectKeys = requirement type (string), values = quantity (integer).
order_linesArrayZero or more line items.
└︎ productString✓ if presentExisting product name.
└︎ quantityInteger✓ if presentPositive integer.

Response Structure

Valid (201 Created)

{ "status": "created" }

If order_reference existed, the order is updated and the same response is returned.

Invalid (422 Unprocessable Entity)

{
"status": "not_valid",
"errors": {
"order.seller_entity": ["The seller entity field is required."]
}
}

Error Handling

StatusMeaning
400 Bad RequestMalformed JSON or missing order key.
401 UnauthorizedMissing or invalid token.
422 Unprocessable EntityField validation failed.
500 Internal Server ErrorUnexpected server error.

Contact & Support

Email [email protected] for assistance.