Download OpenAPI specification:Download
This is the OMX (Omniva Message Exchange) API to demonstrate how integrations with Omniva work.
This document describes the structure and rules about parcel delivery data exchange format (JSON).
The topics covered are:
The primary contact person for discussing the subjects treated in this document is the Omniva Account manager,
who, if necessary, will involve IT application and/or project management experts in the discussion.
Customer's system will perform HTTP/SOAP request to web service.
JSON data files are created with a universal structure. Requirements about the attributes are described in this document as well.
Example calls are given on Omniva homepage here: Omniva API Examples.
Customer can choose between two shipment registration types:
Business to customer (B2C): This is used for fully automatic data exchange. No manual work or confirming is needed or possible in the
business customer e-service. Parcel data, statuses, and parcel labels can be requested via web service.
Currently, no manifest printing is possible - it should be generated by the Customer's system.
Customer to customer (C2C): The structure is the same as BusinessToClientMsgRequest. The only difference is that the Customer will
never be subject to billing. The transportation fee is always paid by the receiver. This is required to be used with parcel label printing.
The label (PDF) can be sent via email or into the Customer's system for download.
If the parcel is returned for some reason, the same data will be used, and the transportation fee will be collected from the Sender.
The web service works through SSL using HTTP protocols. The means of authentication is HTTP BASIC AUTHENTICATION.
Username and password with the web service URL will be provided by your Account Manager.
To identify platforms that offer integration solutions for other customers, a header attribute is used:
X-Integration-Agent-IdDeveloper_XXXXXX_YYYYYY where Developer is a fixed value, XXXXXX is provided by Omniva, and YYYYYY can be usedThe header attribute should be used in all requests.
Get tracking info
required | object (ShipmentTrackingChangesRequest) Shipment Tracking changes for Customer request |
| customerCode | string |
| page | integer >= 0 Default: 0 Zero-based page index (0..N) |
| size | integer >= 1 Default: 20 The size of the page to be returned |
| sort | Array of strings Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. |
{- "size": 0,
- "content": [
- {
- "eventId": 0,
- "eventCode": "string",
- "eventName": "string",
- "eventDate": "2019-08-24T14:15:22Z",
- "comment": "string",
- "location": {
- "zip": "string",
- "locationName": "Haapsalu Kaubamaja pakiautomaat"
}, - "shipmentBarcode": "string"
}
], - "number": 0,
- "sort": [
- {
- "direction": "string",
- "nullHandling": "string",
- "ascending": true,
- "property": "string",
- "ignoreCase": true
}
], - "numberOfElements": 0,
- "pageable": {
- "offset": 0,
- "sort": [
- {
- "direction": "string",
- "nullHandling": "string",
- "ascending": true,
- "property": "string",
- "ignoreCase": true
}
], - "pageNumber": 0,
- "pageSize": 0,
- "paged": true,
- "unpaged": true
}, - "first": true,
- "last": true,
- "empty": true
}Get tracking info by barcode
| barCode required | string |
{- "shipmentBarcode": "string",
- "events": [
- {
- "eventId": 0,
- "eventCode": "string",
- "eventName": "string",
- "eventDate": "2019-08-24T14:15:22Z",
- "comment": "string",
- "location": {
- "zip": "string",
- "locationName": "Haapsalu Kaubamaja pakiautomaat"
}
}
]
}Get tracking info by barcode 2
| barCode required | string |
{- "shipmentBarcode": "string",
- "events": [
- {
- "eventId": 0,
- "eventCode": "string",
- "eventName": "string",
- "eventDate": "2019-08-24T14:15:22Z",
- "comment": "string",
- "location": {
- "zip": "string",
- "locationName": "Haapsalu Kaubamaja pakiautomaat"
}
}
]
}update receiver address along address contact details
| customerCode required | string [ 0 .. 20 ] characters Customer Axa code. |
| barcode required | string [ 5 .. 35 ] characters Barcode to identify the shipment requiring update |
| needsRelabel required | boolean Set to true if relabelling needed on omniva side for address update - currently disabled |
| deliveryChannel required | string (DeliveryChannelEnum) Enum: "ANY" "CLIENT_HUB" "COURIER" "PARCEL_MACHINE" "PICK_UP_POINT" "POST_BOX" "POST_OFFICE" PICK_UP_POINT - 'Not used', POST_BOX - 'Only allowed for mainService=LETTER', CLIENT_HUB - 'Only allowed for specific partners/cases. Please contact Omniva support in case of interest, ANY - 'Not used' DeliveryChannel is mandatory if mainService=PARCEL and delivery country is EE, LT, LV'or mainService=LETTER and delivery country is EE |
| shipmentComment | string |
required | object (ReceiverAddresseeDto) |
{- "customerCode": "string",
- "barcode": "string",
- "needsRelabel": true,
- "deliveryChannel": "ANY",
- "shipmentComment": "string",
- "receiverAddressee": {
- "personName": "string",
- "contactPhone": "string",
- "contactMobile": "string",
- "contactEmail": "string",
- "deliveryTimeStart": "2019-08-24T14:15:22Z",
- "deliveryTimeEnd": "2019-08-24T14:15:22Z",
- "address": {
- "postcode": "string",
- "deliverypoint": "string",
- "country": "AD",
- "street": "string",
- "houseNo": "string",
- "apartmentNo": "string",
- "offloadPostcode": "string"
}, - "firstName": "string",
- "lastName": "string",
- "companyName": "string",
- "useCustomerCode": true,
- "contactPersonName": "string"
}
}{- "resultCode": "string",
- "messageCode": "string",
- "message": "string",
- "provider": "string",
- "barcode": "string"
}| customerCode | string |
required | Array of objects (ReturnShipmentDto) |
{- "customerCode": "string",
- "returnShipments": [
- {
- "barcode": "string",
- "partnerShipmentId": "string",
- "paidByReceiver": true
}
]
}{- "resultCode": "string",
- "provider": "string",
- "savedShipments": [
- {
- "barcode": "string",
- "originalShipmentBarcode": "string",
- "partnerShipmentId": "string",
- "messageCode": "string",
- "message": "string"
}
], - "failedShipments": [
- {
- "barcode": "string",
- "originalShipmentBarcode": "string",
- "partnerShipmentId": "string",
- "messageCode": "string",
- "message": "string"
}
]
}In case attribute does not have a value, attribute should not exist in the message. If the attribute exists the value will be checked against validation rules.
| customerCode | string PARTNER_CODE (AXA Code) of the Customer, agreed upon previously. |
| fileId | string When the file is created, an unique identifier must be assigned to it. Partner generates itself. |
required | Array of objects (C2cShipmentDto) shipment list |
{- "customerCode": "string",
- "fileId": "string",
- "shipments": [
- {
- "mainService": "LETTER",
- "deliveryChannel": "ANY",
- "servicePackage": {
- "code": "COURIER",
- "allowedStoringPeriod": 0
}, - "barcode": "string",
- "addServices": [
- {
- "code": "string",
- "amount": 0,
- "params": {
- "property1": "string",
- "property2": "string"
}
}
], - "measurement": {
- "weight": 0,
- "length": 0,
- "width": 0,
- "height": 0,
- "shipmentUpTo2kg": true
}, - "shipmentComment": "string",
- "shipmentUnitId": "string",
- "returnAllowed": true,
- "paidMainServiceAmount": 0,
- "notifications": [
- {
- "type": "string",
- "channel": "string"
}
], - "partnerShipmentId": "string",
- "receiverAddressee": {
- "personName": "string",
- "contactPhone": "string",
- "contactMobile": "string",
- "contactEmail": "string",
- "deliveryTimeStart": "2019-08-24T14:15:22Z",
- "deliveryTimeEnd": "2019-08-24T14:15:22Z",
- "address": {
- "postcode": "string",
- "deliverypoint": "string",
- "country": "AD",
- "street": "string",
- "houseNo": "string",
- "apartmentNo": "string",
- "offloadPostcode": "string"
}, - "firstName": "string",
- "lastName": "string",
- "companyName": "string",
- "useCustomerCode": true,
- "contactPersonName": "string"
}, - "senderAddressee": {
- "personName": "string",
- "contactPhone": "string",
- "contactMobile": "string",
- "contactEmail": "string",
- "address": {
- "postcode": "string",
- "deliverypoint": "string",
- "country": "AD",
- "street": "string",
- "houseNo": "string",
- "apartmentNo": "string"
}, - "altName": "string",
- "useSenderAddressForReturn": true
}, - "customs": {
- "goodsCategoryCode": "COMMERCIAL_SAMPLE",
- "categoryExplanation": "string",
- "licenceNumber": "string",
- "certificateNumber": "string",
- "invoiceNumber": "string",
- "senderCustomsReference": "string",
- "importersReference": "string",
- "comments": "string",
- "shipmentItems": [
- {
- "description": "string",
- "numberOfPieces": 0,
- "weight": 0,
- "financialValue": 0,
- "tariffNumber": "string",
- "originCountry": "str"
}
]
}, - "contentDescription": "string",
- "shipmentTraceable": true
}
]
}{- "resultCode": "string",
- "provider": "string",
- "savedShipments": [
- {
- "barcode": "string",
- "clientItemId": "string",
- "messageCode": "string",
- "message": "string",
- "courierOrderNumber": "string",
- "consolidatedShipments": [
- {
- "barcode": "string",
- "clientItemId": "string"
}
]
}
], - "failedShipments": [
- {
- "barcode": "string",
- "clientItemId": "string",
- "messageCode": "string",
- "message": "string",
- "courierOrderNumber": "string",
- "consolidatedShipments": [
- {
- "barcode": "string",
- "clientItemId": "string"
}
]
}
]
}In case attribute does not have a value, attribute should not exist in the message. If the attribute exists the value will be checked against validation rules.
| customerCode | string PARTNER_CODE (AXA Code) of the Customer, agreed upon previously. |
| fileId | string When the file is created, an unique identifier must be assigned to it. Partner generates itself. |
required | Array of objects (OnloadShipmentDto) shipment list |
{- "customerCode": "string",
- "fileId": "string",
- "shipments": [
- {
- "mainService": "LETTER",
- "deliveryChannel": "ANY",
- "servicePackage": {
- "code": "COURIER",
- "allowedStoringPeriod": 0
}, - "barcode": "string",
- "addServices": [
- {
- "code": "string",
- "amount": 0,
- "params": {
- "property1": "string",
- "property2": "string"
}
}
], - "measurement": {
- "weight": 0,
- "length": 0,
- "width": 0,
- "height": 0,
- "shipmentUpTo2kg": true
}, - "shipmentComment": "string",
- "shipmentUnitId": "string",
- "returnAllowed": true,
- "paidByReceiver": true,
- "paidMainServiceAmount": 0,
- "notifications": [
- {
- "type": "string",
- "channel": "string"
}
], - "partnerShipmentId": "string",
- "receiverAddressee": {
- "personName": "string",
- "contactPhone": "string",
- "contactMobile": "string",
- "contactEmail": "string",
- "deliveryTimeStart": "2019-08-24T14:15:22Z",
- "deliveryTimeEnd": "2019-08-24T14:15:22Z",
- "address": {
- "postcode": "string",
- "deliverypoint": "string",
- "country": "AD",
- "street": "string",
- "houseNo": "string",
- "apartmentNo": "string",
- "offloadPostcode": "string"
}, - "firstName": "string",
- "lastName": "string",
- "companyName": "string",
- "useCustomerCode": true,
- "contactPersonName": "string"
}, - "senderAddressee": {
- "personName": "string",
- "contactPhone": "string",
- "contactMobile": "string",
- "contactEmail": "string",
- "address": {
- "postcode": "string",
- "deliverypoint": "string",
- "country": "AD",
- "street": "string",
- "houseNo": "string",
- "apartmentNo": "string"
}, - "altName": "string",
- "useSenderAddressForReturn": true
}, - "customs": {
- "goodsCategoryCode": "COMMERCIAL_SAMPLE",
- "categoryExplanation": "string",
- "licenceNumber": "string",
- "certificateNumber": "string",
- "invoiceNumber": "string",
- "senderCustomsReference": "string",
- "importersReference": "string",
- "comments": "string",
- "shipmentItems": [
- {
- "description": "string",
- "numberOfPieces": 0,
- "weight": 0,
- "financialValue": 0,
- "tariffNumber": "string",
- "originCountry": "str"
}
]
}, - "contentDescription": "string",
- "shipmentTraceable": true,
- "pickup": {
- "pickupComment": "string",
- "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z"
}, - "pickupAddressee": {
- "personName": "string",
- "contactPhone": "string",
- "contactMobile": "string",
- "contactEmail": "string",
- "address": {
- "postcode": "string",
- "deliverypoint": "string",
- "country": "AD",
- "street": "string",
- "houseNo": "string",
- "apartmentNo": "string"
}
}, - "customerReturn": true,
- "consolidatedShipments": [
- {
- "barcode": "string",
- "partnerShipmentId": "string",
- "addServices": [
- "string"
]
}
]
}
]
}{- "resultCode": "string",
- "provider": "string",
- "savedShipments": [
- {
- "barcode": "string",
- "clientItemId": "string",
- "messageCode": "string",
- "message": "string",
- "courierOrderNumber": "string",
- "consolidatedShipments": [
- {
- "barcode": "string",
- "clientItemId": "string"
}
]
}
], - "failedShipments": [
- {
- "barcode": "string",
- "clientItemId": "string",
- "messageCode": "string",
- "message": "string",
- "courierOrderNumber": "string",
- "consolidatedShipments": [
- {
- "barcode": "string",
- "clientItemId": "string"
}
]
}
]
}Labels can be requested either to customer e-mail or in base64. Labels will be returned in PDF format. Labels can be requested only for parcels created by the same customer that makes request.
| customerCode required | string Customer Axa code |
required | Array of objects (BarcodeValueDto) Package barcodes |
| sendAddressCardTo required | string (AddressCardTo) Enum: "EMAIL" "RESPONSE" 'EMAIL' - labels are returned to e-mail address. 'RESPONSE' - labels are returned in API response |
| cardReceiverEmail | string Mandatory if sendAddressCardTo =EMAIL |
{- "customerCode": "string",
- "barcodes": [
- {
- "barcode": "string"
}
], - "sendAddressCardTo": "EMAIL",
- "cardReceiverEmail": "string"
}{- "failedAddressCards": [
- {
- "barcode": "string",
- "clientItemId": "string",
- "messageCode": "string",
- "message": "string",
- "courierOrderNumber": "string",
- "consolidatedShipments": [
- {
- "barcode": "string",
- "clientItemId": "string"
}
]
}
], - "successAddressCards": [
- {
- "barcode": "string",
- "fileData": "string"
}
]
}| customerCode required | string [ 0 .. 20 ] characters Customer Axa code. |
| contactPersonName required | string [ 0 .. 50 ] characters Contact person/company name |
| contactPhone required | string Contact phone number, with area code |
required | object (AddressDto) |
| pickupComment | string [ 0 .. 120 ] characters Free text to give short instructions for courier |
| startTime required | string <date-time> All times are in UTC |
| endTime required | string <date-time> All times are in UTC |
| isTwoManPickup | boolean Default value is false |
| isHeavyPackage | boolean FALSE (default) or TRUE (If any of the packages are >30kg ). |
| packageCount | integer <int32> Number of packages |
| palletCount | integer <int32> Number of pallets |
Array of objects (OrderShipmentDto) [ 0 .. 20 ] items Shipments associated with the order |
{- "customerCode": "string",
- "contactPersonName": "string",
- "contactPhone": "372543210",
- "pickupAddress": {
- "postcode": "string",
- "deliverypoint": "string",
- "country": "AD",
- "street": "string",
- "houseNo": "string",
- "apartmentNo": "string"
}, - "pickupComment": "string",
- "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "isTwoManPickup": true,
- "isHeavyPackage": true,
- "packageCount": 0,
- "palletCount": 0,
- "shipments": [
- {
- "barcode": "string"
}
]
}{- "courierOrderNumber": "string",
- "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z"
}| customerCode required | string [ 0 .. 20 ] characters PARTNER_CODE (AXA Code) of the Customer, agreed upon previously |
| courierOrderNumber required | string Courier order number to be cancelled |
{- "customerCode": "string",
- "courierOrderNumber": "string"
}{- "courierOrderNumber": "string",
- "resultCode": "string",
- "errorDetailsCode": "COURIER_ORDER_NOT_FOUND"
}