Orders API

Submit and query orders


Orders API is used to place sales orders in the system and retrieve them. Orders can be routed to Posti’s warehouse system or external warehouse systems for picking and collecting. Separate order lines can be routed to different warehouses based on product balance and prioritisation of warehouses.

As with other requests to the system, user must be authenticated as described in Posti Authentication API.

API Endpoints

Environment Protocol Host
Test HTTPS argon.api.posti.fi
Prod HTTPS api.posti.fi

Here is a list of all available API methods, followed by a detailed description for each one.


PUT/v2/orders

Overview

Place a new order

Query string parameters

none

Request fields

ElementMandatoryTypeDescription
externalIdXStringUnique identifier of the order in the seller's (webshop) system. Underscore ("_") symbol is not supported.
referencesArrayArray for order references
references.nameStringName can be PO or SO. PO = Purchase Order and SO = Sales order. Use this to reference e.g. to your own purchase order number to Supplier. Purchase order identifier is used to identify an order between seller and drop ship vendor. Sales order identifier is used between a seller and consumer. This id is printed on delivery note sent to consumer. If there are no values set in references, externalId will be used both in warehouse SO and drop shipping PO processing. If PO is set then drop ship order can only be sent to one supplier set in metadata.receiverOrganization. Otherwise Posti Glue service will process the order based on pre-defined business rules agreed with the principal. In some situations, this may need to be printed on the actual packaging. Maximum length: 100.

