Order API


The Order API is intended to collect order/shipment data used to generate SMARTSlips® in line with their business processes.

The API is only made up of a single POST endpoint through which clients can submit their data programmatically.

Order API URLs






Treat the API key and API password like you would any other password, since whoever has access to these credentials has full API access.

To interact with the Retain.me Order API, your application must provide the necessary authentication credentials on each HTTP request to the Retain.me Order API. The way to provide these credentials is more or less the same with which ever tech stack you choose to use.

Applications can interact with the Retain.me Order API via basic HTTP authentication over SSL. The required credentials must be generated/requested from the Retain.Me team and can be regenerated upon request.

Applications authenticate through basic HTTP authorization, where the API key of the application is the username, and the API Password is the password.

Some HTTP clients support basic authentication by prepending username:password to the hostname in the URL. For example:

POST 45634643FGDFGFDG:hfcdethuzzjhg54 @'https://orders-beta.smartslip.io/api/v2/orders'

If your HTTP client doesn't support basic authentication using this method, then you can provide the credentials in the Authorization header field instead:

Join the API key and API password with a single colon (:). Encode the resulting string in base64 representation. Prepend the base64-encoded string with Basic and a space:

Authorization: Basic NDQ3OGViN2FjMTM4YTEzNjg1MmJhYmQ4NjE5NTZ...=

API Requests

Helpful Information

Customer names should be split into shipment.first_name / shipment.last_name in the shipment object so the first name can be used in a welcome message on the SMARTSlip® to the person the goods are being shipped to.

Gift messaging will be shown on the SMARTSlip® if the data is passed through in the order data. is_gift should be set to True in the JSON and gift_message should contain the gift message, ## is used to denote a carriage return in the current data flow.

A Customer ID should be populated in customer.customer_id.

Language content versions are triggered based on the contents of the shipment.country_code using ISO 3166 2 Alpha-2 codes, if a client requires multiple languages.

Transaction panel data as below, the barcode will be the data in order.order_number, shipment.custom_1 and order.custom_3 can be your references for the order/pick:-

A Transaction panel may contain as much or as little information as required by your Operation.

A SMARTSlip® may have detachable integrated labels for an outbound carriage and return carriage. In the Primary Data call to the Order API, outbound and inbound carrier labels can also be sent in the order/shipment JSON as base64 data here https://orders.smartslip.io/v2/Shipment, if required. This is an advanced integration which eliminates the need for label printers and potential mismatch and saves considerable time in the DC Operation.

Last updated