Skip to content

Conundra Order Book API (1.6.1)

Order Book provides ready-to-run domain-specific logistic data governance for your route optimization.

Download OpenAPI description
Servers
Mock server
https://developer.conundra.eu/_mock/apis/order-book/order-book-api
Order Book API Production
https://api.conundra.eu/orderbook/v1

Health check

Miscellaneous endpoints for general API functionality

Operations

Pickup Orders

Pickup orders represent an order where the executor needs to pick up cargo at a certain stop.

Operations

Delivery Orders

Delivery orders represent an order where the executor needs to drop off cargo at a certain stop.

Operations

PickupDelivery Orders

PickupDelivery orders represent an order where the executor needs to pick up cargo at a certain stop and deliver it at another stop.

Operations

Consolidated Orders

Orders are being consolidated by the application to enrich them with captured domain knowledge through Conditionals and/or Locations. These endpoints provide insights into and discoverability of the results of this consolidation.

Operations

Category Management

[EXPERIMENTAL] Endpoints for managing Categories.

Experimental Status: These endpoints have an experimental status since their complexity was impacted by a removed feature. We intend at the very least to vastly simplify these endpoints by removing the code-subresource.

Operations

Transport Requests

Transport Requests can be used to group Orders that share some administrative context. They can serve as a way of targeting Orders through conditionals, by providing context on the client companies for which those orders are being executed.

Operations

Companies

Companies can be managed in Order Book and used as clients for Transport Requests. This allows you to target Conditionals to Orders contained within Transport Requests for select clients.

Operations

Locations

Locations can be managed separately in Order Book, which allows the user to capture their related business rules in a reusable manner. This is especially valuable in business cases where a select set of Locations is reused across many orders.

Typical use cases include capturing regular opening hours or requirements tied to a specific Location.

Operations

Get a list of all locations by ids

Request

This is an endpoint that allows you to retrieve a list of Locations in bulk. The locations are identified by their business id, provided in the query.

When one or more locations could not be found, this will be indicated in the errors-section of the response.

Security
clientCredentials
Query
idsArray of strings[ 1 .. 100 ] itemsrequired

A comma-separated list of Location business IDs.

Responses

a list of locations

Bodyapplication/json
dataArray of objects(Location)[ 0 .. 100 ] itemsunique
errorsArray of objects(Problem)
Response
application/json
{ "data": [ {} ], "errors": [ {} ] }

Get a list of locations by filter criteria

Request

Retrieve a list of Locations in bulk, identified by the query parameters defined in the request. The query requires at least a page and page size, in which case all Locations will be returned in a paged format. Providing any additional filter will return the matching subset of Locations. When providing multiple filter parameters, all filters must match for a Location to be included in the response.

The returned list can be empty, but the request will not fail if no results are found.

Security
clientCredentials
Query
location_categorystring

Filter results based on category

country_codestring(CountryCode)^[A-Z]{2}$

Filter results based on country identifier (ISO3166-1 alpha-2).

Example: country_code=BE
zip_codestring

Filter results based on ZIP code

citystring

Filter results based on city

address_linestring

collection filtered on address line

pageinteger(int32)>= 1

Number of the page to retrieve, see also Paging section.

Default 1
page_sizeinteger(int32)[ 1 .. 100 ]

Number of results by page, see also Paging section.

Default 10

Responses

a list of locations

Bodyapplication/json
dataArray of objects(Location)[ 0 .. 100 ] itemsunique
pageobject(Paging)
Response
application/json
{ "data": [ {} ], "page": { "total_items": 100, "total_pages": 10, "page_size": 10, "current_page": 1 } }

Get a location with specified business Id

Request

Retrieve a single location by its business id.

Security
clientCredentials
Path
business_idstring^[a-zA-Z0-9.~\-_]{1,512}$required

The business identifier of an entity instance

Headers
X-Conundra-Unwrapstring

When set to true, the response will not be wrapped in a data property.

Responses

OK

Headers
ETagstring

weak Etag (ex W/<etag_value>) which contains the (updated) version of the entity

Bodyapplication/json
dataobject(Location)

A location has an address and timewindows representing opening hours.

An alternative address and/or timewindows to be used for planning can be specified. When planning address and/or timewindows are specified the originals are only there for information purposes.

An address item can consist of an address and/or geo coordinates. The resolved version will be resolved based on the geo coordinates or the address (not both). The resolved version will be available when reading to make out what the original geo coordinates in the routing service are.

Response
application/json
{ "data": { "business_id": "locationA", "location_category": "locationCategoryA", "name": "locationName", "description": "locationDescription", "comment": "locationComment", "address": {}, "planning_address": {}, "stop_time": "PT5M", "requirements": {}, "time_window": {}, "planning_time_window": {}, "custom_data": {}, "etag": "W/\"1\"" } }

Conditionals

Conditionals allow you to capture business rules in Order Book. You can target Orders based on several attributes or create time-based rules, and apply mutations to this order set enriching for your optimization.

Operations

Partial Routes [EXPERIMENTAL]

[EXPERIMENTAL] [UNDER DEVELOPMENT] Endpoints for managing preplanned PartialRoutes.

Operations