Orders to Also Finland Oy always require reference value for the PO or SO.
references.valueStringPO or SO value. Maximum length: 100
orderDateXStringCreation date and time of the order, exactly in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).
promisedDeliveryDateTimeStringPromised date and time of the order's delivery, exactly in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).
requestedDeliveryDateStringThe date the customer has requested the order to be delivered, exactly in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).
requestedShipDateStringDate when shipment from a warehouse should happen, exactly in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ). Currently this is only available via API, it is not visible at Glue UI.
metadataObjectMetadata information of the order
metadata.sourceOrganizationStringName of the source organization (webshop) that sent the order
metadata.receiverOrganizationStringName of the receiver (delivery warehouse) organization whom the order was sent to
metadata.languageStringLanguage code of the order, in two-letter ISO 639-1 format, e.g. FI
metadata.externalUserIdStringIdentifier of the user in external system (EDI code, in Finland OVT). Not used by the Order API itself, the value is passed to consignment.sender.externalId at Shipments API.
metadata.documentTypeStringPossible values “SalesOrder” or “PurchaseOrder”. SalesOrder is always used for orders from Retailer to Supplier or warehouse. PurchaseOrder is used when Retailer order more goods to warehouse, Note that only SalesOrder reduce the stock balance of ordered items. Order is processed like SalesOrder if the value is missing.
metadata.orderTypeStringThe order classification attribute. This field can be used for reporting purposes or to build conditions for modeling your business process. See Posti WMS documentation [1,2] in case Posti warehouses are used. Max length: 20
metadata.warehouseObjectUsed only with Posti and Transval warehouse services. Use the warehouse ID provided by warehouse service provider.
metadata.warehouse.sourceOrganizationIdStringPrincipal's Posti WH service ID
metadata.warehouse.shipNode(X)StringShip node from which the order line will be fulfilled. Required if Posti or Transval warehouse service is used. Identifies principal's warehouse and is used for message monitoring. If node ID is wrong, order will be set to error status. Maximum length: 24
metadata.warehouse.billToIdStringThe identifier of the bill to customer. BillToId can represent the Customer number of the customer. Maximum length: 40
metadata.warehouse.shipToIdStringThe identifier of the ship to customer. ShipToId can represent the Customer number of the customer. Primary information of Principal's customer. Maximum length: 40
vendorObjectVendor information (reseller, webshop). This information will be printed on delivery note generated by Glue. Here it is good to have reference to company who sold goods to recipient.
vendor.externalIdStringIdentifier of the vendor in external system. This shall be either OVT code or business Id. SupplierWeb identifies retailers using this field.
vendor.name(X)StringName of the vendor. May contain one linebreak (\n). E.g. “Posti Oy\nverkkokauppa.posti.fi”.
vendor.streetAddress(X)StringStreet address of the vendor. May contain up to two linebreaks (\n)
vendor.postalCode(X)StringPostal code of the vendor
vendor.postOffice(X)StringPost office of the vendor
vendor.country(X)String2-letter country code of the vendor as defined in ISO 3166-1 alpha-2, e.g. FI
vendor.telephoneStringPhone number of the vendor with country code e.g. +358501234567
vendor.emailStringEmail of the vendor
senderXObjectInformation that will be shown as sender in the address label. For Posti parcel services this also address for undelivered shipments, so normally it should be warehouse or store address.
sender.externalIdStringIdentifier of the sender in external system (EDI code)
sender.nameXStringName of the sender. May contain one linebreak (\n).
sender.streetAddressXStringStreet address of the sender. May contain up to two linebreaks (\n)
sender.postalCodeXStringPostal code of the sender
sender.postOfficeXStringPost office of the sender
sender.countryXString2-letter country code of the sender as defined in ISO 3166-1 alpha-2, e.g. FI
sender.telephoneStringPhone number of the sender with country code e.g. +358501234567
sender.email(X)StringEmail of the sender. Required if deliveryOperator is other than “Posti”.
clientXObjectPayer information.
client.externalIdStringIdentifier of the payer in external system e.g. customer number
client.nameXStringName of the payer. May contain one linebreak (\n).
client.streetAddressXStringStreet address of the client. May contain up to two linebreaks (\n)
client.postalCodeXStringPostal code of the payer
client.postOfficeXStringPost office of the payer
client.countryXString2-letter country code of client as defined in ISO 3166-1 alpha-2, e.g. FI
client.telephoneStringPhone number of the payer with country code e.g. +358501234567
client.emailStringEmail of the payer
recipientObjectRecipient information. If not given, client (payer) is used as the recipient.
recipient.externalIdStringIdentifier of the recipient in external system e.g. customer number
recipient.name(X)StringName of the recipient. May contain one linebreak (\n).
recipient.streetAddress(X)StringStreet address of the recipient. May contain up to two linebreaks (\n)
recipient.postalCode(X)StringPostal code of the recipient
recipient.postOffice(X)StringPost office of the recipient
recipient.country(X)String2-letter country code of the recipient as defined in ISO 3166-1 alpha-2, e.g. FI
recipient.telephoneStringPhone number of the recipient with country code e.g. +358501234567
recipient.emailStringEmail of the recipient
deliveryAddressObjectAdditional delivery address information used by the following service codes: 2101, 2102, 2103, 2106, 2124, 2144, 2145, 2W2101, 2W2102, 2W2103, 2W2106, 2W2124, 2W2144, 2W2145.
deliveryAddress.externalIdStringIdentifier of the delivery address in external system e.g. customer number
deliveryAddress.name(X)StringName of the additional delivery address. May contain maximum two line breaks (\n). Example: First name\nLast name\nPickup point name
deliveryAddress.streetAddress(X)StringStreet address of the additional delivery address. May contain up to two linebreaks (\n)
deliveryAddress.postalCode(X)StringPostal code of the additional delivery address
deliveryAddress.postOffice(X)StringPost office of the additional delivery address
deliveryAddress.country(X)String2-letter country code of the additional delivery address as defined in ISO 3166-1 alpha-2, e.g. FI
deliveryAddress.telephoneStringPhone number for the delivery address with country code e.g. +358501234567
deliveryAddress.emailStringEmail for the delivery address
currencyString3-letter currency code of order in ISO 4217 standard. If not given, EUR is assumed
paymentTerm StringPayment term
invoiceObjectInvoice information
invoice.invoiceNumber(X)StringNumber of the invoice
invoice.invoiceDate(X)StringDate of the invoice, in format YYYY-MM-DD
invoice.invoiceCurrency(X)StringCurrency code of the invoice in ISO 4217 standard.
invoice.totalValue(X)StringTotal gross value of the invoice, in invoice currency
serviceCodeStringCode of transport service to be used for all order rows. Can also be defined separately for each row in a row level attribute. Available options must be agreed separately during service implementation. List of Posti service codes are available at here.. Note that Unifaun has its own codes and all codes may not be supported. Max length: 40
deliveryTermsStringDelivery terms of order, as INCOTERMS. Max length: 40
deliveryOperatorStringFollowing delivery operators are supported: “Posti“ and “Unifaun”. “Unifaun” requires API keys for the Unifaun REST API. Orders with “Posti” are charged with it’s own service fee. Following delivery operators are supported by “Unifaun”: Posti, Matkahuolto, DB SChenker, Kaukokiito.
additionalServicesArray If deliveryOperator is:
  • Posti then use additional service codes supported by Posti. Note that not all Posti’s additional service codes are supported by the Orders API.
  • Unifaun then use additional service codes supported by Unifaun. Some restrictions may apply.
