Useful 3PL Integration Endpoints

A guide to the key endpoints when creating a 3rd party logistics integration.

This guide provides information on the endpoints available through the Linnworks API which will be useful when creating a 3PL connection.

This documentation will cover the key endpoints these key areas:

Creating and setting a fulfilment centre

The following endpoints are used to create a new location and set it as a fulfilment centre:

EndpointUse
Locations/AddLocationUse this call to add a new location
Locations/UpdateLocationUse this call to update a location's name and/or details such as setting as a fulfilment centre
Inventory/GetStockLocationsUse this call to get all stock locations from a Linnworks account

Getting orders

Linnworks order management is divided into 2 main parts:

  1. Open orders. Orders that are downloaded from the sources and currently in processing stage. Linnworks user can operate these orders via UI or API and make necessary actions like printing labels, adding notes, change of shipping service etc.
  2. Process orders. Once Linnworks user has packed and prepared an order for the despatch, order is marked as Processed. Once the order is marked as processed Linnworks sends despatch notifications to the relevant channel and can not be amended afterward, except Return/Refund processing, Label/Invoice reprinting and addition of order notes.

When creating fulfilment centre integration, you will have to pull Open Orders.

EndpointUse
Orders/GetAllOpenOrdersGet the list of Id's of all open orders (without pagination)
OpenOrders/AssignOrderIdentifierAdd an identifier to an order
Orders/GetOrdersByIdOrder ids can be passed to return all order information. Retrieves the order detail for a unique system order id identifier (pkOrderId)
Orders/GetOrderByIdAs above but for a single order ID

Updating orders

These endpoints can be used to update orders as they are being processed.

EndpointUse
Orders/CancelOrderCancel a specific order
Orders/ChangeStatusChange the status of an order
Orders/ProcessOrdersInBatchMoves an order from open to processed to indicate the order has been shipped
Orders/SetExtendedPropertiesSet the extended properties of a specific order.
This call will replace the existing extended properties, if that is not desirable call Orders/GetExtendedProperties first.
Orders/ProcessOrderRetrieves the order detail for a unique system order id identifier (pkOrderId)
Orders/ProcessFulfilmentCentreOrderProcess Orders associated with a Fulfilment Centre
Orders/SetOrderCustomerInfoUpdate the customer info of a specific order
Orders/SetOrderGeneralInfoUpdate the general info of a specific order
Orders/SetOrderNotesSet the order notes for a specific order.
This call will replace the existing notes, if that is not desirable call Orders/GetOrderNotes first.
Orders/SetOrderShippingInfoUpdate the shipping info of a specific order (e.g. tracking number)
Orders/UpdateOrderItemUpdate an order item

Updating inventory

This endpoints is used to update the stock levels in Linnworks.

EndpointUse
Stock/SetStockLevelSet the stock level of a list of stock items identified by its SKU to the value provided

Notifying the 3PL of inventory changes

In order to notify a 3PL of inventory changes a method of communication would need to be developed as part of your app, the following endpoints will provide useful information that you may want to pass and communicate.

Another option other than using the API is to use the Stock Level Export provided in Linnworks.net, this produces a CSV file and can be set up to run on a schedule to retrieve the relevant information.

EndpointUse
Stock/GetStockItemsRetrieves basic stock item data including stock levels for the provided location
Stock/GetStockItemsFullByIdsRetrieves full stock item data (E.g. Extended Properties) based on the provided Stock Item IDs (Not required if only stock levels are needed as the above call will cover this)
Stock/GetStockItemsFullA paged version of the above

Tips

  • Using the OpenOrders /AssignOrderIdentifier endpoints will allow you to filter the getAllOrders call so that you can identify already exported orders. Extra information on identifiers can be found in our Linnworks documentation.
  • Ensure that you update the shipping information before processing an order. Shipping information can not be updated once an order has been processed and a processed order can not be unprocessed.