SMARTSlips Integration Introductory Documentation

Where a Warehouse Management System (WMS) is the ‘primary data source’:

A Primary Data Source is considered to be the Order header data, Order line data, Shipping name and address and Customer email as a minimum. Additional data may also be sent per Client requirements.

A Secondary Data Source is typically an Ecommerce platform (eg Shopify) or marketing engine (eg Klaviyo). This is a data source for Retain.me to get additional data points for the purposes of personalization and is out of scope for this document.

For reference, Order = Shipment

A WMS will need to write to our Order API with the Primary Data and will also need to call our Print API to print SMARTSlip®.

The data flow concept is:

  • WMS > Primary Data > Retain.me Order API

  • Retain.me creates and pushes a composed PDF to a PC or VM at the DC (fulfilment operation).

  • WMS > Retain.me Print API > print each SMARTSlip®.

A physical PC or VM is required at the DC. Retain.me “DC App” is responsible for pulling in PDFs from Azure Cloud and responding to Print API calls to push print to registered printers. More on the DC App later.

Retain.me APIs

Order API

The Order API is intended to collect order/shipment data. Typically it is recommended to send the data to Retain.me at the point of pick allocation or confirmation. Detailed information is in the API Section linked blow.


The DC API Is used to provide print functionality to warehouses. This is typically executed at the point of packing referencing the value sent into order.order_number which in the case of a WMS would be the WMS unique ID). The print API call also has an identifier (source_id) which is used to route the print to the required printer

If you have a unique WMS reference number which you use for each shipment, the same to reference should drive the print requests. In this scenario, the WMS reference should be passed into our order.order_number field. An Ecom order number can then be sent into a custom field, see an example transaction panel below).

API Utilisation

Both Order API requests and Print API requests can be made either in singles or as a collection.

The key to a successful implementation is the timing of the API calls. The Order API call needs to be made in advance of the Print API call. This is usually done at a stage in the WMS process of Order allocation or Order pick complete. The Print API call is typically made at the point where a batch of orders is ready for packing (batch / collection printing) or at the pack desk at the beginning of the pack process (singles printing).

There is also the concept of AutoPrint which negates the need for a Print API call altogether. This configuration means that PDFs will automatically begin printing as soon as the PDFs are composed and pushed to the DC PC. Please request API Print methods document by emailing at help@retain.me.

If the WMS is set up as a multi retailer, Retain.me will issue separate order and print API credentials for each retailer.

Retain.me DC App

See SMARTSlip® Technical Overview page 4 for the DC hardware spec. The ideal scenario is for the printers and the PC to be isolated onto a VLAN or DMZ with internet access for the PC to communicate with Azure cloud services and to allow unrestricted remote access via TeamViewer as and when required for support and maintenance purposes. The PC simply needs to be online and logged in for our services to process. If the PC is a physical PC located in the same area as the printers in the packing area then this can be accessed by appropriate staff to make sure the PC is switched on and logged in and they can, if necessary, reboot and log in as a first step to troubleshooting any issues with the PC. Once the PC is available remotely we will log on and install and test the Retain.me DC APP.

Additionally, we will install the Print DCA (Data Collection Agent) which monitors the printer consumables for automatic replenishment.

Once the PC is set up, we can run on our Beta initially if required and then swap to production once it is tested and ready.

Fulfill Web App

Retain.me browser based application typically used for occasional reprints and to change printer configurations.

An admin user may set up as many users as required, or set up one generic user for the Fulfilment operation. Users and Admins have different permissions enabling varying visibility of functions, depending on DC preferences.

Depending on the scale of the DC operation, it is also possible to use the fulfill app for printing 100% of SMARTSlip® which would negate the need for a PRINT API call. Users may scan the Order Number or WMS number directly into the Print box, or select a range of orders to be printed in batch. Please note, as this is a manual process this can add time to the fulfilment operation.

Last updated