additionalServices.serviceCode(X)StringCode of additional service. List of possible values are found from here.
additionalServices.telephoneStringTelephone number (with country code e.g. +3580501234567) for the additional service. Only applicable for certain services, such as electronic notice of arrival.
additionalServices.emailStringEmail address for the additional service. Only applicable for certain services, such as electronic notice of arrival.
additionalServices.attributesArrayAdditional service attributes i.e. CashOnDelivery.
additionalServices.attributes.name(X)StringAttribute's name. Possible values are e.g. CashOnDelivery, PostiAccount.
additionalServices.attributes.value(X)StringAttribute's text, e.g. true
routingServiceCodeString If deliveryOperator is:
  • Posti then this is value of the rourtingServiceCode found from Posti’s Location API.
  • Unifaun then this is value of the pupCode found from Posti’s Location API or value provided by Unifaun’s own pick-up point interface.
commentsArrayComments regarding order, e.g. comments for print outs.
comments.type(X)StringComment's type. Allowed values are pickingNote, packingNote, deliveryNote, reference and passThrough.
comments.value(X)StringComment's text. e.g. pick from the oldest batch
comments.nameStringComment's name. e.g. comment to picking note
statusesArrayArray of order statuses. The current status of the order is determined by the order rows. The status of the order is the same as the row's with the status that is the earliest in the delivery process.
statuses.valueStringStatus value orderRouted, Viewed, Picking, Packing, Shipping, Delivered.
statuses.timestampStringDate time of the status change, in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).
statuses.trackingIdsArrayStatus' tracking ids if any. e.g. JJFI-code
postiCustomerIdStringPayer contract number used for parcel and freight services. If the field is missing or empty, then default value set for supplier’s configuration is used (see How to add a new supplier <EN> <FI> ).Customer's Posti customer id a.k.a. logistic id. Logistic id is agreed with Posti and used with Prinetti. Value of the postiCustomerId is used instead of value at contractNumber (see Warehouses API).
printArrayOrder level details used for printing
print.templateIdStringPre-defined print form id, id's from Posti
print.freeTextArrayDepending on pre-defined template functionality
print.freeText.nameStringPre-defined template
print.freeText.valueStringDynamic content with pre-defined length
print.referencesBooleanIf references array has value, those will be printed based on template functionality.
rowsXArrayOrder row information (at least 1 row must be defined).
rows.externalIdXStringSequence number of order rows in external system (e.g. 1, 2, 3, etc.). Opus Capita SupplierWeb requires this to be number with maximum length of 6 digits, so we strongly recommend to stay inside those limitations. Max length in Glue: 10
rows.externalProductIdXStringSupplier’s product ID (SKU) or your own product ID if you are warehouse customer.
rows.productEANCodeStringEAN code of supplier’s product.
rows.productUnitOfMeasure(X)StringThe unit of measure. Mandatory with Posti WH sales orders. Maximum length: 40
rows.productDescriptionStringDescription of product.
rows.serialNoArrayRequested serial number of the item. If orderline > 1 then serial number for each unit. Valid only for Posti WH. Serial number maximum length: 40
rows.lotNumberStringRequested lot to be used in order picking. Max length: 24
rows.printObjectRow level details used in printing
rows.print.productTariffCodeStringTariff code of the product
rows.print.priceStringUnit price, VAT 0%
rows.print.vatPercentage(X)StringVAT percentage. Mandatory if tax used
rows.print.taxValue(X)StringTax value. Mandatory if tax used
rows.print.taxName(X)StringTax name. Mandatory if tax used. Maximum length: 40
rows.print.customerProductIdStringIdentifier of product sold to end consumer. May be needed in prints. Maximum length: 40
rows.print.invoiceReferenceNumberStringCash on delivery-reference number
rows.print.invoiceBICStringCash on delivery-BIC number for the bank
rows.print.invoiceIBANStringCash on delivery-IBAN account number
rows.productTariffCodeStringTariff code of the product
rows.priceNumberWholesale unit price of the product, VAT 0%
rows.vatPercentageNumberVAT percentage used in the row
rows.externalWarehouseIdXStringIdentifier of the warehouse in an external system (OVT code).
rows.backOrderBooleanIndicator of whether back orders are allowed or not, in case there are insufficient supplies to fulfill the ordered quantity
rows.mandatoryBooleanIndicator of whether the row contains a critical product without which the order cannot be delivered
rows.crossDockingBooleanIndicator of whether cross docking is in use for this row
rows.quantityXNumberQuantity of the order row
rows.weight(X)NumberWeight of the order row in kg. If deliveryOperator is not Posti or order is being processed through SupplierWeb then weight and volume are mandatory.
rows.volume(X)NumberVolume of the order row in m3. If deliveryOperator is not Posti or order is being processed through SupplierWeb then weight and volume are mandatory.
rows.parentRowReferenceStringReference to parent row. Can be used to indicate that the product needs to be shipped as a bundle with the parent row.
rows.productTypeStringDescribes product's type. Valid values can be serviceProduct (e.g. "installation") or costProduct (e.g. "delivery cost").
rows.deliveryOperatorStringName of the delivery operator Posti.
rows.packageTypeStringType code of the packaging used. If not defined, PC is assumed, which stands for parcel. List of package code types are available at here. Note that all codes may not be supported.
rows.serviceCodeStringCode for transport service to be used for the order row.
rows.routingServiceCodeStringRouting service code that applies to the order row. Available options must be agreed separately during service implementation.
rows.additionalServicesArrayInformation of additional services that apply to the order row; available options must be agreed separately during service implementation.
rows.additionalServices.serviceCode(X)StringCode of additional service, e.g. 3139 (for SmartPost). List of possible values are found from here. Max length: 20
rows.additionalServices.telephoneStringTelephone number for the additional service. Only applicable for certain services, such as electronic notice of arrival.
rows.additionalServices.emailStringEmail address for the additional service. Only applicable for certain services, such as electronic notice of arrival.
rows.additionalServices.attributesArrayAdditional service attributes i.e. CashOnDelivery.
rows.additionalServices.attributes.name(X)StringAttribute's name. Possible values are e.g. CashOnDelivery, PostiAccount.
rows.additionalServices.attributes.value(X)StringAttribute's text, e.g. true
rows.commentsArrayComments regarding order line, e.g. comments for print outs.
rows.comments.type(X)StringComment's type. Allowed values are pickingNote, packingNote, deliveryNote, reference and passThrough.
rows.comments.value(X)StringComment's text, e.g. pick from the oldest batch
rows.comments.nameStringComment's name, e.g. comment to picking note
rows.partialDeliveryAllowedBooleanSpecifies if item is allowed to ship separately
rows.statusesArrayStatus of the row. Status indicates which point the row is at in the delivery process.
rows.statuses.valueString Status value e.g. Created, Routed, Picking, Packing, Shipping, Delivered.
“Delivered” is always final value of order. Check also “deliveredQuantity” to see if order was cancelled, or partially, or completely delivered.
rows.statuses.timestampStringDate time of the status change, in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).
rows.statuses.trackingIdsArrayStatus' tracking ids if any. e.g. JJFI-code
rows.warehouseObjectUsed only with Posti warehouse service.
rows.warehouse.segmentTypeStringIndicates SegmentType for the order line. For a Made to Customer Order, the value is MTC. For a Dynamic Physical Kit item which is Made To Order, SegmentType is MTO. Maximum length: 10
rows.warehouse.segmentStringIndicates Segment for the order line. For a Made To Customer order, the value is defaulted to BuyerOrganizationCode. For a Made To Order Order, the value is defaulted to OrderLineKey. Maximum length: 100
rows.warehouse.shipNode(X)StringShip node from which the order line will be fulfilled. Required id if Posti warehouse service used. Identifies principal's warehouse and is used for message monitoring. If node id is wrong, order will be set to error status.

