MEDIIO API-Initiative

Use case · Order status & delivery date

Order status & delivery date in real time

Query the status and expected delivery date of an order directly from the supplier – including partial/full delivery. No more calls to customer service.

GET /api/Order/Status
api.host · REST
GET /api/Order/Status?OrderId=4711
{
  "orderStatus": "inProcess",
  "orderPositions": [
    { "positionNumber": "10", "deliveryStatus": "partially" }
  ]
}

User story

„As a requester or buyer, I want to query the order status incl. delivery date for an order from my supplier and also know whether it will be delivered in full, so I don’t have to call the supplier’s customer service and can confirm whether the ordered goods arrive in time – e.g. so a planned surgery can go ahead."

Scope

How the order status is represented

An order is identified via customer number and order number. The response describes progress at header and position level – derived from the acceptance criteria.

One order, several supplier orders

A customer order may result in 1..n supplier orders; the status is returned in a consolidated way.

Header & position level

Overall order status plus per position: full, partial or not deliverable.

Delivery dates per (partial) shipment

Per shipment: quantity, delivery date and optionally carrier and tracking number.

Fewer callbacks

Able to give information without calling customer service – e.g. to reliably plan a surgery.

Deliberately out of scope

  • Responses are on demand via query – event push is not part of this endpoint.
  • Documents such as delivery note and invoice are handled via dedicated endpoints.

Request

Parameters

Both parameters are mandatory and uniquely identify the order.

Parameter Query Meaning
Customer number of the buyer ?OrderNumberCustomer=12345 Customer identification at the supplier (mandatory).
Customer order number &OrderId=4711 Order number of the customer order (mandatory).

Optionally, the platform’s unique order ID can be carried along as well.

Example

Typical query

As a consumer I want to … – and call the following endpoint:

query the order status for an order

GET
https://host_url/api/Order/Status?OrderNumberCustomer=12345&OrderId=4711

Response

Response (JSON)

Header status (orderStatus) plus positions (orderPositions). Each position carries a delivery status and – for (partial) delivery – 1..n detail rows with quantity, delivery date and optionally carrier/tracking.

Response · application/json
{
  "orderStatus": "Received",
  "orderNumberSupplierSystem": "string",
  "orderPositions": [
    {
      "positionNumber": "string",
      "deliveryStatus": "Partially",
      "deliveryStatusRemark": "string",
      "detailStatus": [
        {
          "quantity": 0,
          "uom": "string",
          "deliveryDateTime": "2026-04-15T11:49:32.735Z",
          "shipmentServiceProvider": "string",
          "shipmentTrackingId": "string"
        }
      ]
    }
  ]
}

Key fields

orderStatus

Overall order status (received / inProcess / completed / canceledByCustomer).

orderNumberSupplierSystem

Order number from the supplier system (optional).

orderPositions[]

Positions of the customer order.

positionNumber

Position number from the customer order, e.g. “10”.

deliveryStatus

Delivery status of the position (full / partially / rejected).

deliveryStatusRemark

Free-text remark or status reason.

detailStatus[]

(Partial) shipments: 1..n on delivery, empty for rejected.

quantity / uom

Delivery quantity and unit of measure.

deliveryDateTime

Expected delivery date (ISO 8601).

shipmentServiceProvider / shipmentTrackingId

Carrier and tracking number (optional).

Status values

What the status fields mean

Order status (header level)

  • received Received – an order was created in the supplier system.
  • inProcess In process – at least one position is being picked.
  • completed Completed – the last position of the order is finished.
  • canceledByCustomer Canceled by the customer.

Delivery status (position level)

  • full Full – one detail row with quantity & delivery date.
  • partially Partial – 1..n detail rows with quantity & delivery date.
  • rejected Not deliverable – no detail row (empty).

Status reasons

nullnotInStockcanceledByCustomercanceledBySupplierreplacementunknownArticledeliveryDisruption

Remark (deliveryStatusRemark), e.g. “successor article is 4711”.

Self-test

Validate response

Paste the JSON response of your /api/Order/Status endpoint – its structure is validated instantly in the browser against this schema.

No validation yet – paste JSON and click “Validate”.

Want to use this use case in your system?

Become part of the API Initiative – we’ll support you through onboarding.