Orders API V2

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.

Environment Protocol Host
Test HTTPS argon.ecom-api.posti.com
Prod HTTPS ecom-api.posti.com

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

Element Mandatory Type Description
externalId X String Unique identifier of the order in the seller's (webshop) system.
references Array Array for order references
references.name String Name 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.value String PO or SO value. Maximum length: 100
orderDate X String Creation date and time of the order, exactly in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).
promisedDeliveryDateTime String Promised date and time of the order's delivery, exactly in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).
requestedDeliveryDate String The date the customer has requested the order to be delivered, exactly in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).
requestedShipDate String Date 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.
metadata Object Metadata information of the order
metadata.sourceOrganization String Name of the source organization (webshop) that sent the order
metadata.receiverOrganization String Name of the receiver (delivery warehouse) organization whom the order was sent to
metadata.language String Language code of the order, in two-letter ISO 639-1 format, e.g. FI
metadata.externalUserId String Identifier 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.documentType String Possible 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.orderType String The 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.warehouse Object Used only with Posti and Transval warehouse services. Use the warehouse ID provided by warehouse service provider.
metadata.warehouse.sourceOrganizationId String Principal's Posti WH service ID
metadata.warehouse.shipNode (X) String Ship 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.billToId String The identifier of the bill to customer. BillToId can represent the Customer number of the customer. Maximum length: 40
metadata.warehouse.shipToId String The identifier of the ship to customer. ShipToId can represent the Customer number of the customer. Primary information of Principal's customer. Maximum length: 40
vendor Object Vendor 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.externalId String Identifier of the vendor in external system. This shall be either OVT code or business Id. SupplierWeb identifies retailers using this field.
vendor.name (X) String Name of the vendor. May contain one linebreak (\n). E.g. “Posti Oy\nverkkokauppa.posti.fi”.
vendor.streetAddress (X) String Street address of the vendor. May contain up to two linebreaks (\n)
vendor.postalCode (X) String Postal code of the vendor
vendor.postOffice (X) String Post office of the vendor
vendor.country (X) String 2-letter country code of the vendor as defined in ISO 3166-1 alpha-2, e.g. FI
vendor.telephone String Phone number of the vendor with country code e.g. +358501234567
vendor.email String Email of the vendor
sender X Object Information 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.externalId String Identifier of the sender in external system (EDI code)
sender.name X String Name of the sender. May contain one linebreak (\n).
sender.streetAddress X String Street address of the sender. May contain up to two linebreaks (\n)
sender.postalCode X String Postal code of the sender
sender.postOffice X String Post office of the sender
sender.country X String 2-letter country code of the sender as defined in ISO 3166-1 alpha-2, e.g. FI
sender.telephone String Phone number of the sender with country code e.g. +358501234567
sender.email (X) String Email of the sender. Required if deliveryOperator is other than “Posti”.
client X Object Payer information.
client.externalId String Identifier of the payer in external system e.g. customer number
client.name X String Name of the payer. May contain one linebreak (\n).
client.streetAddress X String Street address of the client. May contain up to two linebreaks (\n)
client.postalCode X String Postal code of the payer
client.postOffice X String Post office of the payer
client.country X String 2-letter country code of client as defined in ISO 3166-1 alpha-2, e.g. FI
client.telephone String Phone number of the payer with country code e.g. +358501234567
client.email String Email of the payer
recipient Object Recipient information. If not given, client (payer) is used as the recipient.
recipient.externalId String Identifier of the recipient in external system e.g. customer number
recipient.name (X) String Name of the recipient. May contain one linebreak (\n).
recipient.streetAddress (X) String Street address of the recipient. May contain up to two linebreaks (\n)
recipient.postalCode (X) String Postal code of the recipient
recipient.postOffice (X) String Post office of the recipient
recipient.country (X) String 2-letter country code of the recipient as defined in ISO 3166-1 alpha-2, e.g. FI
recipient.telephone String Phone number of the recipient with country code e.g. +358501234567
recipient.email String Email of the recipient
deliveryAddress Object Additional delivery address information used by the following service codes: 2101, 2102, 2103, 2106, 2124, 2144, 2145.
deliveryAddress.externalId String Identifier of the delivery address in external system e.g. customer number
deliveryAddress.name (X) String Name of the additional delivery address. May contain maximum two line breaks (\n). Example: First name Last name\nPickup point
deliveryAddress.streetAddress (X) String Street address of the additional delivery address. May contain up to two linebreaks (\n)
deliveryAddress.postalCode (X) String Postal code of the additional delivery address
deliveryAddress.postOffice (X) String Post office of the additional delivery address
deliveryAddress.country (X) String 2-letter country code of the additional delivery address as defined in ISO 3166-1 alpha-2, e.g. FI
deliveryAddress.telephone String Phone number for the delivery address with country code e.g. +358501234567
deliveryAddress.email String Email for the delivery address
currency String 3-letter currency code of order in ISO 4217 standard. If not given, EUR is assumed
paymentTerm String Payment term
invoice Object Invoice information
invoice.invoiceNumber (X) String Number of the invoice
invoice.invoiceDate (X) String Date of the invoice, in format YYYY-MM-DD
invoice.invoiceCurrency (X) String Currency code of the invoice in ISO 4217 standard.
invoice.totalValue (X) String Total gross value of the invoice, in invoice currency
serviceCode String Code of transport service to be used for all order rows. Can also be defined separately for each row in a row level attribute.
List of supported service codes are available here.
deliveryTerms String Delivery terms of order, as INCOTERMS. Max length: 40
deliveryOperator String Following 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, Neutral carrier.
additionalServices Array 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) String Code of additional service. List of possible values are found from here.
additionalServices.telephone String Telephone number (with country code e.g. +3580501234567) for the additional service. Only applicable for certain services, such as electronic notice of arrival.
additionalServices.email String Email address for the additional service. Only applicable for certain services, such as electronic notice of arrival.
additionalServices.attributes Array Additional service attributes i.e. CashOnDelivery.
additionalServices.attributes.name (X) String Attribute's name. Possible values are e.g. CashOnDelivery, PostiAccount.
additionalServices.attributes.value (X) String Attribute's text, e.g. true
routingServiceCode String 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.
comments Array Comments regarding order, e.g. comments for print outs.
comments.type (X) String Comment's type. Allowed values are pickingNote, packingNote, deliveryNote, reference and passThrough.
comments.value (X) String Comment's text. e.g. pick from the oldest batch
comments.name String Comment's name. e.g. comment to picking note
statuses Array Array 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.value String Order statuses can be found here.
statuses.timestamp String Date time of the status change, in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).
statuses.trackingIds Array Status' tracking ids if any. e.g. JJFI-code
postiCustomerId String Payer 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.
print Array Order level details used for printing
print.templateId String Pre-defined print form id, id's from Posti
print.freeText Array Depending on pre-defined template functionality
print.freeText.name String Pre-defined template
print.freeText.value String Dynamic content with pre-defined length
print.references Boolean If references array has value, those will be printed based on template functionality.
rows X Array Order row information (at least 1 row must be defined).
rows.externalId X String Sequence 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.externalProductId X String Supplier’s product ID (SKU) or your own product ID if you are warehouse customer.
rows.productEANCode String EAN code of supplier’s product.
rows.productUnitOfMeasure (X) String The unit of measure. Mandatory with Posti WH sales orders. Maximum length: 40
rows.productDescription String Description of product.
rows.serialNo Array Requested 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.lotNumber String Requested lot to be used in order picking. Max length: 24
rows.print Object Row level details used in printing
rows.print.productTariffCode String Tariff code of the product
rows.print.price String Unit price, VAT 0%
rows.print.vatPercentage (X) String VAT percentage. Mandatory if tax used
rows.print.taxValue (X) String Tax value. Mandatory if tax used
rows.print.taxName (X) String Tax name. Mandatory if tax used. Maximum length: 40
rows.print.customerProductId String Identifier of product sold to end consumer. May be needed in prints. Maximum length: 40
rows.print.invoiceReferenceNumber String Cash on delivery-reference number
rows.print.invoiceBIC String Cash on delivery-BIC number for the bank
rows.print.invoiceIBAN String Cash on delivery-IBAN account number
rows.productTariffCode String Tariff code of the product
rows.price Number Wholesale unit price of the product, VAT 0%
rows.vatPercentage Number VAT percentage used in the row
rows.externalWarehouseId X String Identifier of the warehouse in an external system (OVT code).
rows.backOrder Boolean Indicator of whether back orders are allowed or not, in case there are insufficient supplies to fulfill the ordered quantity
rows.mandatory Boolean Indicator of whether the row contains a critical product without which the order cannot be delivered
rows.crossDocking Boolean Indicator of whether cross docking is in use for this row
rows.quantity X Number Quantity of the order row
rows.weight (X) Number Weight 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) Number Volume 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.parentRowReference String Reference to parent row. Can be used to indicate that the product needs to be shipped as a bundle with the parent row.
rows.productType String Describes product's type. Valid values can be serviceProduct (e.g. "installation") or costProduct (e.g. "delivery cost").
rows.deliveryOperator String Name of the delivery operator Posti.
rows.packageType String Type 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.serviceCode String Code for transport service to be used for the order row.
rows.routingServiceCode String Routing service code that applies to the order row. This is used only in special cases and available options must be agreed separately during service implementation. Normally you should use the routingServiceCode which is available on the order level.
rows.additionalServices Array Information of additional services that apply to the order row; available options must be agreed separately during service implementation.
rows.additionalServices.serviceCode (X) String Code of additional service, e.g. 3139 (for SmartPost). List of possible values are found from here. Max length: 20
rows.additionalServices.telephone String Telephone number for the additional service. Only applicable for certain services, such as electronic notice of arrival.
rows.additionalServices.email String Email address for the additional service. Only applicable for certain services, such as electronic notice of arrival.
rows.additionalServices.attributes Array Additional service attributes i.e. CashOnDelivery.
rows.additionalServices.attributes.name (X) String Attribute's name. Possible values are e.g. CashOnDelivery, PostiAccount.
rows.additionalServices.attributes.value (X) String Attribute's text, e.g. true
rows.comments Array Comments regarding order line, e.g. comments for print outs.
rows.comments.type (X) String Comment's type. Allowed values are pickingNote, packingNote, deliveryNote, reference and passThrough.
rows.comments.value (X) String Comment's text, e.g. pick from the oldest batch
rows.comments.name String Comment's name, e.g. comment to picking note
rows.partialDeliveryAllowed Boolean Specifies if item is allowed to ship separately
rows.statuses Array Status of the row. Status indicates which point the row is at in the delivery process.
rows.statuses.value String Order statuses can be found here. “Delivered” is always final value of order. Check also “deliveredQuantity” to see if order was cancelled, or partially, or completely delivered.
rows.statuses.timestamp String Date time of the status change, in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).
rows.statuses.trackingIds Array Status' tracking ids if any. e.g. JJFI-code
rows.warehouse Object Used only with Posti warehouse service.
rows.warehouse.segmentType String Indicates 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.segment String Indicates 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) String Ship 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" : "2103",
    "routingServiceCode" : "3200",
    "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" : "2103",
            "additionalServices" : [ 
                {
                    "serviceCode" : "3139",
                    "attributes" : [ 
                        {
                            "name" : "telephone",
                            "value" : "04012345678"
                        }, 
                        {
                            "name" : "email",
                            "value" : "firstname.lastname@example.com"
                        }
                    ]
                }
            ]
        }
    ]
}

            