Example request

{
    "externalId" : "123456789",
    "orderDate" : "2017-04-10T12:06:01.000+03:00",
    "references" : [
        {
            "name" : "SO",
            "value" : "100024"
        },
        {
            "name" : "CustomerReferenceNumber",
            "value" : "111222333"
        },
        {
            "name" : "vendorReference",
            "value" : "111222"
        }
    ],
    "metadata" : {
        "insertDate" : "2017-04-10T05:46:20.922Z",
        "updateDate" : "2017-04-10T05:46:20.922Z",
        "sourceOrganization" : "Webshop name",
        "receiverOrganization" : "Sending warehouse name eg. vendor",
        "language" : "FI",
        "externalUserId" : "003712345678",
        "documentType" : "PurchaseOrder"
    },
    "vendor" : {
        "externalId" : "003712345678",
        "name" : "Webshop name",
        "streetAddress" : "Postintaival 7",
        "postalCode" : "00230",
        "postOffice" : "Helsinki",
        "country" : "FI"
    },
    "sender" : {
        "externalId" : "003723456789",
        "name" : "Name of the company that will be shown as sender in the address label",
        "streetAddress" : "Example street 123",
        "postalCode" : "00100",
        "postOffice" : "Helsinki",
        "country" : "FI"
    },
    "client" : {
        "externalId" : "123456",
        "name" : "Name of the payer",
        "streetAddress" : "Home address 123",
        "postalCode" : "90900",
        "postOffice" : "Kiiminki",
        "country" : "FI"
    },
    "recipient" : {
        "externalId" : "100060",
        "name" : "Name of the recipient",
        "streetAddress" : "Recipient address 5",
        "postalCode" : "01820",
        "postOffice" : "Klaukkala",
        "country" : "FI",
        "telephone" : "04012345678",
        "email" : "firstname.lastname@example.com"
    },
    "deliveryAddress" : {
        "name" : "Recipient firstname\nRecipient lastname\nc/o Pickup point name",
        "streetAddress" : "Pickup point address 1",
        "postalCode" : "00234",
        "postOffice" : "Helsinki",
        "country" : "FI",
        "telephone" : "04012345678",
        "email" : "firstname.lastname@example.com"
    },
    "currency" : "EUR",
    "requestedDeliveryDate" : "2017-04-12T00:00:00.000+02:00",
    "print" : [
        {
            "templateId" : "standard",
            "freeText" : [
                {
                    "name" : "vendorCustomerId",
                    "value" : "22221111"
                }
            ]
        },
        {
            "templateId" : "standard",
            "freeText" : [
                {
                    "name" : "deliveryTerms",
                    "value" : "Toimitus noutopisteeseen"
                }
            ]
        },
        {
            "templateId" : "standard",
            "freeText" : [
                {
                    "name" : "deliveryMethodText",
                    "value" : "Postipaketti"
                }
            ]
        }
    ],
    "comments" : [
        {
            "type" : "pickingNote",
            "value" : "Text message 05012345678"
        },
        {
            "type" : "deliveryNote",
            "value" : "Text message 05012345678"
        }
    ],
	"deliveryOperator" : "Posti",
    "serviceCode" : "2W2103",
    "postiCustomerId" : "12345",
    "rows" : [ 
        {
            "externalId" : "100",
            "externalProductId" : "unique-id-1",
            "productEANCode" : "6419835068484",
            "productDescription" : "Product name shown in delivery note",
            "externalWarehouseId" : "003723456789",
            "quantity" : 3.0,
            "volume" : 0.04,
            "productUnitOfMeasure" : "KPL",
            "print" : {
                "customerProductId" : "Webshop product-id shown in delivery note"
            },
			"deliveryOperator" : "Posti",
			"serviceCode" : "2W2103",
            "additionalServices" : [ 
                {
                    "serviceCode" : "3139",
                    "attributes" : [ 
                        {
                            "name" : "telephone",
                            "value" : "04012345678"
                        }, 
                        {
                            "name" : "email",
                            "value" : "firstname.lastname@example.com"
                        }
                    ]
                }
            ],
            "routingServiceCode" : "3200",
        }
    ]
}

            

Response codes

Response codeMeaning
200 SuccessSuccesfully completed.
400 Bad RequestData provided in request was not valid.
403 ForbiddenRequested operation is not allowed.
404 Not FoundRequested resource was not found.
409 Conflict Order with the same externalId already exist
500 Internal Server ErrorAn error occured while processing request.

GET/v2/orders/{orderNumber}

Overview

Retrieve a sales order

Query string parameters

Noneg

Response fields

An instance of order. The content depends on the information sent with the order originally. Please refer to the description of placing a new order for the extensive field list. Only the differing fields are described in the table below.

ElementTypeDescription
metadata.insertDateStringDatabase record creation date and time, in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).
metadata.updateDateStringDatabase record update date and time, in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).
metadata.creationDateTimeStringDatetime of order creation, in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ)
rows.deliveredQuantityNumberDelivered quantity of the order row
rows.toBeRoutedQuantityNumberQuantity still left to be routed on the order row. Used in backorder handling, should equal (rows.quantity - rows.deliveredQuantity)
rows.routedWarehousesArrayArray of warehouses to which the order row has been routed to
rows.routedWarehouses.externalWarehouseIdStringWarehouse id
rows.routedWarehouses.timestampStringDate and time when the order row was routed to given warehouse, in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).
rows.routedWarehouses.requestedQuantityNumberThe order row quantity that was routed to given warehouse
rows.lastRoutedDateTimeStringDate and time of the last time the order row was routed, in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).
rows.backOrderCancelledBooleanIndicator of whether further backorders for this row have been manually cancelled in Glue-UI
rows.shipmentIdsArrayShipment ids of the row. Refers to the shipments related to the order row.