Response codes

Response code Meaning
200 Success Succesfully completed.
400 Bad Request Data provided in request was not valid.
403 Forbidden Requested operation is not allowed.
404 Not Found Requested resource was not found.
409 Conflict Order with the same externalId already exist
500 Internal Server Error An 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.

Element Type Description
metadata.insertDate String Database record creation date and time, in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).
metadata.updateDate String Database record update date and time, in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).
metadata.creationDateTime String Datetime of order creation, in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ)
rows.deliveredQuantity Number Delivered quantity of the order row
rows.toBeRoutedQuantity Number Quantity still left to be routed on the order row. Used in backorder handling, should equal (rows.quantity - rows.deliveredQuantity)
rows.routedWarehouses Array Array of warehouses to which the order row has been routed to
rows.routedWarehouses.externalWarehouseId String Warehouse id
rows.routedWarehouses.timestamp String Date 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.requestedQuantity Number The order row quantity that was routed to given warehouse
rows.lastRoutedDateTime String Date and time of the last time the order row was routed, in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).
rows.backOrderCancelled Boolean Indicator of whether further backorders for this row have been manually cancelled in Glue-UI
rows.shipmentIds Array Shipment ids of the row. Refers to the shipments related to the order row.

Response codes

Response code Meaning
200 Successful request.
404 The order does not exist.
500 Internal 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

Parameter Mandatory Type Description
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

Element Type Description
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. Order statuses can be found here.
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. Order statuses can be found here.
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 code Description
200 Success Request processed successfully.
403 Forbidden Requested operation is not allowed.
404 Not Found Requested resource was not found.
500 Internal Server Error An error occurred while processing request.