Response codes

Response codeMeaning
200Successful request.
404The order does not exist.
500Internal error occured while processing request.

GET/v2/orders/status/{status}

Overview

Retrieve orders based on the status that has been added to order.

Example statuses that can be used are Routed, Viewed, Picking, Packing, Shipping, Delivered, All.

Query will return all orders that have defined status added after (or between) the parameter defined timestamp.

Query string parameters

ParameterMandatoryTypeDescription
from X String Timestamp of status in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).Query will find all orders which have status after defined timestamp.
to String Timestamp of status in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).If added then this is the maximum timestamp of  the status that query is looking. If order have first status added after this timestamp then it will not be included in the result.
start String Defines from which of the order results will be returned. Use for pagination.
limit String Defines how many values to return. User for pagination together with start.

Response fields

ElementTypeDescription
metainfo object Contains metainfo for the placed response
metainfo.queryResultCount Number Displays the amount of orders that matched the initial query. If pagination is used then this total result count will help consumer to know how many requests they need to do before all records have been retrieved.
metainfo.sortyBy String Indicates the field based on what the result is sorted
metainfo.sortDirection Number Indicates the direction of the sorting ( 0 = ascending; 1 = descending)
orders Array Array of orders that have Delivered status value greater then input parameter value.
orders.externalId String Unique identifier of the order in the seller's (webshop) system. Underscore ("_") symbol is not supported. This is recommended to be Reseller’s order number from online shop.
orders.statuses Array Array of order statuses. Includes trackingIds.
orders.statuses.value String Name of the status
orders.statuses.timestamp String Datetime of the status change, in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).
orders.statuses.trackingIds Array Tracking ID-s if any (e.g. JJFI-code)
orders.rows Array Array of order rows with selected fields.
orders.rows.externalId String Identifier of order row in external system.
orders.rows.externalProductId String Identifier of product in external system.
orders.rows.quantity Number Originally ordered quantity.
orders.rows.deliveredQuantity Number Delivered quantity of the order row.
orders.rows.statuses Array Array of order row statuses.
orders.rows.statuses.value String Name of the status.
orders.rows.statuses String Date time of the status change, in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).
orders.rows.statuses Array Trackingid's if any. e.g. JJFI-code.

Example request

GET
/v2/orders/status/Delivered?from=2019-02-01T20:20:20Z&to=2019-04-01T20:20:20Z&start=0&limit=10
            

Example response

{
    "metainfo": {
        "queryResultCount": 159,
        "sortBy": "_id",
        "sortDirection": 0
    },
    "orders": [
        {
            "externalId": "TEST0802012",
            "statuses": [
                {
                    "value": "orderRouted",
                    "timestamp": "2019-02-08T14:19:05.305+02:00",
                    "trackingIds": []
                },
                {
                    "value": "Routed",
                    "timestamp": "2019-02-08T14:19:05.072+02:00",
                    "trackingIds": [
                        "JJFI12345600000101139"
                    ]
                },
                {
                    "value": "Delivered",
                    "timestamp": "2019-02-09T13:00:36.129+02:00",
                    "trackingIds": [
                        "JJFI12345600000101139"
                    ]
                }
            ],
            "rows": [
                {
                    "externalId": "1",
                    "externalProductId": "TEST_PRODUCT_0001",
                    "quantity": 4,
                    "deliveredQuantity": 4,
                    "statuses": [
                        {
                            "trackingIds": [],
                            "value": "orderRouted",
                            "timestamp": "2019-02-08T14:19:05.305+02:00"
                        },
                        {
                            "trackingIds": [
                                "JJFI12345600000101139"
                            ],
                            "value": "Routed",
                            "timestamp": "2019-02-08T14:19:05.072+02:00"
                        },
                        {
                            "trackingIds": [
                                "JJFI12345600000101139"
                            ],
                            "value": "Delivered",
                            "timestamp": "2019-02-09T13:00:36.129+02:00"
                        }
                    ]
                },
                {
                    "externalId": "2",
                    "externalProductId": "TEST_PRODUCT_0002",
                    "quantity": 5,
                    "deliveredQuantity": 5,
                    "statuses": [
                        {
                            "trackingIds": [],
                            "value": "orderRouted",
                            "timestamp": "2019-02-08T14:19:05.305+02:00"
                        },
                        {
                            "trackingIds": [
                                "JJFI12345600000101139"
                            ],
                            "value": "Routed",
                            "timestamp": "2019-02-08T14:19:05.072+02:00"
                        },
                        {
                            "trackingIds": [
                                "JJFI12345600000101139"
                            ],
                            "value": "Delivered",
                            "timestamp": "2019-02-09T13:00:36.129+02:00"
                        }
                    ]
                }
            ]
        }
    ]
}
            

Response codes

Response codeDescription
200 SuccessRequest processed successfully.
403 ForbiddenRequested operation is not allowed.
404 Not FoundRequested resource was not found.
500 Internal Server ErrorAn error occurred while processing request.