Introduction

The SnapFulfil Web API enables access to the following SnapFulfil entities:

  • Attachments
  • Closed Receipt Summary
  • Closed Shipment Summary
  • Customer Returns
  • Customers
  • Despatch Stock
  • Kits
  • Open Receipt Summary
  • Open Shipments Summary
  • Product Alternates
  • Product Configuration
  • Products
  • Purchase Orders
  • Receipt
  • Replenishments
  • Sales Orders
  • Serial Movements Summary
  • Serials Receipt
  • Serials Shipment
  • Shipment
  • Shipment Status
  • Shipment Dispatch
  • Snap Inbound
  • Snap Lookups
  • Snap Outbound
  • Special Condition Lines
  • Special Conditions
  • Stock Consignment
  • Stock Detail
  • Stock Movements
  • STU
  • STU Consignment
  • Suppliers
  • Tasks Receipt
  • Tasks Shipment
  • Tasks Summary

Documentation providing information on each entity, including URL schemes,
available HTTP operations and data models is provided as part of this
information pack.

The endpoints in this document have been grouped together for ease of reading.

Some of the example responses have been truncated for clarity. The full
data model is documented at the end of each endpoint.

This document is intended for developers familiar with HTTP and RESTful APIs and therefore experience with RESTful API’s is assumed.

Conventions used in this document

Endpoints are listed with an HTTP Method and a URL. Any text that is contained in double braces (e.g. {{receiptid}}) is a placeholder for your own values. The example calls are generated dynamically based on the language type selected at the top of the page. You can use the drop-down box to select your preferred language.

The document uses terminology that is commonplace within SnapFulfil (such as StU or StT). If you are unsure about any SnapFulfil terminology then please refer to the SnapFulfil Help Centre.

The SnapFulfil API is accessed using the following HTTP methods:

  • GET Used for retrieving records from SnapFulfil
  • POST Used for creating new records from SnapFulfil
  • PUT Used for updating records from SnapFulfil
  • DELETE Used for deleting records from SnapFulfil

Each endpoint details the methods available to it.

Authentication and Security

Your SnapFulfil Implementation Team will provide you with two URLs to access the
SnapFulfil API. One will provide access to a test environment, the other to your
live SnapFulfil environment.

Each call made to the SnapFulfil API is made via HTTPS, encrypting all data sent
to and received from the SnapFulfil servers using industry standard encryption.
Any attempt to access the API via HTTP will result in a HTTP 403 (Forbidden) error
message.

A unique user name and password must be presented with each call you make to the API using
Basic HTTP authentication. In addition to securing your access to your
SnapFulfil environment, your user account will also determine the language of
the SnapFulfil Lookup values returned as part of your data.

Content Negotiation

The SnapFulfil API supports JSON as a valid data format. When making GET calls, set the Accept and Content-Type HTTP header to application/json to request data to be returned in the appropriate format. If the server doesn’t recognise the format of your entity, it will return a HTTP 400 (Bad Request) error. Common errors include:

  • Posting an array instead of an individual entity
  • Malformed or invalid JSON/XML

OData System Query Options

For many of the endpoints that return a list of entities, the URL can accept one or more OData System Query Options as part of the query string. Supported OData System Query Options are:

  • $top
  • $skip
  • $orderby
  • $filter

Examples of OData System Query Options can be found in the individual endpoint sections.
Please see “Invalid Characters and URL Encoding” for details on encoding
System Query Options.


### Rate Limits


Each customer is limited to N calls per hour. If you exceed this limit, the SnapFulfil API will return an HTTP 429 (Too many requests) code and you should try your request again later. If you need to increase the SnapFulfil API hourly limit, please speak to your SnapFulfil Account Manager.

SnapFulfil Lookup codes

SnapFulfil validates certain values when they are interfaced into the system. This
means that the correct code must be sent for these values. The applicable values
are highlighted in the data models as ‘Snaplookup’ with the lookup code
afterwards.

Snaplookup [ORDTYPE]

In order to ascertain the correct codes, you can use the “Snap Lookups” endpoint,
passing the lookup code. This will return the possible values for that lookup
code.

Validation Error Reporting

When creating or updating entities, SnapFulfil will process the data according
to definitions configured in SnapFulfil.

If any of the fields fail validation, an array of error messages will be
returned to the API client. This will indicate the fields that failed, along
with an error code. If a human readable version of the error code is required,
you can use the MESSAGE Snaplookup code.

Updates from SnapFulfil

SnapFulfil can be configured to produce updates at pre-defined events (e.g.
Shipment is Despatched). To view these events, use the SnapOutbound endpoint.

Date Formats

The SnapFulfil API requires dates to be sent in the following format:

YYYY-MM-DDTHH24:MI:SS

e.g. 2012-10-01T19:32:49

Integers and Decimals.

Integers can be up to 18 characters in length.

Decimal values can be up to a total of 18 characters in length and up to 6
significant places.

Invalid Characters and URL Encoding

There are a number of characters that must be encoded in any URL sent to the SnapFulfil API. The below table, whilst not exhaustive, details some of the more common reserved characters and the corresponding ASCII value.

Character Encoded Character Character Encoded Character
Space + +
! ! , ,
# # / /
$ $ : :
% % ; ;
& & = =
? ?
( ( **@** @
) ) [ [
\ * ] ]

For some languages (such as CURL), URL-encoding must be used. Many REST clients (such as Insomnia or Postman) will take care of some URL encoding but not others. If in doubt, it is best to URL-encode all URLs.

For ease of reading, the examples in this document are not URL-encoded.

Set up a SnapFulfil User for Web API access

API users are configured within SnapFulfil and must be set up with appropriate access to the API Host and for the Business (Biz). If your operation uses multiple Biz’s or multiple Stock Owners then you will need to ensure the API user only has access to the appropriate Biz.

To create a new API user, open the User screen in SnapFulfil and create a New User as normal on the Detail screen.
On the Permissions tab, you will specify which Interface Host the user is assigned to (this should be the API Host, however it is possible for SnapFulfil to be configured with multiple API Hosts). It is on this screen that you will also specify which Biz or Biz’s the user has access to.

We recommend that different user accounts are created for API users, screen users and RF users.

Notes

  • It is important to only select one interface organisation for the user.
  • If your SnapFulfil system is setup with multiple hosts, you will need to
    create multiple API users.
  • API users configured as above will not be able to log in to the SnapFulfil application or RF device.

Snap Web API - Testing the API using a REST Client

To test the various end-points available in the SnapFulfil API, you can use a
REST API client.

The SnapFulfil API has been tested using the Postman REST Client which is
available from https://www.getpostman.com/.

Notes on using Postman

  • Make sure that you select Basic Auth in the Authorization tab and enter your API username and password.
  • Headers can be set on the Headers tab.
  • When testing POST or PUT operations, place your XML or JSON payload in the
    Body tab.
  • The results of any operations will be returned in the Response pane.

Goods In

The Goods In endpoints are as follows:

  • Attachments

  • Receipts

  • Customer Returns

  • Purchase Orders

  • Serials Receipts

  • Stock Consignment

  • StU Consignment

  • Open Receipt Summary

  • Closed Receipt Summary


Attachments

Please see “Products & Inventory | Attachments” for details on this endpoint.


Receipt

The Receipt endpoint allows the user to create, update, view and delete Receipt information within SnapFulfil.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 200 Entity Updated.
404 Not Found. Please check your URL and try again.
401 Not Authorised. Please check your credentials and try again.
POST 201 Entity Created.
304 Not Modified - Entity already exists.
400 Invalid Entity.
401 Not Authorized.
DELETE 204 No Content. (Success)
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
409 Unable to delete due to conflict in data. Delete failed.

Usage

GET all Receipt records

https://lintliveapi.snapfilfil.net/api/receipts

GET a specific Receipt record

https://lintliveapi.snapfilfil.net/api/receipts/{{receiptid}}

Example response: json{ "ReceiptId": "APIRECEIPT", "BizId": "BIZ1", "Stage": "00", ... "MaintInd": "W", "ReceiptLines": [ { "ReceiptId": "APIRECEIPT", "Line": "K43MPVYGQT", "Level": "00", ... "SpecialConditionInd": null, "Stage": "00" } ], "ReceiptAddresses": [] }

POST a new Receipt

https://lintliveapi.snapfilfil.net/api/receipts

PUT a Receipt record

https://lintliveapi.snapfilfil.net/api/receipts/{{receiptid}}

DELETE a Receipt record

https://lintliveapi.snapfilfil.net/api/receipts/{{receiptid}}

System Query Options

The GET operation for the receipt listing supports the following OData System Query Options:

  • $top
  • $skip
  • $filter
  • $orderby

GET the top 10 Receipt records

https://lintliveapi.snapfilfil.net/api/receipts?$top=10

GET the top 10 Receipt records, ordered by SKU ID

https://lintliveapi.snapfilfil.net/api/receipts?$top=10&orderby=SKUId

GET Receipt records where the Receipt ID starts with “10000”

https://lintliveapi.snapfilfil.net/api/receipts?$filter=startswith(ReceiptId,'10000')

Data Model

Receipt Header Data Model

Field Detail Datatype Length Mandatory
ReceiptId Receipt ID String 20 Yes
BizId String 15
BizPurchaseOrder String 20
Status Snaplookup [RECSTATUS] – value ‘00’ String 2
OrderType Snaplookup [ORDTYPE] – value R01 String 3
OrderClass Snaplookup [RECCLASS] - STDREC String 10
SupplierId Supplier ID String 15 Yes
BizSupplierId String 15
SupplierGroup String 15
SupplierName Supplier Name String 50
ShippingAddressId ADD1 String 10
InvoiceAddressId String 10
Site Site ID – ‘0001’ String 15
Warehouse Warehouse ID String 15
OwnerId String 15
StockStatus Snaplookup [STKSTATUS] String 2
PurchaseOrder String 15
Prime String 20
Priority Snaplookup [PRIORITY] String 2
SupplierRef String 20
ConsignmentId String 20
GRNNumber String 20
ManifestNumber String 20
POC String 20
ShippingMethod Snaplookup [SHIPMETHOD] String 10
Region Snaplookup [REGION] String 20
CarrierId String 15
CarrierTrackingNumber String 75
CarrierTrackURL String 100
Route String 20
LoadId String 20
LoadSequence Decimal
ReceiptLane String 15
ReturnReason Snaplookup [RECRETURN] String 4
QC Snaplookup [QCCODE] String 3
Lines Decimal
LineQty Decimal
StUQty Pallet Quantity Decimal
Volume Decimal
Weight Decimal
ActualWeight Decimal
TaskCountNew Decimal
TaskCountCurrent Decimal
TaskCountActioned Decimal
TimeToUnload Decimal
TimeToInspect Decimal
TimeToPutaway Decimal
TimeOther Decimal
TimeToCollect Decimal
AcceptanceCode String 2
Variance Snaplookup [VARIANCE] String 1
Supervisor String 15
Reason String 4
DateCreated DateTime
DateSuspended DateTime
DateClosed DateTime
DateCollected DateTime
DateDueIn DateTime
DateArrival DateTime
DateReceipt DateTime
ASNInd String 1
PaperworkInd String 1
OverdueInd String 1
Stage Snaplookup [SHIPSTAGE] String 2
MaintInd String 1
ReceiptLines Array of ReceiptLines
ReceiptAddresses Populated if Addresses are defined against the Receipt, NULL if Supplier Addresses are used on your SnapFulfil system. Array of ReceiptAddresses

Receipt Line Data Model

Field Detail Datatype Length Mandatory
ReceiptId Receipt ID String 20 Yes
Line Line ID String 10 Yes
Level Snaplookup [RECLEVEL] - used to indicate kit components String 2
SKUId Product Code String 30 Yes
BizSKU String 30 Yes
UnitOfMeasure Snaplookup [UNIT] String 3
LineOwner String 15 Yes
LineStockStatus Snaplookup [STKSTATUS] String 2
QtyOrdered Decimal
QtyAdvised Decimal Yes
QtyReceived Decimal
QtyRejected Decimal
QtyDueIn Decimal
POLineId Decimal
ReturnReason String 4
QA Snaplookup [QACODE] String 3
Acceptance String 2
Variance String 1
BOInd String 1
ConsignmentId String 20
SiteId String 15
Warehouse String 15
BizId String 15
OwnerId String 15
StockStatus String 2
DateReceipt DateTime
AttachmentInd String 1
SpecialConditionInd String 1
Stage Snaplookup [RECLSTAGE] String 2

Receipt Address Data Model

Field Detail Datatype Length Mandatory
Table Fixed value of REH String 3 Yes
ReceiptId Receipt ID String 15
AddressId Must match a value in the InvoiceAddressId or ShippingAddressId within the Receipt Header – ADD1 String 10
Name Customer Name to appear on Invoice Labels String 50
Line1 Address Line 1 String 50
Line2 Address Line 2 String 50
Line3 Address Line 3 String 50
City City String 30
State String 30
Postcode Postcode String 20
Country A valid ISO 3166–1 alpha–2 Country Code String 2 Yes
Region String 20
Latitude Decimal
Longitude Decimal

Customer Returns

The Customers endpoint allows the user to create, update, view and delete Customer Returns information.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 200 Entity Updated.
404 Not Found. Please check your URL and try again.
401 Not Authorised. Please check your credentials and try again.
POST 201 Entity Created.
304 Not Modified - Entity already exists.
400 Invalid Entity.
401 Not Authorized.
DELETE 204 No Content. (Success)
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
409 Unable to delete due to conflict in data. Delete failed.

Usage

GET all Customer Return records

https://lintliveapi.snapfilfil.net/api/customerreturns

GET a specific Customer Returns record

https://lintliveapi.snapfilfil.net/api/customerreturns/{{returnid}}

POST a new Customer Return

https://lintliveapi.snapfilfil.net/api/customerreturns

PUT a Customer Return record

https://lintliveapi.snapfilfil.net/api/customerreturns/{{returnid}}

DELETE a Customer Return record

https://lintliveapi.snapfilfil.net/api/customerreturns/{{returnid}}

System Query Options

The GET operation for the receipt listing supports the following OData System Query Options:

  • $top
  • $skip
  • $filter
  • $orderby

GET the top 10 Customer Return records

https://lintliveapi.snapfilfil.net/api/customerreturns?$top=10

GET the top 5 Customer Return records, ordered by OrderClass

{{Host}}/api/customerreturns?$top=5&orderby=OrderClass

GET Customer Returns records where the OrderClass value starts with “STD”

https://lintliveapi.snapfilfil.net/api/customerreturns?$filter=startswith(OrderClass,%20'STD')

Data Model

Customer Returns Header Data Model

Field Detail Datatype Length Mandatory
ReceiptId Receipt ID String 20 Yes
BizId String 15
BizPurchaseOrder String 20
Status Snaplookup [RECSTATUS] – value ‘00’ String 2
OrderType Snaplookup [ORDTYPE] – value R01 String 3
OrderClass Snaplookup [RECCLASS] - STDREC String 10
SupplierId Supplier ID String 15 Yes
BizSupplierId String 15
SupplierGroup String 15
SupplierName Supplier Name String 50
ShippingAddressId ADD1 String 10
InvoiceAddressId String 10
Site Site ID – ‘0001’ String 15
Warehouse Warehouse ID String 15
OwnerId String 15
StockStatus Snaplookup [STKSTATUS] String 2
PurchaseOrder String 15
Prime String 20
Priority Snaplookup [PRIORITY] String 2
SupplierRef String 20
ConsignmentId String 20
GRNNumber String 20
ManifestNumber String 20
POC String 20
ShippingMethod Snaplookup [SHIPMETHOD] String 10
Region Snaplookup [REGION] String 20
CarrierId String 15
CarrierTrackingNumber String 75
Route String 20
LoadId String 20
LoadSequence Decimal 18
ReceiptLane String 15
ReturnReason Snaplookup [RECRETURN] String 4
QA Snaplookup [QACODE] String 3
Lines Decimal 18
LineQty Decimal 18
StUQty Pallet Quantity Decimal 18
Volume Decimal 18
Weight Decimal 18
ActualWeight Decimal 18
TaskCountNew Decimal 18
TaskCountCurrent Decimal 18
TaskCountActioned Decimal 18
TimeToUnload Decimal 18
TimeToInspect Decimal 18
TimeToPutaway Decimal 18
TimeOther Decimal 18
TimeToCollect Decimal 18
AcceptanceCode String 2
Variance Snaplookup [VARIANCE] String 1
Supervisor String 15
Reason String 4
DateCreated DateTime
DateSuspended DateTime
DateClosed DateTime
DateCollected DateTime
DateDueIn DateTime
DateArrival DateTime
DateReceipt DateTime
ASNInd String 1
PaperworkInd String 1
OverdueInd String 1
Stage Snaplookup [SHIPSTAGE] String 2
MaintInd String 1
ReceiptLines Array of ReceiptLines
ReceiptAddresses Populated if Addresses are defined against the Receipt, null if Customer Addresses are used on your SnapFulfil system Array of ReceiptAddresses

Customer Returns Line Data Model

Field Detail Datatype Length Mandatory
ReceiptId Receipt ID String 20 Yes
Line Line ID String 10 Yes
Level String 2
SKUId Product Code String 30 Yes
BizSKU String 30 Yes
UnitOfMeasure Snaplookup [UNIT] – EA – Each String 3
LineOwner String 15 Yes
LineStockStatus Snaplookup [STKSTATUS] String 2
QtyOrdered Decimal
QtyAdvised Decimal Yes
QtyReceived Decimal
QtyRejected Decimal
QtyDueIn Decimal
POLineId Decimal
ReturnReason String 4
QA Snaplookup [QACODE] String 3
Acceptance String 2
Variance String 1
BOInd String 1
ConsignmentId String 20
SiteId String 15
Warehouse String 15
BizId String 15
OwnerId String 15
StockStatus String 2
DateReceipt DateTime
AttachmentInd String 1
SpecialConditionInd String 1
Stage Snaplookup [RECLSTAGE] String 2

Customer Returns Address Data Model

Field Detail Datatype Length Mandatory
Table Fixed value of REH String 4 Yes
ReceiptId Receipt ID String 20
AddressId Must match a value in the InvoiceAddressId or ShippingAddressId within the Receipt Header – ADD1 String 10
Name Customer Name to appear on Invoice Labels String 50
Line1 Address Line 1 String 50
Line2 Address Line 2 String 50
Line3 Address Line 3 String 50
City City String 30
State String 30
Postcode Postcode String 20
Country A valid ISO 3166–1 alpha–2 country code String 2 Yes
Region String 20
Latitude Decimal
Longitude Decimal

Purchase Orders

The Purchase Orders endpoint allows the user to create, update, view and delete Purchase Orders within SnapFulfil.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 200 Entity Updated.
404 Not Found. Please check your URL and try again.
401 Not Authorised. Please check your credentials and try again.
POST 201 Entity Created.
304 Not Modified - Entity already exists.
400 Invalid Entity.
401 Not Authorized.
DELETE 204 No Content. (Success)
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
409 Unable to delete due to conflict in data. Delete failed.

Usage

GET all Purchase Order records

https://lintliveapi.snapfilfil.net/api/purchaseorders

GET a specific Purchase Order record

https://lintliveapi.snapfilfil.net/api/purchaseorders/{{purchaseorderid}}

POST a new Purchase Order record

https://lintliveapi.snapfilfil.net/api/purchaseorders

PUT a Purchase Order record

{{Host}}/api/purchaseorders/{{purchaseorderid}}

DELETE a Purchase Order record

https://lintliveapi.snapfilfil.net/api/purchaseorders/{{purchaseorderid}}

System Query Options

The GET operation for the Purchase Order listing supports the following OData System Query Options:

  • $top
  • $skip
  • $filter
  • $orderby

GET the top 10 Purchase Order records

https://lintliveapi.snapfilfil.net/api/purchaseorders?$top=10

GET the top 10 Purchase Order records, ordered by OrderClass

https://lintliveapi.snapfilfil.net/api/purchaseorders?$top=10&orderby=OrderClass

GET Purchase Orders records starting with “TWL”

https://lintliveapi.snapfilfil.net/api/purchaseorders?$filter=startswith(PurchaseOrderId,%20’TWL’)

Data Model

Purchase Orders Header Data Model

Field Detail Datatype Length Mandatory
PurchaseOrderId Purchase Order ID String 15 Yes
BizId ID of the Business Value String 15 Yes
BizPurchaseOrder Unutilized field – Can leave blank String 20
Status Snaplookup [POSTATUS] – value ‘00’ String 2
OrderType Snaplookup [ORDTYPE] – value R01 String 3
OrderClass Snaplookup [RECCLASS] - STDREC String 10
SupplierId Supplier ID String 15 Yes
BizSupplierId Unutilized field currently. Can be left blank String 15
SupplierGroup Supplier Group String 15
SupplierName Supplier Name String 50
ShippingAddressId ADD1 String 10
InvoiceAddressId INV1 String 10
DateReceipt Date Time
Site Site ID – ‘0001’ String 15
Warehouse Warehouse ID String 15
OwnerId Stock Owner String 15
StockStatus Snaplookup [STKSTATUS] String 2
Priority Snaplookup [PRIORITY] String 2
Supplier Order
SupplierRef Supplier Reference String 20
ShippingMethod Snaplookup [SHIPMETHOD] String 10
Region Snaplookup [REGION] String 20
DC
Store
CarrierId Carrier String 15
CarrierScac
Route Route field String 20
ReturnReason Snaplookup [RECRETURN] String 4
QA Snaplookup **[QACODE**] String 3
Lines Lines against the Purchase Order Decimal 18
LineQty Quantity of all Lines on the Purchase Order Decimal 18
Volume Volume of all products and StUs on the Purchase Order Decimal 18
Weight Weight of the Order Decimal 18
Acceptance Acceptance Code String 2
Variance Snaplookup [VARIANCE] String 1
Supervisor Supervisor Intervention String 15
Reason Reason Code String 4
DateCreated DateTime
DateSuspended DateTime
DateClosed DateTime
Stage Snaplookup [RECSTAGE] String 2
MaintInd Maintained Indicator: W = Warehouse Maintained H = Host Maintained String 1
POLines Array of ReceiptLines
Addresses Array of ReceiptAddresses

Purchase Orders Line Data Model

Field Detail Datatype Length Mandatory
PurchaseOrderId Purchase Order ID String 15 Yes
Line Line ID String 10 Yes
Level String 2
SKUId Product Code String 30
BizSKU String 30
SupplierSKU
UPC Yes
UPCDescription
Category
UnitOfMeasure Snaplookup [UNIT] – EA – Each String 3
LineSite String 15
LineWarehouse String 15
LineOwner String 15
LineStockStatus Snaplookup [STKSTATUS] String 2
QtyOrdered Decimal
QtyReceived Decimal
QtyOrderIn Decimal
QtyDueIn Decimal
QtySpawn Decimal
POLineId Decimal
ReturnReason String 4
QA Snaplookup [QACODE] String 3
LineDateReceipt
ShipAddress
Acceptance String 2
Variance String 1
Site 15
Warehouse 15
BizId String 15
Owner String 15
StockStatus String 2
DateReceipt DateTime
AttachmentInd String 1
SpecialConditionInd String 1
Stage Snaplookup [RECLSTAGE] String 2

Purchase Order Address Data Model

Field Detail Datatype Length Mandatory
Table Fixed value of POH String 3 Yes
AddressId Must match a value in the InvoiceAddressId or ShippingAddressId within the Receipt Header – ADD1 String 10
Name Customer Name to appear on Invoice labels String 50
Line1 Address Line 1 String 50
Line2 Address Line 2 String 50
Line3 Address Line 3 String 50
City City String 30
State String 30
Postcode Postcode String 20
Country A valid ISO 3166–1 alpha–2 Country Code String 2 Yes
Region String 20
Latitude Decimal
Longitude Decimal

Serials Receipts

The Serials Receipts endpoint allows the user to create, update, view and delete Serials Receipts within SnapFulfil.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 200 Entity Updated.
404 Not Found. Please check your URL and try again.
401 Not Authorised. Please check your credentials and try again.
POST 201 Entity Created.
304 Not Modified - Entity already exists.
400 Invalid Entity.
401 Not Authorized.
DELETE 204 No Content. (Success)
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
409 Unable to delete due to conflict in data. Delete failed.

Usage

GET all Serials Receipts records

https://lintliveapi.snapfilfil.net/api/serialsreceipt

GET a specific Serials Receipts record

https://lintliveapi.snapfilfil.net/api/serialsreceipt/{{serialreceiptid}}

POST a new Serials Receipts record

https://lintliveapi.snapfilfil.net/api/serialsreceipt

PUT a Serials Receipt record

https://lintliveapi.snapfilfil.net/api/serialsreceipt/{{serialreceiptid}}

DELETE a Serials Receipt record

https://lintliveapi.snapfilfil.net/api/serialsreceipt/{{serialreceiptid}}

Data Model

Serials Receipt Data Model

Field Detail Datatype Length Mandatory
SerialKey Internal ID For the Serial String 10
SerialValues String 250
SerialNumber Serial Number String 50
SKUId Product ID String 30
State State String 1
Site Site String 15
Facility Warehouse String 15
ReceiptType Receipt Type String 5
ReceiptId ID of Receipt String 20
ReceiptStU StU the Serial was received on String 20
ReceiptStatus Receipt Status String 2
ReceiptBizId Receipt Biz String 15
ReceiptOwnerId Receipt Owner String 15
ReceivingOperator Operator who received the Serial String 10
ReceiptDate Date the Serial was received on DateTime
ShipmentType Type of Shipment / Movement String 5
ShipmentId Shipment ID or Task ID String 20
ShipmentStU StU the Serial was shipped on String 20
ShipmentStatus Status of Shipment String 2
ShipmentBizId Biz of the Shipment String 15
ShipmentOwnerId Owner of the Shipment String 15
ShippingOperator Operator who shipped the Serial String 10
ShipDate Date the Serial was shipped DateTime
SerialStage Stage of the Serial String 2

Stock Consignment

Please see “Goods Out | Stock Consignment” for details on this endpoint.


StU Consignment

Please see “Goods Out | StU Consignment” for details on this endpoint.


Open Receipt Summary

The Open Receipt Summary endpoint is used to accessing information on Receipts that are open, providing a high-level view of Receipt information.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 405 Method not Allowed.
POST 405 Method not Allowed.
DELETE 405 Method not Allowed.

Usage

GET all Open Receipts records

https://lintliveapi.snapfilfil.net/api/openreceiptssummary

GET a specific Open Receipt record

https://lintliveapi.snapfilfil.net/api/openreceiptssummary/{{receiptid}}

GET all Open Receipts by Site ID

https://lintliveapi.snapfilfil.net/api/openreceiptssummary/{{siteid}}

Example response: json{ "ReceiptId": "APIRECEIPT", "BizId": "BIZ1", "Stage": "00", ... "MaintInd": "W", "ReceiptLines": [ { "ReceiptId": "APIRECEIPT", "Line": "K43MPVYGQT", "Level": "00", ... "SpecialConditionInd": null, "Stage": "00" } ], "ReceiptAddresses": [] }

System Query Options

The GET operation for the Open Receipt listing supports the following OData System Query Options:

  • $top
  • $skip
  • $filter
  • $orderby

GET a summary of all Open Receipts, ordered by Count

https://lintliveapi.snapfilfil.net/api/openreceiptssummary?$orderby=Count

GET the top 5 Open Receipt summary records

https://lintliveapi.snapfilfil.net/api/openreceiptssummary?$top=5

Data Model

Open Receipt Summary Data Model

Field Detail Datatype Length Mandatory
Owner Owner ID against the Receipt String 15
Site Site against the receipt (Typically 0001 for single site customers) String 15
Whs Warehouse ID against the Receipt String 15
Stage Stage of the Receipts String 2
Status Status of the Receipts String 2
OrderType Type of Receipt – determines which screen the receipt will appear under. Usually hard coded String 3
OrderClass The Class of the Receipt (customer dependant) String 10
TotalCount Total number of Receipts meeting the criteria Integer 18

Closed Receipt Summary

The Closed Receipt Summary endpoint is used to access information on Receipts that are closed, providing a high-level view of Receipt information.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 405 Method not Allowed.
POST 405 Method not Allowed.
DELETE 405 Method not Allowed.

Usage

GET all Closed Receipts

https://lintliveapi.snapfilfil.net/api/closedreceiptssummary

GET a specific Closed Receipt

https://lintliveapi.snapfilfil.net/api/closedreceiptssummary/{{receiptid}}

Example response: json{ "ReceiptId": "APIRECEIPT", "BizId": "BIZ1", "Stage": "00", ... "MaintInd": "W", "ReceiptLines": [ { "ReceiptId": "APIRECEIPT", "Line": "K43MPVYGQT", "Level": "00", ... "SpecialConditionInd": null, "Stage": "00" } ], "ReceiptAddresses": [] }

GET all closed Receipts by Site ID

https://lintliveapi.snapfilfil.net/api/closedreceiptssummary/{{siteid}}

Example Response json{ "ReceiptId": "APIRECEIPT", "BizId": "BIZ1", "Stage": "00", ... "MaintInd": "W", "ReceiptLines": [ { "ReceiptId": "APIRECEIPT", "Line": "K43MPVYGQT", "Level": "00", ... "SpecialConditionInd": null, "Stage": "00" } ], "ReceiptAddresses": [] }

GET a summary of Closed Receipts from a specific site closed on a specific day

https://lintliveapi.snapfilfil.net/api/closedreceiptssummary/{{siteid}}/{{date}}

System Query Options

The GET operation for the Closed Receipt listing supports the following OData System Query Options:

  • $top
  • $skip
  • $filter
  • $orderby

GET a summary of all Closed Receipts, ordered by Count

https://lintliveapi.snapfilfil.net/api/closedreceiptssummary?$orderby=Count

GET the top 5 Closed Receipt summary records

https://lintliveapi.snapfilfil.net/api/closedreceiptssummary?$top=5

Data Model

Closed Receipt Summary Data Model

Field Detail Datatype Length Mandatory
Owner Owner ID against the Receipt String 15
Site Site against the Receipt String 15
Whs Warehouse ID against the Receipt String 15
Stage Stage of the Receipts String 2
Status Status of the Receipts String 2
OrderType Type of Receipt – determines which screen the receipt will appear under - Usually hard coded String 3
OrderClass The Class of the Receipt (customer dependant) String 10
TotalCount Total number of receipts meeting the criteria Integer 18

Goods Out

The Goods Out endpoints are as follows:

  • Attachments
  • Shipment
  • Load
  • Sales Order
  • Special Conditions
  • Special Condition Lines
  • Serials Shipments
  • Shipment Status
  • Shipment Dispatch
  • Open Shipments Summary
  • Closed Shipments Summary
  • Despatch Stock
  • Stock Consignment
  • StU Consignment

Attachments

Please see “Products & Inventory | Attachments” for details on this endpoint.


Shipment

The Shipment endpoint allows the user to create, update, view and delete Shipments within SnapFulfil. It is important that the Shipment information is confirmed where possible before it is submitted. Once a Shipment has passed stage Due Out (stage 00), certain data (such as Shipment Line data) cannot be amended without cancelling the Shipment and resubmitting it under a new ID. SnapFulfil does permit Shipment Header fields to be amended after a Shipment has passed stage Due Out. Common uses of this functionality are:

  • Updating the carrier tracking number outside of an integrated service.
  • Updating the customer reference fields.
  • Updating the status (for example: Cancelled, Credit Hold, Suspend).

To update the Shipment Header data, a PUT should be used. For a full list of editable fields after Due Out, please refer to the Shipment Header Data Model.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 200 Entity Updated.
404 Not Found. Please check your URL and try again.
401 Not Authorised. Please check your credentials and try again.
POST 201 Entity Created.
304 Not Modified - Entity already exists.
400 Invalid Entity.
401 Not Authorized.
DELETE 204 No Content. (Success)
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
409 Unable to delete due to conflict in data. Delete failed.

Usage

GET all Shipments

https://lintliveapi.snapfilfil.net/api/shipments

GET a specific Shipment record

https://lintliveapi.snapfilfil.net/api/shipments/{{shipmentid}}

Example response:

{
    "ShipmentId": "APISHIPMENT",
    "BizId": "BIZ1",
    "Stage": "90",
    ...
    "MaintInd": "H",
    "ShipmentLines": [
        {
            "ShipmentId": "APISHIPMENT",
            "Line": "JHTM3MC990",
            "Level": "00",
            ...
            "SpecialConditionInd": "0",
            "Stage": "90"
        }      
    ],
    "ShipAddress": [
        {
            "Table": "SHH",
            "ShipmentId": "APISHIPMENT",
            "AddressId": "HOME",
            ...
            "Longitude": 0.000000
        }
    ],
    "ShipContacts": [
        {
            "Table": "SHH",
            "ShipmentId": "APISHIPMENT",
            "LineId": "1",
            ...
            "Language": null
        }
    ],
    "ShipmentDespatch": [
        {
            "ShipmentId": "APISHIPMENT",
            "Type": "OS",
            "Stu": "STU1",
            ...
            "ManifestInd": null
        }
    ]
}

POST a new Shipment record

https://lintliveapi.snapfilfil.net/api/shipments

PUT a Shipment record

https://lintliveapi.snapfilfil.net/api/shipments/{{shipmentid}}

DELETE a Shipment record

https://lintliveapi.snapfilfil.net/api/shipments/{{shipmentid}}

System Query Options

The GET operation for the Shipment listing supports the following OData System Query Options:

  • $top
  • $skip
  • $filter
  • $orderby

GET the top 5 Shipment records

https://lintliveapi.snapfilfil.net/api/shipments?$top=5

GET the top 5 Shipment records, ordered by SKUId

https://lintliveapi.snapfilfil.net/api/shipments?$top=5&orderby=SKUId

GET Shipments starting with “10000”

https://lintliveapi.snapfilfil.net/api/shipments?$filter=startswith(ShipmentId,%20'10000')

Data Model

Shipment Header Data Model

Field Detail Datatype Length Mandatory
ShipmentId Shipment ID String 20 Yes
ShipmentValues Field for additional Shipment values String 250
BizId See Stock Owner table below String 15
BizSalesOrder String 20
Status Snaplookup [SHIPSTATUS] – value ‘00’ String 2
OrderType Snaplookup [ORDTYPE] – value S01 String 3
OrderClass Snaplookup [SHIPCLASS] - CUSORD String 10
CustomerId Customer ID String 15 Yes
BizCustomerId String 15
CustomerGroup String 15
CustomerName Customer Name String 50
ShippingAddressId ADD1 String 10
InvoiceAddressId String 10
Site Site ID – ‘0001’ String 15
Warehouse Warehouse ID – ‘WAREHOUSE1’ String 15
OwnerId See Stock Owner table below String 15
StockStatus Snaplookup [STKSTATUS] String 2
SalesOrder String 20
Prime String 20
PriorityAllocation Snaplookup [PRIORITY] String 2
PriorityDespatch Snaplookup [PRIORITY] String 2
CustomerRef String 20
ConsignmentId String 20
PickGroupId String 20
ASNNumber String 20
DNoteNumber String 20
InvoiceNumber String 20
ManifestNumber String 20
BOL 50
MasterBOL 50
POD String 20
ShippingMethod Snaplookup [SHIPMETHOD] String 10
Region Snaplookup [REGION] String 20
DC 30
Store 30
CarrierId 1
CarrierScac 15
CarrierTrackingNumber 4
CarrierTrackURL String 100
ReturnTrackURL String 100
Route
LoadId
LoadSequence
PackStation
ShippingLane
ReturnReason Snaplookup [SHIPRETURN]
QC Snaplookup [QCCODE]
Lines 1
LineQty 1
StUQty Pallet Quantity 2
Volume 1
Weight
ActualWeight
TaskCountNew
TaskCountCurrent
TaskCountActioned
TimeToPick
TimeToPack
TimeToCheck
TimeToLoad
TimeOther
TimeToDeliver
InvoiceInd
Currency Snaplookup [CURRENCY]
LineValue
Discount
Packing
Freight
Insurance
Charges
Allowances
Tax
InvoiceValue
ShortageCode
Variance
CutOffInd String
Supervisor String
Reason String
DateCreated DateTime
DateSuspended DateTime
DateClosed DateTime
DateDueOut DateTime
DateShipment DateTime
DateDelivery DateTime
DateInvoice DateTime
ASNInd String
OverdueInd String
Stage Snaplookup [SHIPSTAGE] String
MaintInd String
ShipmentLines 0..n Array of ShipmentLines
ShipAddress 0..2 Array of ShipmentAddresses
ShipContacts 0..n Array of ShipmentContacts

Shipment Line Data Model

Field Detail Datatype Length Mandatory
ShipmentId Shipment ID String 20 Yes
Line Line ID String 10
ShipmentLineValues Additional Shipment Line Values String 10
Level String 2
SKUId Product Code String 30 Yes
BizSKU String 30
CustomerSKU 30
UPC 30
UPCDescription 100
Category 15
UnitOfMeasure Snaplookup [UNIT] – EA – Each String 3 Yes
LineOwner String 15
LineStockStatus Snaplookup [STKSTATUS] String 2
QtyOrdered Decimal Yes
QtyRequired Decimal
QtyAllocated Decimal
QtyTasked Decimal
QtyPicked Decimal
QtyShipped Decimal
QtyDelivered Decimal
QtyDueOut Decimal
Price Decimal
Discount Decimal
TaxRate Decimal
SOLineId Decimal
ReturnReason String 4
QC Snaplookup [QCCODE] String 3
Shortage String 2
Variance String 1
BOInd String 1
ConsignmentId String 20
PickGroupId String 20
SiteId String 15
Warehouse String 15
BizId String 15
OwnerId String 15
StockStatus String 2
DateShipment DateTime
AttachmentInd String 1
SpecialConditionInd String 1
Stage Snaplookup [SHIPLSTAGE] String 2

Shipment Address Data Model

Field Detail Datatype Length Mandatory
Table Fixed value of SHH String 4 Yes
ShipmentId Shipment ID String 30
AddressId Must match a value in the InvoiceAddressId or ShippingAddressId within the Shipment Header – ADD1 String 10
Name Customer Name to appear on Despatch labels String 50
Line1 Address Line 1 String 50
Line2 Address Line 2 String 50
Line3 Address Line 3 String 50
City City String 30
State String 30
Postcode Postcode String 20
Country A valid ISO 3166–1 alpha–2 Country Code String 10 Yes
Region String 20
Latitude Decimal 18
Longitude Decimal 18

Shipment Contact Data Model

Field Detail Datatype Length Mandatory
Table Fixed value of SHH String 5 Yes
ShipmentId Shipment ID String 30 Yes
LineId Line ID String 10 Yes
Title String 10
FirstName String 30
LastName String 30
Salutation String 30
Position String 20
Email String 50
Fax String 20
Phone String 20
Mobile String 20
Pager String 20
Language String 10

Shipment Despatch Data Model

Field Detail Datatype Length Mandatory
ShipmentId Shipment ID String 20 Yes
Type String 3 Yes
Stu Pallet Type String 20 Yes
Carrier String 15
ShipMethod String 10
CarrierTrack String 75
CarrierTrackURL String 100
CarrierRef1 String 75
CarrierRef2 String 75
CarrierRef3 String 75
CarrierRef4 String 75
Freight Decimal
DateShipment DateTime
ManifestInd String 1

Load

The Load endpoint allows the user to create, update, view and delete Load information within SnapFulfil.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 200 Entity Updated.
404 Not Found. Please check your URL and try again.
401 Not Authorised. Please check your credentials and try again.
POST 201 Entity Created.
304 Not Modified - Entity already exists.
400 Invalid Entity.
401 Not Authorized.
DELETE 204 No Content. (Success)
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
409 Unable to delete due to conflict in data. Delete failed.

Usage

GET all Load records

https://lintliveapi.snapfilfil.net/api/load

GET a specific Load record

https://lintliveapi.snapfilfil.net/api/load/{{loadid}}

Example response:

{
    "Type": "OL",
    "Site": "0001",
    "LoadID": "120-SM-SM-SM-5",
    "Status": "00",
    "ShipMethod": "TEST",
    "Route": "TEST",
    "Details": "SMM API TEST",
    "WHS": "AASITE0001",
    ...
}

POST a new Load record

https://lintliveapi.snapfilfil.net/api/load

PUT a Load record

https://lintliveapi.snapfilfil.net/api/load/{{loadid}}

DELETE a Load record

https://lintliveapi.snapfilfil.net/api/load/{{loadid}}

System Query Options

The GET operation for the receipt listing supports the following OData System Query Options:

  • $top
  • $skip
  • $filter
  • $orderby

GET the top 5 Load records

https://lintliveapi.snapfilfil.net/api/load?$top=5

GET the top 5 Load records, ordered by LoadID

https://lintliveapi.snapfilfil.net/api/load?$top=5&orderby=LoadID

GET Loads where the LoadID starts with “12”

https://lintliveapi.snapfilfil.net/api/load?$filter=startswith(LoadID,'12')

Data Model

Vehicle Load Data Model

Field Detail Datatype Length Mandatory
LOD_SITE SiteId varchar Yes
LOD_TYPE Type varchar
LOD_LOAD LoadId varchar
LOD_VALUES Values varchar
LOD_STATUS Status varchar
LOD_SHIPMETHOD ShipMethod varchar
LOD_ROUTE Route varchar Yes
LOD_DETAILS Details varchar
LOD_WHS Warehouse varchar
LOD_DOCK Dock varchar
LOD_LANE Lane varchar
LOD_BOOKINGREF BookingRef varchar
LOD_CARRIER CarrierId varchar
LOD_ACTCARRIER ActCarrierId varchar
LOD_CARRIERREF CarrierRef varchar
LOD_DRIVER Driver varchar
LOD_TRACTOR TractorId varchar
LOD_TRACTORTYPE TractorType varchar
LOD_TRAILER TrailerId varchar
LOD_TRAILERTYPE TrailerType varchar
LOD_CONTAINER ContainerId varchar
LOD_BOL Bol varchar 20
LOD_DURATION Duration numeric 20
LOD_CONSIGNMENTS Consignments numeric 20
LOD_LINES Lines numeric 20
LOD_LINEQTY LineQty numeric 20
LOD_STUQTY StUQty numeric 20
LOD_VOLUME Volume decimal 20
LOD_WEIGHT Weight decimal 20
LOD_ACTWEIGHT ActualWeight decimal 20
LOD_TASKSNEW TasksCountNew numeric 20
LOD_TASKSCURRENT TasksCountCurrent numeric 20
LOD_TASKSACTIONED TaskCountActioned numeric 20
LOD_LOADTIME TimeToLoad numeric 20
LOD_UNLOADTIME TimeToUnLoad numeric 20
LOD_OTHERTIME TimeOther numeric 20
LOD_SUPERVISOR Supervisor varchar 15
LOD_REASON Reason varchar 4
LOD_DATECREATED DateCreated datetime 16
LOD_DATESUSPENDED DateSuspended datetime 16
LOD_DATEAPPOINT DateAppointment datetime 16
LOD_DATEARRIVAL DateArrived datetime 16
LOD_DATEDOCKIN DateDockIn datetime 16
LOD_DATEDOCKOUT DateDockOut datetime 16
LOD_DATEDEPARTURE DateDeparture datetime 16
LOD_DATESHIPMENT DateShipment datetime 16
LOD_DATECLOSED DateClosed datetime 16
LOD_SEQUENCED LoadSequence varchar 1
LOD_VARIANCE Variance varchar 1
LOD_OVERDUE OverDue varchar 1
LOD_ORDERSTATUS OrderStatus varchar 2
LOD_ORDERSTAGE OrderStage varchar 2
LOD_STAGE Stage varchar 2

Sales Orders

The Sales Orders endpoint allows the user to create, update, view and delete Sales Orders within SnapFulfil.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 200 Entity Updated.
404 Not Found. Please check your URL and try again.
401 Not Authorised. Please check your credentials and try again.
POST 201 Entity Created.
304 Not Modified - Entity already exists.
400 Invalid Entity.
401 Not Authorized.
DELETE 204 No Content. (Success)
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
409 Unable to delete due to conflict in data. Delete failed.

Usage

GET all Sales Orders

https://lintliveapi.snapfilfil.net/api/salesorders

GET a specific Sales Order record

https://lintliveapi.snapfilfil.net/api/salesorders/{{salesorderid}}

Example response:

{
    "OrderId": "APISALESORDER",
    "BizId": "BIZ1",
    ...
    "MaintInd": "W",
    "SOLines": [
        {
            "OrderId": "APISALESORDER",
            "Line": "K5U1UDD3PW",
            "Level": "00",
            ...
            "Stage": "10"
        }
    ],
    "Addresses": [
        {
            "OrderId": "APISALESORDER",
            "Table": "SOH",
            "AddressId": "ADD1",
            ...
            "Longitude": 0.000000
        }
    ]
}

POST a new Sales Order record

https://lintliveapi.snapfilfil.net/api/salesorders

PUT a Sales Order record

https://lintliveapi.snapfilfil.net/api/salesorders/{{salesordersid}}

DELETE a Sales Order record

https://lintliveapi.snapfilfil.net/api/salesorders/{{salesorderid}}

System Query Options

The GET operation for the Sales Order listing supports the following OData System Query Options:

  • $top
  • $skip
  • $filter
  • $orderby

GET the top 5 Sales Order records

https://lintliveapi.snapfilfil.net/api/SalesOrders?$top=5

GET the top 5 Sales Order records, ordered by OrderId

https://lintliveapi.snapfilfil.net/api/SalesOrders?$top=5&orderby=OrderId

GET all Sales Orders records ending with “6”

https://lintliveapi.snapfilfil.net/api/SalesOrders?$filter=endswith(OrderId,'6')

Data Model

Sales Order Header Data Model

Field Detail Datatype Length Mandatory
ShipmentId Shipment ID String 20 Yes
BizId See Stock Owner table below String 15
BizSalesOrder String 20
Status Snaplookup [SHIPSTATUS] – value ‘00’ String 2
OrderType Snaplookup [ORDTYPE] – value S01 String 3
OrderClass Snaplookup [SHIPCLASS] - CUSORD String 10
CustomerId Customer ID String 15 Yes
BizCustomerId String 15
CustomerGroup String 15
CustomerName Customer Name String 50
ShippingAddressId ADD1 String 10
InvoiceAddressId String 10
Site Site ID – ‘0001’ String 15
Warehouse Warehouse ID – ‘WAREHOUSE1’ String 15
OwnerId See Stock Owner table below String 15
StockStatus Snaplookup [STKSTATUS] String 2
SalesOrder String 20
Prime String 20
PriorityAllocation Snaplookup [PRIORITY] String 2
PriorityDespatch Snaplookup [PRIORITY] String 2
CustomerRef String 20
ConsignmentId String 20
PickGroupId String 20
ASNNumber String 20
DNoteNumber String 20
InvoiceNumber String 20
ManifestNumber String 20
BOL 50
MasterBOL 50
POD String 20
ShippingMethod Snaplookup [SHIPMETHOD] String 10
Region Snaplookup [REGION] String 20
DC 30
Store 30
CarrierId 1
CarrierScac 15
CarrierTrackingNumber 4
Route
LoadId
LoadSequence
PackStation
ShippingLane
ReturnReason Snaplookup [SHIPRETURN]
QC Snaplookup [QCCODE]
Lines 1
LineQty 1
StUQty Pallet Quantity 2
Volume 1
Weight
ActualWeight
TaskCountNew
TaskCountCurrent
TaskCountActioned
TimeToPick
TimeToPack
TimeToCheck
TimeToLoad
TimeOther
TimeToDeliver
InvoiceInd
Currency Snaplookup [CURRENCY]
LineValue
Discount
Packing
Freight
Insurance
Charges
Allowances
Tax
InvoiceValue
ShortageCode
Variance
CutOffInd String
Supervisor String
Reason String
DateCreated DateTime
DateSuspended DateTime
DateClosed DateTime
DateDueOut DateTime
DateShipment DateTime
DateDelivery DateTime
DateInvoice DateTime
ASNInd String
OverdueInd String
Stage Snaplookup [SHIPSTAGE] String
MaintInd String
ShipmentLines 0..n Array of ShipmentLines
ShipAddress 0..2 Array of ShipmentAddresses
ShipContacts 0..n Array of ShipmentContacts

Sales Order Line Data Model

Field Detail Datatype Length Mandatory
ShipmentId Shipment ID String 20 Yes
Line Line ID String 10
Level String 2
SKUId Product Code String 30 Yes
BizSKU String 30
CustomerSKU 30
UPC 30
UPCDescription 100
Category 15
UnitOfMeasure Snaplookup [UNIT] – EA – Each String 3 Yes
LineOwner String 15
LineStockStatus Snaplookup [STKSTATUS] String 2
QtyOrdered Decimal Yes
QtyRequired Decimal
QtyAllocated Decimal
QtyTasked Decimal
QtyPicked Decimal
QtyShipped Decimal
QtyDelivered Decimal
QtyDueOut Decimal
Price Decimal
Discount Decimal
TaxRate Decimal
SOLineId Decimal
ReturnReason String 4
QC Snaplookup [QCCODE] String 3
Shortage String 2
Variance String 1
BOInd String 1
ConsignmentId String 20
PickGroupId String 20
SiteId String 15
Warehouse String 15
BizId String 15
OwnerId String 15
StockStatus String 2
DateShipment DateTime
AttachmentInd String 1
SpecialConditionInd String 1
Stage Snaplookup [SHIPLSTAGE] String 2

Sales Order Address Data Model

Field Detail Datatype Length Mandatory
Table Fixed value of SHH String 4 Yes
ShipmentId Shipment ID String 30
AddressId Must match a value in the InvoiceAddressId or ShippingAddressId within the Shipment Header – ADD1 String 10
Name Customer Name to appear on Despatch labels String 50
Line1 Address Line 1 String 50
Line2 Address Line 2 String 50
Line3 Address Line 3 String 50
City City String 30
State String 30
Postcode Postcode String 20
Country A valid ISO 3166–1 alpha–2 Country Code String 10 Yes
Region String 20
Latitude Decimal 18
Longitude Decimal 18

Sales Order Contact Data Model

Field Detail Datatype Length Mandatory
Table Fixed value of SHH String 5 Yes
ShipmentId Shipment ID String 30 Yes
LineId Line ID String 10 Yes
Title String 10
FirstName String 30
LastName String 30
Salutation String 30
Position String 20
Email String 50
Fax String 20
Phone String 20
Mobile String 20
Pager String 20
Language String 10

Sales Order Despatch Data Model

Field Detail Datatype Length Mandatory
ShipmentId Shipment ID String 20 Yes
Type String 3 Yes
Stu Pallet Type String 20 Yes
Carrier String 15
ShipMethod String 10
CarrierTrack String 75
CarrierRef1 String 75
CarrierRef2 String 75
CarrierRef3 String 75
CarrierRef4 String 75
Freight Decimal
DateShipment DateTime
ManifestInd String 1

Special Conditions

The Special Conditions endpoint allows the user to create, update, view and delete Special Conditions within SnapFulfil. Please also refer to “Special Condition Lines”.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 200 Entity Updated.
404 Not Found. Please check your URL and try again.
401 Not Authorised. Please check your credentials and try again.
405 Method Not Allowed. Please check you have the correct parameters.
POST 201 Entity Created.
304 Not Modified - Entity already exists.
400 Invalid Entity.
401 Not Authorized.
DELETE 204 No Content. (Success)
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
409 Unable to delete due to conflict in data. Delete failed.

Usage

GET all Special Conditions for a specific Shipment

https://lintliveapi.snapfilfil.net/api/specialconditions/{{shipmentid}}/{{table}}

Example response

[
    {
        "Table": "SHH",
        "ShipmentId": "APISHIPMENT",
        ...
        "Code": "OWNER",
        "Logic": "=",
        "Value": "SNAPFULFIL"
    }
]

GET a specific Special Condition for a Shipment

https://lintliveapi.snapfilfil.net/api/specialconditions/{{shipmentid}}/{{table}}/{{key}}/{{keyline}}/{{line}}

POST a new Special Condition

https://lintliveapi.snapfilfil.net/api/specialconditions

PUT a specific Special Condition for a Shipment

https://lintliveapi.snapfilfil.net/api/specialconditions/{{shipmentid}}/{{table}}/{{key}}/{{keyline}}/{{line}}

DELETE a specific Special Condition for a Shipment

https://lintliveapi.snapfilfil.net/api/specialconditions/{{shipmentid}}/{{table}}/{{key}}/{{keyline}}/{{line}}

Data Model

Special Conditions Data Model

Field Description Datatype Length Mandatory
Table SHH String 4 Y
ShipmentId Key / Shipment Id String 30 Y
ShipmentLineId Line ID of the Line on the Shipment String 10 Y
LineId Line ID String 10 Y
Code Type of Special Condition (e.g. BATCH) String 20
Logic Parameter for the Code String 2
Value Value for the Code String 30

Special Condition Lines

The Special Condition Lines endpoint allows the user to create, update, view and delete Special Condition Lines within SnapFulfil. Please also refer to “Special Conditions”.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 200 Entity Updated.
404 Not Found. Please check your URL and try again.
401 Not Authorised. Please check your credentials and try again.
405 Method Not Allowed. Please check you have the correct parameters.
POST 201 Entity Created.
304 Not Modified - Entity already exists.
400 Invalid Entity.
401 Not Authorized.
DELETE 204 No Content. (Success)
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
409 Unable to delete due to conflict in data. Delete failed.

Usage

GET a specific Special Condition Line for a Shipment

https://lintliveapi.snapfilfil.net/api/specialconditionlines/{{shipmentid}}

POST a new Special Condition Line for a Shipment

https://lintliveapi.snapfilfil.net/api/specialconditionlines/{{shipmentid}}

PUT a Special Condition Line for a Shipment

https://lintliveapi.snapfilfil.net/api/specialconditionlines/{{table}}/{{shipmentid}}/{{shipmentlineid}}/{{generatedlineid}}

DELETE a Special Condition Line for a Shipment

https://lintliveapi.snapfilfil.net/api/specialconditionlines/{{table}}/{{shipmentid}}/{{shipmentlineid}}/{{generatedlineid}}

Data Model

Special Condition Line Data Model

Field Description Datatype Length Mandatory
Table Fixed value “SHL” String 4 Y
ShipmentId Key / Shipment ID String 30 Y
ShipmentLineId Line ID of the Line on the Shipment String 10 Y
Code Type of Special Condition (BATCH) String 20
Logic Snaplookup [SPECIAL_LOGIC] String 2
Value Value for the Code String 30
GeneratedLineId Fixed Value “XXX” when creating String 10
ShipmentLineSKUId Product ID String 30
ShipmentSOLineId Shipment Line ID String 10
ShipmentLineUnit Snaplookup [UNIT] String 3

Serials Shipments

The Serials Shipment endpoint allows the user to view Shipments containing serialised stock from SnapFulfil.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 405 Method not Allowed.
POST 405 Method not Allowed.
DELETE 405 Method not Allowed.

Usage

GET a specific Serial Shipment record

https://lintliveapi.snapfilfil.net/api/serialsshipment/{{shipmentid}}

Expected response

[
    {
        "SerialKey": "K5U71C9L40",
        "SerialValues": null,
        "SerialNumber": "1",
        "SKUId": "SERIALPRODUCT",
        ...
        "SerialStage": "90"
    }
]

Data Model

Serials Shipment Data Model

Field Detail Datatype Length Mandatory
SerialKey Internal ID for the Serial String 10
SerialValues String 250
SerialNumber Serial Number String 50
SKUId Product ID String 30
State State String 1
Site Site String 15
Facility Warehouse String 15
ReceiptType Receipt Type String 5
ReceiptId ID of Receipt String 20
ReceiptStU StU Serial was received on String 20
ReceiptStatus Receipt Status String 2
ReceiptBizId Receipt Biz String 15
ReceiptOwnerId Receipt Owner String 15
ReceivingOperator Operator who received the Serial String 10
ReceiptDate Date the Serial was received on DateTime
ShipmentType Type of Shipment / Movement String 5
ShipmentId Shipment ID or Task ID String 20
ShipmentStU StU the Serial was shipped on String 20
ShipmentStatus Status of Shipment String 2
ShipmentBizId Biz of the Shipment String 15
ShipmentOwnerId Owner of the Shipment String 15
ShippingOperator Operator who shipped the Serial String 10
ShipDate Date the Serial was shipped DateTime
SerialStage Stage of the Serial String 2

Shipment Status

The Shipment Status endpoint allows the user to update and view Shipment statuses within SnapFulfil. This endpoint is used for actions such as Suspending or Cancelling a Shipment by changing the status. Please note that Shipments that have been ‘Fulfilled’ cannot have their status changed.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 200 Entity Updated.
404 Not Found. Please check your URL and try again.
401 Not Authorised. Please check your credentials and try again.
POST 405 Method not Allowed.
DELETE 405 Method not Allowed.

Usage

GET a Shipment Status record

https://lintliveapi.snapfilfil.net/api/shipmentstatus/{{shipmentId}}

Example response:

{
    "ShipmentId": "APISHIPMENT",
    "Status": "00",
    "Stage": "90",
    "SiteId": "0001"
}

PUT a Shipment Status record

https://lintliveapi.snapfilfil.net/api/shipmentstatus/{{shipmentId}}

Data Model

Shipment Status Data Model

Field Detail Datatype Length Mandatory
ShipmentId Shipment ID String 20 Yes
Status Status of the Shipment String 2 Yes
Stage Stage of the Shipment String 2 Yes
SiteID Site ID (0001) String 15

Shipment Despatch

The ShipmentDespatch endpont allows the user the view, create and update detailed carrier information relating to despatched shipments

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 200 Entity Updated.
404 Not Found. Please check your URL and try again.
401 Not Authorised. Please check your credentials and try again.
POST 405 Method not Allowed.
DELETE 405 Method not Allowed.

Usage

GET a Shipment Despatch record

https://lintliveapi.snapfilfil.net/api/shipmentdespatch

Example response:

{
    "ShipmentId": "APISHIPMENT",
    "Type": "OS",
    "Stu": "0099999-01",
    "Carrier": "CT_CARR",
    "ShipMethod": "C99",
    "CarrierTrack": "0999999999999",
    "CarrierTrackURL": null,
    "CarrierRef1": null,
    "CarrierRef2": null,
    "CarrierRef3": null,
    "CarrierRef4": null,
    "Freight": null,
    "DateShipment": "2021-02-01T13:23:20",
    "ManifestInd": null
}

POST a Shipment Despatch record

https://lintliveapi.snapfilfil.net/api/shipmentdespatch

PUT a Shipment Despatch record Copy

https://lintliveapi.snapfilfil.net/api/shipmentdespatch

Data Model

Shipment Despatch Data Model

Field Detail Datatype Length Mandatory
ShipmentId Shipment ID String 20 Yes
Type String 2 Yes
Stu String 20 Yes
Carrier String 15 Yes
ShipMethod String 10 Yes
CarrierTrack String 75 Yes
CarrierTrackURL String 200 Yes
CarrierRef1 String 75 Yes
CarrierRef2 String 75 Yes
CarrierRef3 String 75 Yes
CarrierRef4 String 75 Yes
Freight Decimal Yes
DateShipment Date of Shipment DateTime Yes
ManifestInd String 1 Yes

Open Shipments Summary

The Open Shipment Summary endpoint is used to access information on Shipments that are open, providing a high-level view of Shipment information.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 405 Method not Allowed.
POST 405 Method not Allowed.
DELETE 405 Method not Allowed.

Usage

GET counts of all Open Shipments

https://lintliveapi.snapfilfil.net/api/openshipmentssummary

GET the specific count of Open Shipments for a Site

https://lintliveapi.snapfilfil.net/api/openshipmentssummary/{{siteid}}

System Query Options

The GET operation for the Open Shipments Summary listing supports the following OData System Query Options:

  • $top
  • $skip
  • $filter
  • $orderby

GET the Open Shipments summary , ordered by count

https://lintliveapi.snapfilfil.net/api/openshipmentssummary?$orderby=Count

GET the top 5 Open Shipments summary records

https://lintliveapi.snapfilfil.net/api/openshipmentssummary?$top=5

Data Model

Open Shipments Summary Data Model

Field Detail Datatype Length Mandatory
Owner Owner ID against the Shipments String 15
Site Site against the Shipment (Typically 0001 for single site customers) String 15
Whs Warehouse ID against the Shipment String 15
Stage Stage of the Shipment String 2
Status Status of the Shipment String 2
OrderType Type of Shipment – determines which screen the receipt will appear under. Usually hard coded String 3
OrderClass The Class of the Shipment – Customer Dependent String 10
Carrier Carrier ID of the Shipment String 15
ShipMethod Ship Method of the Shipment String 10
Count Total number of Shipments meeting the criteria Integer 18

Closed Shipments Summary

The Closed Shipment Summary endpoint is used to access information on Shipments that have been closed, providing a high-level view of Shipment information.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 405 Method not Allowed.
POST 405 Method not Allowed.
DELETE 405 Method not Allowed.

Usage

GET counts of all Closed Shipments

https://lintliveapi.snapfilfil.net/api/closedshipmentssummary

GET a specific count of Closed Shipments for a Site

https://lintliveapi.snapfilfil.net/api/closedshipmentssummary/{{siteid}}

GET all Shipments from a specific Site closed on a specific day

https://lintliveapi.snapfilfil.net/api/closedshipmentssummary/{{siteid}}/{{date}}

System Query Options

The GET operation for the Open Shipments Summary listing supports the following OData System Query Options:

  • $top
  • $skip
  • $filter
  • $orderby

GET Order by count

https://lintliveapi.snapfilfil.net/api/closedshipmentssummary?$orderby=Count

GET the top 5 closed shipments

https://lintliveapi.snapfilfil.net/api/closedshipmentssummary?$top=5

Data Model

Closed Shipments Summary Data Model

Field Detail Datatype Length Mandatory
OwnerId Owner ID against the Shipment String 15
Site Site against the Shipment (Typically 0001 for single site customers) String 15
Whs Warehouse ID against the Shipment String 15
Stage Stage of the Shipment String 2
Status Status of the Shipment String 2
OrderType Type of Shipment – determines which screen the Shipment will appear under. Usually hard coded String 3
OrderClass The Class of the Shipment (customer dependent) String 10
Carrier Carrier against the Shipment String 15
ShipMethod Ship Method set against the Shipment String 10
Count Total number of Shipments meeting the criteria Integer 18

Despatch Stock

The Despatch Stock endpoint provides access to view stock that has been recently despatched from within SnapFulfil.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 405 Method not Allowed.
POST 405 Method not Allowed.
DELETE 405 Method not Allowed.

Usage

GET all Despatch Stock records

https://lintliveapi.snapfilfil.net/api/despatchstock

GET a specific Despatch Stock record from a Consignment

https://lintliveapi.snapfilfil.net/api/despatchstock/{{consignmentid}}

Example response:

[
    {
        "Type": "OC",
        "ConsignmentId": "APISHIPMENT",
        "StockId": "JJ1PNYDBB1",
        "BizId": "BIZ1",
        ...
        "Stage": "90"
    }  
]

System Query Options

The GET operation for the Despatch Stock listing supports the following OData System Query Options:

  • $top
  • $skip
  • $filter
  • $orderby

GET the top 5 Despatch Stock records

https://lintliveapi.snapfilfil.net/api/despatchstock?$top=5

GET the top 5 Despatch Stock records, ordered by Consignment ID

https://lintliveapi.snapfilfil.net/api/despatchstock?$top=5&orderby=ConsignmentId

Data Model

Despatch Stock Data Model

Field Detail Datatype Length Mandatory
Type Stock Consignment Type “OC” = Outbound Consignment String 2
ConsignmentId Consignment/Shipment Reference String 20
StockId Unique Stock ID String 10
BizId Biz ID String 15
OwnerId Owner ID String 15
SKUId Product String 30
StU StU String 20
StT StT String 3
Qty Quantity Decimal
Unit Unit of Measure String 3
BoxQty Box Quantity Decimal
Status Snaplookup [STKSTATUS] String 2
DateProduction Production Date DateTime
DateReceipt Receipt Date DateTime
DateRelease Release Date DateTime
DateExpiry Expiry Date DateTime
Country Snaplookup [COUNTRY] String 10
BatchId Batch Reference String 30
AssignmentType Stock Consignment Type “OC” = Outbound Consignment String 2
AssignmentRef Consignment/Shipment Reference String 20
LoadId Load ID String 12
PairInd Pair Indicator String 1
PairStU Paired StU String 20
OriginStockId Original Stock ID String 10
LabelPrintedInd Label Printed Indicator String 1
PutawayInd Putaway Indicator String 1
DateCreated Date Created DateTime
DateClosed Date Closed DateTime
Stage Snaplookup [STKSTAGE] String 2

Stock Consignment

The Stock Consignment endpoint provides access to create and view Stock Consignment information within SnapFulfil.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
POST 200 Entity Updated.
404 Not Found. Please check your URL and try again.
401 Not Authorised. Please check your credentials and try again.
PUT 405 Method not Allowed.
DELETE 405 Method not Allowed.

Usage

GET all Stock Consignment records

https://lintliveapi.snapfilfil.net/api/stockconsignment/

GET a specific Stock Consignment record

https://lintliveapi.snapfilfil.net/api/stockconsignment/{{consignmentid}}

Example response:

[
    {
        "Type": "OC",
        "ConsignmentId": "APICONSIGNMENT",
        "StockId": "K6EL8JR5HK",
        "BizId": "BIZ1",
        ...
        "Stage": "00"
    }
]

POST a new Stock Consignment

https://lintliveapi.snapfilfil.net/api/stockconsignment/

System Query Options

The GET operation for the Stock Consignment listing supports the following OData System Query Options:

  • $top
  • $skip
  • $filter
  • $orderby

GET the top 5 Stock Consignment records

https://lintliveapi.snapfilfil.net/api/StockConsignment?$top=5

GET the top 5 Stock Consignment records, ordered by SKU ID

https://lintliveapi.snapfilfil.net/api/StockConsignment?$top=5&orderby=SKUId

GET Stock Consignment records where the StU value starts with “14”

https://lintliveapi.snapfilfil.net/api/StockConsignment?$filter=startswith(StU,'14')

Data Model

Stock Consignment Data Model

Field Detail Datatype Length Mandatory
Type IC or OC – Inbound / Outbound String 2 Yes
ConsignmentId Reference / Shipment / Receipt String 20 Yes
StockId Stock ID (Internal SnapFulfil ID) String 10 Yes
BizId Biz ID String 15
OwnerId Owner ID String 15
SKUId Product String 30
StU StU Record String 20
StT StT String 3
Qty Quantity Decimal 18
Unit Unit of Measure String 3
BoxQty Box Quantity Decimal 18
Status Status String 2
DateProduction Date Production DateTime
DateReceipt Date Receipt DateTime
DateRelease Date Release DateTime
DateExpiry Date Expiry DateTime
Country Country String 10
BatchId Batch ID String 30
AssignmentType Assignment Type (Inbound / Outbound) String 2
AssignmentRef Assignment Ref (Shipment / Receipt) String 15
Consignment Consignment String 20
LoadId Load String 20
PairInd Pair String 1
PairStU Pair StU String 20
OriginStockId Original Stock ID String 10
LabelPrintedInd Label Printed Indicator String 1
PutawayInd Putaway Indicator String 1
DateCreated Date Created DateTime
DateClosed Date Closed DateTime
Stage Stage String 2

StU Consignment

The StU Consignment endpoint provides access to view StU Consignment information from within SnapFulfil.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 405 Method not Allowed.
POST 405 Method not Allowed.
DELETE 405 Method not Allowed.

Usage

GET all Stu Consignment records

https://lintliveapi.snapfilfil.net/api/stuconsignment

GET a specific StU Consignment from the StU ID

https://lintliveapi.snapfilfil.net/api/stuconsignment/{{stuid}}

Example response:

[
    {
        "Type": "OC",
        "Ref": "APISHIPMENT",
        "Stu": "APISTU1",
        "Id": null,
        "BizId": "BIZ1",
        ...
        "Stage": "90"
    }
]

System Query Options

The GET operation for the StU Consignment listing supports the following OData System Query Options:

  • $top
  • $skip
  • $filter
  • $orderby

GET the top 5 StU Consignment records

https://lintliveapi.snapfilfil.net/api/stuconsignment?$top=5

GET the top 5 StU Consignment records, ordered by Reference

https://lintliveapi.snapfilfil.net/api/stuconsignment?$top=5&orderby=Ref

GET StU Consignment records where the StT is “SPT”

https://lintliveapi.snapfilfil.net/api/stuconsignment?$filter=startswith(StT,%20'SPT')

Data Model

StU Consignment Data Model

Field Detail Datatype Length Mandatory
Type IC or OC – Inbound / Outbound String 2
Ref Order Reference String 20
Stu StU ID String 20
Id String 30
BizId String 15
OwnerId Owner ID String 15
StT StT type String 3
SKUId SKU ID String 30
StUDescription String 30
StUComposition Snaplookup [COMPOSITION] String 2
Status Snaplookup [STKSTATUS] – value ‘00’ String 2
Height Height Decimal Number
Width Width Decimal Number
Depth Depth Decimal Number
Lines Lines Decimal Number
Qty SKU Qty Decimal Number
Volume Volume Decimal Number
Weight Weight Decimal Number
ActWeight Decimal Number
AssignmentType String 2
AssignmentRef String 20
Consignment Consignment ID String 20
LoadId Load ID String 20
Label String 30
PairInd String 1
PairStU String 20
Container String 20
DestLevel String 10
DestArea String 15
LabelPrintedInd String 1
PutawayInd Putaway Indicator String 1
DateCreated DateTime
DateClosed DateTime
Stage String 2

Customers & Suppliers

The Customers & Suppliers endpoints are as follows:

  • Customers

  • Suppliers

  • Invoices


Customers

The Customers endpoint allows the user to create, update, view and delete Customer information stored within SnapFulfil.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 200 Entity Updated.
404 Not Found. Please check your URL and try again.
401 Not Authorised. Please check your credentials and try again.
405 Method Not Allowed. Please check you have the correct parameters.
POST 201 Entity Created.
304 Not Modified - Entity already exists.
400 Invalid Entity.
401 Not Authorized.
DELETE 204 No Content. (Success)
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
409 Unable to delete due to conflict in data. Delete failed.

Usage

GET all Customer records

https://lintliveapi.snapfilfil.net/api/customers

Example response:

{
        "CustomerId": "TEST_CUSTOMER",
        "Status": "00",
        "BizId": "BIZ1",
        "Name": "John Smith",
        ...
        "MaintInd": "H",
        "CustomerAddresses": []
    },
}

POST a new Customer record

https://lintliveapi.snapfilfil.net/api/customers

GET a specific Customer record

https://lintliveapi.snapfilfil.net/api/customers/{{customerid}}

Example response:

{
        "CustomerId": "TEST_CUSTOMER",
        "Status": "00",
        "BizId": "BIZ1",
        "Name": "John Smith",
        ...
        "MaintInd": "H",
        "CustomerAddresses": []

}

PUT a Customer record

https://lintliveapi.snapfilfil.net/api/customers/{{customerid}}

DELETE a Customer record

https://lintliveapi.snapfilfil.net/api/customers/{{customerid}}

System Query Options

The GET operation for the Customer listing supports the following OData System Query Options:

  • $top
  • $skip
  • $filter
  • $orderby

GET the top 5 Customer records

https://lintliveapi.snapfilfil.net/api/customers?$top=5

Example response:

{
        "CustomerId": "TEST_CUSTOMER",
        "Status": "00",
        "BizId": "BIZ1",
        "Name": "John Smith",
        ...
        "MaintInd": "H",
        "CustomerAddresses": []

}

GET the top 5 Customer records, ordered by Customer ID

https://lintliveapi.snapfilfil.net/api/customers?$top=100&orderby=CustomerId

GET all Customer records starting with the text ‘Customer’

https://lintliveapi.snapfilfil.net/api/customers?$filter=startswith(CustomerId,'Customer')

Data Model

Customer Data Model

Field Description Datatype Length Mandatory
CustomerId Customer ID String 15 Y
BizId Customer Biz ID Snaplookup [ORG] String 15 Y
Status Snaplookup [CUSSTATUS] – Initial value ‘00’ if non provided. String 2 N
Name Customer Name String 50 Y
GroupId Customer Group Snaplookup [Customer Group] String 15 N
Label Customer Label String 10 N
Substitute Customer Substitute Flag String 1 N
Stage Customer Stage - Initial value ‘00’ if none provided. String 2 Y

Customer Address Data Model

Field Description Datatype Length Mandatory
Table Fixed value of CUS String 3 Y
CustomerId String 20
AddressId Must match a value in the InvoiceAddressId or ShippingAddressId within the Shipment Header String 10
Name Customer Name to appear on Despatch labels String 50
Line1 String 50
Line2 String 50
Line3 String 50
City String 30
State String 30
Postcode String 20
Country A valid ISO 3166-1 alpha-2 Country Code String 10 Y
Region String 20
Latitude Decimal
Longitude Decimal

Suppliers

The Suppliers endpoint allows the user to create, update, view and delete Suppliers information stored within SnapFulfil.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 200 Entity Updated.
404 Not Found. Please check your URL and try again.
401 Not Authorised. Please check your credentials and try again.
POST 201 Entity Created.
304 Not Modified - Entity already exists.
400 Invalid Entity.
401 Not Authorized.
DELETE 204 No Content. (Success)
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
409 Unable to delete due to conflict in data. Delete failed.

Usage

GET all Supplier records

https://lintliveapi.snapfilfil.net/api/suppliers

Example response

{
        "SupplierId": "1&1001",
        "Status": "00",
        "BizId": "BIZ1",
        "Name": "1&1 INTERNET LIMITED",
        ...
        "MaintInd": "H",
        "SupplierAddresses": []
}

POST a new Supplier record

https://lintliveapi.snapfilfil.net/api/suppliers

GET a specific Supplier record

https://lintliveapi.snapfilfil.net/api/suppliers/{{supplierid}}

Example response:

{
        "SupplierId": "1&1001",
        "Status": "00",
        "BizId": "BIZ1",
        "Name": "1&1 INTERNET LIMITED",
        ...
        "MaintInd": "H",
        "SupplierAddresses": []
}

PUT a Supplier record

https://lintliveapi.snapfilfil.net/api/suppliers/{{supplierid}}

DELETE a Supplier record

https://lintliveapi.snapfilfil.net/api/suppliers/{{supplierid}}

System Query Options

The GET operation for the receipt listing supports the following OData System Query Options:

  • $top
  • $skip
  • $filter
  • $orderby

GET Return 5 Supplier records

https://lintliveapi.snapfilfil.net/api/suppliers?$top=5

Example response

{
        "SupplierId": "1&1001",
        "Status": "00",
        "BizId": "BIZ1",
        "Name": "1&1 INTERNET LIMITED",
        ...
        "MaintInd": "H",
        "SupplierAddresses": []
}

GET Return Suppliers records where Name ends with ‘LIMITED’

https://lintliveapi.snapfilfil.net/api/suppliers?$filter=endswith(Name,%20'Limited')

Example response:

{
        "SupplierId": "ABF001",
        "Status": "00",
        "BizId": "BIZ1",
        "Name": "ABF Pictures Limited",
        ...
        "MaintInd": "H",
        "SupplierAddresses": []
    
}

Data Model

Supplier Data Model

Field Description Datatype Length Mandatory
Supplier Supplier ID String 15 Yes
Status Status of Supplier String 2 Yes
BizId BizID String 15 Yes
Name Name of Supplier (Description) String 50 Yes
Group Group ID String 15
Label Label String 10
Stage Stage of Supplier String 2
MaintInd W for Warehouse Maintained / H for Host Maintained String 1

Supplier Address Data Model

Field Description Datatype Length Mandatory
Table SUP String 3 Y
CustomerId Supplier ID Address belongs to String 20
AddressId Address ID String 10
Name Name String 50
Line1 Address Line 1 String 50
Line2 Address Line 2 String 50
Line3 Address Line 3 String 50
City City String 30
State State String 30
Postcode Postcode String 20
Country Country String 10 Y
Region Region String 20
Latitude Latitude Decimal
Longitude Longitude Decimal

Invoices

The Invoices endpoint is used to retrieve details on 3PL Invoices.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 405 Method not Allowed.
POST 405 Method not Allowed.
DELETE 405 Method not Allowed.

Usage

GET all Invoice Records

https://https://lintliveapi.snapfilfil.net/api/invoices

GET a specific Invoice record

https://https://lintliveapi.snapfilfil.net/api/invoices/{{date}}

Example response:

{

"Key*:** “FRKOKL23R”,

“BizId”: “BIZ1”,



“InvoiceLines”: [

{

“Key”: “FRKOKL23R”,



“Stage”: “90”

}

]

}

System Query Options

The GET operation for the Invoice endpoint supports the following OData System Query Options:

  • $top
  • $skip
  • $filter
  • $orderby

GET all Invoice records, ordered by Key ID

https://https://lintliveapi.snapfilfil.net/api/invoices?$orderby=Key

Data Model

Invoice Header

Field Detail Datatype Length Mandatory
Key Invoice Key String 10
Site Site ID String 15
Biz Biz ID String 15
InvoiceAddress Invoice Address String 10
Invoice Invoice String 20
Tariff Tariff String 10
Currency Currency String 3
LineValue Line Value 20
Tax Tax 20
InvoiceValue Invoice Value 20
Calendar Calendar String 10
PeriodYear Period Year String 4
Period Period String 3
DatePeriodStart Date Period Start DateTime 20
DatePeriodEnd Date Period End DateTime 20
DateCreated Date Created DateTime 20
DateInvoice Date Invoice DateTime 20
DateTax Date Tax DateTime 20
DateClosed Date Closed DateTime 20
Stage Snaplookup [INVSTAGE] String 2

Invoice Line Segment Data Model

Field Detail Datatype Length Mandatory
Key Key String 10
Line Line String 10
Charge Charge String 10
Description Account String 15
Class String 3
Type String 4
Basis String 10
Unit String 3
QtyCalculated 20
QtyInvoice 20
ChargeRate 20
Value 20
TaxRate 20
Sign String 1
DateStart DateTime 16
DateEnd Datetime 16

Products & Inventory

The Products & Inventory endpoints are as follows:

  • Products

  • Product Configuration

  • Product Alternates

  • Kits

  • StUs

  • Replenishments

  • Serial Movements

  • Stock Movments

  • Stock Detail

  • Stock Totals

  • Stock Total Kits


Attachments

Attachments can be used to add supplementary information to certain elements within SnapFulfil. For example, Attachments can be used to trigger a message to pop-up on a Packing Station, or to store non-standard information about a SKU such as size or colour.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
405 Method Not Allowed. Please check the parameters are correct and try again.
PUT 200 Entity Updated.
404 Not Found. Please check your URL and try again.
401 Not Authorised. Please check your credentials and try again.
POST 201 Entity Created.
304 Not Modified - Entity already exists.
400 Invalid Entity.
401 Not Authorized.
DELETE 204 No Content. (Success)
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
409 Unable to delete due to conflict in data. Delete failed.

Usage

GET all Attachments by Key

https://lintliveapi.snapfilfil.net/api/attachments/{{table}}/{{key}}/{{keyline}}/{{lineid}}

GET a specific Attachment

https://lintliveapi.snapfilfil.net /api/attachments/{{table}}/{{key}}/{{keyline}}/{{lineid}}

POST a new Attachment

https://lintliveapi.snapfilfil.net/api/attachments

PUT an Attachment

https://lintliveapi.snapfilfil.net /api/attachments/{{table}}/{{key}}/{{keyline}}/{{lineid}}

DELETE an Attachment

https://lintliveapi.snapfilfil.net /api/attachments/{{table}}/{{key}}/{{keyline}}/{{lineid}}

System Query Options

The GET operation for the Attachment listing supports the following OData: filters

  • $top
  • $skip
  • $filter
  • $orderby

GET the top 100 Attachment records on the Shipments Header table, ordered by Type

https://lintliveapi.snapfilfil.net/api/attachments/SHH?$top=100&orderby=SKUId

GET Attachment ‘Types’ from Shipment ‘SHIPMENT001’ where the Attachment Type starts with ‘ABC_’

https://lintliveapi.snapfilfil.net/api/attachments/SHH/SHIPMENT001?$filter=startswith(Type,'ABC_')

Data Model

Attachment Data Model

Field Description Datatype Length Mandatory
Table Table the attachment will belong to. ‘SHH’ for Shipment Header, ‘REH’ for Receipt Header String 4 Yes
Key Key based on the Table. Shipment ID for ‘SHH’, Receipt ID for ‘REH’ String 30 Yes
Keyline Unique Identifier in case of multiple attachments to the same Key String 10 Yes
LineId Further Unique Identifier String 10 Yes
Type Snaplookup [ATTTYPE] – The type of Attachment String 10 Yes
AttachmentText The Attachment text body String 1000 Yes

Products

The Product endpoint allows the user to create, update, view and delete Product SKUs within SnapFulfil.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 200 Entity Updated.
404 Not Found. Please check your URL and try again.
401 Not Authorised. Please check your credentials and try again.
405 Method Not Allowed. Please check you have the correct parameters.
POST 201 Entity Created.
304 Not Modified - Entity already exists.
400 Invalid Entity.
401 Not Authorized.
DELETE 204 No Content. (Success)
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
409 Unable to delete due to conflict in data. Delete failed.

Usage

GET all Product records

https://lintliveapi.snapfilfil.net/api/products

POST a new Product record

https://lintliveapi.snapfilfil.net/api/products

GET a specific Product record

https://lintliveapi.snapfilfil.net/api/products/{{skuid}}

Example response:

{
    "SKUId": "APISKU",
    "Status": "00",
    "BizId": "BIZ1",
    ...
    "Stage": "00",
    "MaintInd": "W"
}

PUT update a Product record

https://lintliveapi.snapfilfil.net/api/products/{{skuid}}

DELETE a Product record

https://lintliveapi.snapfilfil.net/api/products/{{skuid}}

System Query Options

The GET operation for the Products listing supports the following OData System Query Options:

  • $top

  • $skip

  • $filter

  • $orderby

GET the top 100 Product records

https://lintliveapi.snapfilfil.net/api/Products?$top=100

GET the top 100 Product records, ordered by SKU ID

https://lintliveapi.snapfilfil.net/api/Products?$top=100&orderby=SKUId

GET Product records starting with ‘10000’

https://lintliveapi.snapfilfil.net/api/Products?$filter=startswith(SKUId,'10000')

Data Model

Products Data Model

Field Description Datatype Length Mandatory
SKUId SKU ID String 30 Y
BizId SKU Biz id Snaplookup [ORG] String 15 Y
Status Snaplookup [**SKUSTATUS]** – Initial value ‘00’ if non provided. String 2 N
Description SKU Description String 30 Y
Text String 250
Group1 Snaplookup [PRODUCT_GROUP1] String 15 N
Group2 Snaplookup [PRODUCT_GROUP2] String 15 N
BoxUnit Snaplookup [UNIT] String 3 N
BoxQty SKU Box Quantity - Defaults to ‘0’ if no value populated Decimal 18,6 N
ItemUnit SKU Item Unit String 3 N
Life SKU Life (Defaults to ‘0’ if no value populated Decimal 18,6 N
ExpiryReqd SKU Expiry Flag - Defaults to ‘0’ if no value populated String 1 N
ProductionReqd SKU Production Date Flag - Defaults to ‘0’ if no value populated String 1 N
BatchReqd SKU Batch Flag - Defaults to ‘0’ if no value populated String 1 N
SerialReqd SKU Serial Flag - Defaults to ‘0’ if no value populated String 1 N
Country SKU Country of Origin Flag - Defaults to ‘0’ if no value populated String 1 N
RotationMethod SKU Rotation Method Snaplookup [ROTATION] - Defaults to ‘X1’ if no value populated String 2 N
Type SKU Type Snaplookup [SKUTYPE] - Defaults to ‘00’ if no value populated String 2 N
Class SKU Class Snaplookup [SKUCLASS] - Defaults to ‘03’ if no value populated String 2 N
Value SKU Value Snaplookup [SKUVALUE] - Defaults to ‘02’ if no value populated String 2 N
BoxHeight SKU Box Height Decimal 18,6 N
BoxWidth SKU Box Width Decimal 18,6 N
BoxDepth SKU Box Depth Decimal 18,6 N
BoxWeight SKU Box Weight Decimal 18,6 N
ItemHeight SKU Item Height Decimal 18,6 N
ItemWidth SKU Item Width Decimal 18,6 N
ItemDepth SKU Item Depth Decimal 18,6 N
ItemWeight SKU Item Weight Decimal 18,6 N
Stage SKU Stage - Defaults to ‘00’ if no value populated String 2 N
QA SKU QA Code String 3 N
QC SKU QC Code String 3 N
HazardCode SKU Hazard Code String 3 N
MaintInd W for Warehouse Maintained / H for Host Maintained String 1 N
DateHeld DateTime

Product Configuration

The Product Configuration endpoint allows the Operation to create, update, view and delete Product Configurations within SnapFulfil.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 200 Entity Updated.
404 Not Found. Please check your URL and try again.
401 Not Authorised. Please check your credentials and try again.
POST 201 Entity Created.
304 Not Modified - Entity already exists.
400 Invalid Entity.
401 Not Authorized.
DELETE 204 No Content. (Success)
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
409 Unable to delete due to conflict in data. Delete failed.

Usage

GET all Product Configuration records

https://lintliveapi.snapfilfil.net/api/productconfig

GET a specific Product Configuration record

https://lintliveapi.snapfilfil.net/api/productconfig/{{skuid}}

Example response:

[
    {
        "SKUId": "APISKU",
        "StT": "LPT",
        "LayerCount": 1.0,
        ...
        "Product": null
    }

]

GET a specific Product Configuration record, specifiying an StT

https://lintliveapi.snapfilfil.net/api/productconfig/{{skuid}}/{{sttid}}

POST a new Product Configuration record

https://lintliveapi.snapfilfil.net/api/productconfig

PUT update a Product Configuration record

https://lintliveapi.snapfilfil.net/api/productconfig/{{skuid}}/{{sttid}}

DELETE a Product Configuration record

https://lintliveapi.snapfilfil.net/api/productconfig/{{skuid}}/{{sttid}}

System Query Options

The GET operation for the Product Configuration listing supports the following OData System Query Options:

  • $top

  • $skip

  • $filter

  • $orderby

GET the top 10 Product Configuration records

https://lintliveapi.snapfilfil.net/api/ProductConfig/?$top=10

GET the top 10 Product Configuration records, ordered by StT

https://lintliveapi.snapfilfil.net/api/ProductConfig?$top=10&orderby=StT

GET the Product Configuration StT’s from SKUID “SKU01” starting with “SPT”

https://lintliveapi.snapfilfil.net/api/ProductConfig/SKU01?$filter=startswith(StT,%20'SPT')

Data Model

Product Configuration Data Model

Field Description Datatype Length Mandatory
SKUId Product ID the Configuration belongs to String 30 Yes
StT STT for the specific Product Configuration String 3 Yes
LayerCount How many layers this Configuration has Decimal 18 Yes
LayerQty How many items per layer for this Configuration Decimal 18 Yes
Unit Unit of Measure for the Product / Configuration String 3 Yes
Paired Not currently used – Defaulted to 0 String 1
StackLimit Decimal 18
MaintInd W for Warehouse Maintained / H for Host Maintained String 1
Product Product

Product Alternates

The Product Alternates endpoint allows the user to create, update, view and delete Product Alternate configurations within SnapFulfil.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 200 Entity Updated.
404 Not Found. Please check your URL and try again.
401 Not Authorised. Please check your credentials and try again.
405 Method Not Allowed. Please check you have the correct parameters.
POST 201 Entity Created.
304 Not Modified - Entity already exists.
400 Invalid Entity.
401 Not Authorized.
DELETE 204 No Content. (Success)
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
409 Unable to delete due to conflict in data. Delete failed.

Usage

GET all Product Alternate records

https://lintliveapi.snapfilfil.net/api/productalternates

POST a new Product Alternate record

https://lintliveapi.snapfilfil.net/api/productalternates

GET a specific Product Alternate record

https://lintliveapi.snapfilfil.net/api/productalternates/{{alternateid}}

Example response:

{
    "AlternateSKUId": "APIALTERNATE",
    "LineId": "1",
    "OriginalSKUId": "APISKU",
    ...
    "MaintInd": "H"
}

PUT a specific Product Alternate record

https://lintliveapi.snapfilfil.net/api/productalternates/{{alternateid}}

DELETE a specific Product Alternate record

https://lintliveapi.snapfilfil.net/api/productalternates/{{alternateid}}

System Query Options

The GET operation for the Product Alternates listing supports the following OData System Query Options:

  • $top

  • $skip

  • $filter

  • $orderby

GET the top 100 Product Alternate records

https://lintliveapi.snapfilfil.net/api/productalternates?$top=100

GET the top 100 Product Alternate records, ordered by Type

https://lintliveapi.snapfilfil.net/api/productalternates?$top=100&orderby=Type

GET all Product Alternate records starting with “10000”

https://lintliveapi.snapfilfil.net/api/productalternates?$filter=startswith(AlternateSKUId,%20'10000')

Data Model

Product Alternates Data Model

Field Description Datatype Length Mandatory
AlternateSKUId Alternate SKU ID String 30 Y
LineId Line Id String 10 Y
OriginalSKUId Original SKU ID String 30 Y
Type Snaplookup [ALTTYPE] String 2 Y
Reference String 15
MaintInd H = Host Maintained / W = Warehouse Maintained String 1 Y

Product MLOR

The Product MLOR (minimum life on receipt at client depot) endpoint allows the user to create, update, view and delete Product MLOR configurations within SnapFulfil.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 200 Entity Updated.
404 Not Found. Please check your URL and try again.
401 Not Authorised. Please check your credentials and try again.
405 Method Not Allowed. Please check you have the correct parameters.
POST 201 Entity Created.
304 Not Modified - Entity already exists.
400 Invalid Entity.
401 Not Authorized.
DELETE 204 No Content. (Success)
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
409 Unable to delete due to conflict in data. Delete failed.

Usage

GET a specific Product MLOR record

https://lintliveapi.snapfilfil.net/api/productmlor/{{ProductLevel}}/{{ProductId}}/{{EntityLevel}}/{{EntityId}}

Example response:

ProductLevel - the level of product data 01 – SKU 02 - SKU Group1 03 - SKU Group2

ProductId - the actual value relating to the Product Level SKU SKU Group1 SKU Group2

EntityLevel - the level of customer data 01 – Customer 02 - Customer Group 03 - Biz

EntityId - the actual value relating to the Entity Level Customer Customer Group Biz

Type - the type of MLOR value 0 - Days 1 - % of total Life

{

“ProductLevel”: “01”,

“ProductId”: “AS10”,

“EntityLevel”: “01”,

“EntityId”: “A001”,

“Type”: 0,

“Value”: 12,

“Status”: “00”

}

GET all Product MLOR records

https://lintliveapi.snapfilfil.net/api/productmlor

System Query Options

The GET operation for the Product Alternates listing supports the following OData System Query Options:

  • $top

  • $skip

  • $filter

  • $orderby

GET the top 100 Product MLOR records

https://lintliveapi.snapfilfil.net/api/productmlor?$top=100

GET the top 100 Product MLOR records, ordered by Product Level

https://lintliveapi.snapfilfil.net/api/productmlor?$top=100&orderby=ProductLevel

GET all Product MLOR records starting with “02” (i.e. all product group1 entries)

https://lintliveapi.snapfilfil.net/api/productmlor?$filter=startswith(ProductLevel,%20'02')

Data Model

Product MLOR Data Model

Field Detail Datatype Length Mandatory
ProductLevel Product Level String 2 Yes
01 – SKU
02 – SKU GROUP1
03 – SKU GROUP2
ProductId Id that Product Level refers to.. String 30 Yes
SKU
SKU GROUP1
SKU GROUP2
EntityLevel Entity Level String 2 Yes
01 – CUSTOMER
02 – CUSTOMER GROUP
03 – BIZ
EntityId Id that Entity Level refers to.. String 15 Yes
CUSTOMER
CUSTOMER GROUP
BIZ
Type MLOR Type (0=days / 1=percentage) String 1 Yes
Value MLOR Value (days or percentage) Integer Yes
Status Status (00=active / 10=inacative) String 2

Kits

The Kits endpoint allows the operation to create, update, view and delete Product Kit configurations within SnapFulfil.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
405 Method Not Allowed – Check your parameters.
PUT 200 Entity Updated.
404 Not Found. Please check your URL and try again.
401 Not Authorised. Please check your credentials and try again.
POST 201 Entity Created.
304 Not Modified - Entity already exists.
400 Invalid Entity.
401 Not Authorized.
DELETE 204 No Content. (Success)
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
409 Unable to delete due to conflict in data. Delete failed.

Usage

GET a specific Kit record

https://lintliveapi.snapfilfil.net/api/kits/{{productkitid}}/{{unitofmeasure}}

Example response:

[
    {
        "ProductKitId": "APISKUKIT",
        "Unit": "EA",
        "ComponentSKUID": "APISKU",
        ...
        "MaintInd": "H"
    }
    
]

POST a new Kit record

https://lintliveapi.snapfilfil.net/api/kits/

PUT a specific Kit record

https://lintliveapi.snapfilfil.net/api/kits/{{productkitid}}/{{unitofmeasure}}

DELETE a specific Kit record

https://lintliveapi.snapfilfil.net/api/kits/{{productkitid}}/{{unitofmeasure}}

Data Model

Kits Data Model

Field Detail Datatype Length Mandatory
ProductKitId Product Kit ID String 30 Yes
Unit Product Kit Unit String 3 Yes
ComponentSKUID Component SKU ID String 30 Yes
Qty Component SKU Quantity Integer 18 Yes
ComponentSKUUnit Component SKU Unit String 3 Yes
DateEffective Date Kit is effective DateTime No
DateClosed Date Kit ends DateTime No
MaintInd W for Warehouse Maintained / H for Host Maintained String 1 No

StU

The StU endpoint allows the user to view information on StUs within SnapFulfil.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 405 Method not Allowed.
POST 405 Method not Allowed.
DELETE 405 Method not Allowed.

Usage

GET all StU records

https://lintliveapi.snapfilfil.net/api/stu

GET a specific StU record

https://lintliveapi.snapfilfil.net/api/stu/{{stuid}}

Example response:

{
    "StuId": "APISTU1",
    "BizId": "BIZ1",
    ...
    "DateLastMove": "2019-01-15T08:09:29"
}

System Query Options

The GET operation for the StU listing supports the following OData System Query Options:

  • $top

  • $skip

  • $filter

  • $orderby

GET the top 100 StU records

https://lintliveapi.snapfilfil.net/api/stu?$top=100

GET the top 100 StU records, ordered by StU ID

https://lintliveapi.snapfilfil.net/api/stu?$top=100&orderby=Stuid

GET all StU records with an StT of “SPT”

https://lintliveapi.snapfilfil.net/api/stu?$filter=startswith(StT,'SPT')

Data Model

Stu Data Model

Field Detail Datatype Length Mandatory
StuId Stu ID String 20
BizId Biz ID String 15
OwnerId Owner String 15
StT StT String 3
SKUId SKU ID String 30
Description String 30
Composition Snaplookup [COMPOSITION] String 2
Status Snaplookup [STKSATUS] – value ‘00’ String 2
State Snaplookup [STATE] String 1
Site Site Id String 15
Facility Warehouse String 15
Zone Zone String 15
Bay Bay String 15
Section Section String 15
Slot Slot String 15
Height Height Decimal 18
Width Width Decimal 18
Depth Depth Decimal 18
Lines Lines Decimal 18
Quantity Quantity Decimal 18
Volume Volume Decimal 18
Weight Weight Decimal 18
ActualWeight Decimal 18
AssignType String 2
AssignRef String 20
Consignment Consignment ID String 20
Load String 20
Label String 30
Pair String 1
PairStu String 20
Container String 20
Printed String 1
DateCreated Date Created DateTime
DateHeld Date Held DateTime
DateLastMove Date of last movement DateTime

Replenishments

The Replenishments endpoint allows the user to create, update, view and delete Replenishment configurations within SnapFulfil.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 200 Entity Updated.
404 Not Found. Please check your URL and try again.
401 Not Authorised. Please check your credentials and try again.
POST 201 Entity Created.
304 Not Modified - Entity already exists.
400 Invalid Entity.
401 Not Authorized.
DELETE 204 No Content. (Success)
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
409 Unable to delete due to conflict in data. Delete failed.

Usage

GET a specific Replenishment record

https://lintliveapi.snapfilfil.net/api/replenishments/{{skuid}}

Example response:

[
    {
        "SiteId": "0001",
        "SKUId": "APISKU",
        "Unit": "EA",
        ...
        "DateUpdated": null
    }
]

POST a new Replenishment record

https://lintliveapi.snapfilfil.net/api/replenishments

PUT a Replenishment record

https://lintliveapi.snapfilfil.net/api/replenishments/{{siteid}}/{{skuid}}/{{unit}}/{{ownerId}}/{{level}}/{{area}}

DELETE a Replenishment record

https://lintliveapi.snapfilfil.net/api/replenishments/{{siteid}}/{{skuid}}/{{unit}}/{{ownerId}}/{{level}}/{{area}}

System Query Options

The GET operation for the Replenishments listing supports the following OData System Query Options:

  • $top

  • $skip

  • $filter

  • $orderby

GET the top 10 Replenishment records

https://lintliveapi.snapfilfil.net/api/Replenishments?$top=10

GET the top 10 records Replenishment, ordered by Area

https://lintliveapi.snapfilfil.net/api/replenishments?$top=10&orderby=Area

GET Replenishment records where Area starts with “AA”

https://lintliveapi.snapfilfil.net/api/replenishments?$filter=startswith(Area,'AA')

Data Model

Replenishment Data Model

Field Description Datatype Length Mandatory
SiteId Site ID String 15 Yes
SKUId Product ID String 30 Yes
Unit Unit of Measure for the Product String 3 Yes
OwnerId Owner ID for the Stock Record String 15 Yes
Level Value of SLOT / BAY / SECTION / ZONE String 10 Yes
Area Id for the SLOT / BAY / SECTION / ZONE String 15 Yes
Status Status of the Replenishment – This is defaulted and handled by SnapFulfil String 2
MinQty Minimum Quantity before the system will replenish this Location / Product Decimal 18
MaxQty Maximum Quantity the system is allowed to put into this area Decimal 18
ReplenAction This is defaulted and handled by SnapFulfil and will change based on the minimum / maximum / current stock in the area String 1
ShortageInd Is there a shortage of stock? True or False – Handled by SnapFulfil String 1
DateCreated Date the Replenishment record was created DateTime
DateUpdated Date the Replenishment record was last updated DateTime

Serial Movements

The Serial Movements Summary endpoint provides access to view recent Serial Movements within SnapFulfil.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 405 Method not Allowed.
POST 405 Method not Allowed.
DELETE 405 Method not Allowed.

Usage

GET a specific Serial Movement record based on the Movement Type

https://lintliveapi.snapfilfil.net/api/serialmovements/{{movementref}}/{{movementtype}}

Example response:

[
    {
        "SerialKey": "K5U71C9L40",
        "SerialValues": null,
        "SerialNumber": "1",
        "SKUId": "SERIALPRODUCT",
        ...
        "SerialStage": "90"
    }

]

Data Model

Serial Movements Data Model

Field Detail Datatype Length Mandatory
SerialKey Internal ID For the Serial String 10
SerialValues String 250
SerialNumber Serial Number String 50
SKUId Product ID String 30
State State String 1
Site Site String 15
Facility Warehouse String 15
ReceiptType Receipt Type String 5
ReceiptId ID of Receipt String 20
ReceiptStU StU Serial was received on String 20
ReceiptStatus Receipt Status String 2
ReceiptBizId Receipt Biz String 15
ReceiptOwnerId Receipt Owner String 15
ReceivingOperator Operator who received the Serial String 10
ReceiptDate Date the Serial was received on DateTime
ShipmentType Type of Shipment / Movement String 5
ShipmentId Shipment ID or Task ID String 20
ShipmentStU StU the Serial was shipped on String 20
ShipmentStatus Status of Shipment String 2
ShipmentBizId Biz of the Shipment String 15
ShipmentOwnerId Owner of the Shipment String 15
ShippingOperator Operator who shipped the Serial String 10
ShipDate Date the Serial was shipped DateTime
SerialStage Stage of the Serial String 2

Stock Movements

The Stock Movements Summary endpoint provides access to view recent Stock Movements within SnapFulfil.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 405 Method not Allowed.
POST 405 Method not Allowed.
DELETE 405 Method not Allowed.

Usage

GET a specific Stock Movement record based on the Movement Type

https://lintliveapi.snapfilfil.net/api/stockmovements/{{site}}/{{type}}/{{moveid}}/{{lineid}}

Example response:

{
    "SiteId": "0002",
    "MoveType": "SREG",
    "MoveId": "SREG000001",            
    "MoveLineId": "K5U71PQJJH",
    "BizId": "BIZ1",
    ...
    "Stage": "90"
}

Data Model

Stock Movements Data Model

Field Detail Datatype Length Mandatory
SiteId Site ID String 15
MoveType Task Type String 5
MoveId Task ID String 10
MoveLineId Internal SnapFulfil ID String 10
BizId Biz Id String 15
Status Status of Movement String 2
Class Class of Movement String 30
Reference Reference of Movement String 20
SKUId Product ID String 30
QtyTasked Quantity Tasked Decimal
QtyActioned Quantity Actioned Decimal
Unit Unit of Measure String 3
BoxQty Box Quantity Decimal
FromState From State String 1
FromSite From Site ID String 15
FromFacility From Warehouse String 15
FromZone From Zone String 15
FromBay From Bay String 15
FromSection From Section String 15
FromSlot From Location String 15
FromStU From StU String 20
FromStT From StT String 3
FromOwner From Owner String 15
FromStatus From Status String 2
FromAssignType From Assign Type String 2
FromAssignRef From Assign Ref String 20
FromLoad From Load String 20
FromStockID From Internal Snap ID String 10
ToState To State String 1
ToSite To Site ID String 15
ToFacility To Warehouse String 15
ToZone To Zone String 15
ToBay To Bay String 15
ToSection To Section String 15
ToSlot To Location String 15
ToStU To StU String 20
ToStT To StT String 3
ToOwner To Owner String 15
ToStatus To Status String 2
ToAssignType To Assign Type String 2
ToAssignRef To Assign Ref String 20
ToLoad To Load String 20
ToStockId To Internal SnapFulfil ID String 10
Sequence Sequence Decimal
JobId Job ID String 15
JobSequence Job Sequence Decimal
Operator Operator String 10
Supervisor Supervisor Intervention String 15
ReasonId Reason Code String 4
DateCreated Date Created DateTime
DateClosed Date Closed DateTime
Stage Stage String 2

Stock Detail

The Stock Detail endpoint allows access to SnapFulfil Stock Detail data within SnapFulfil.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 405 Method not Allowed.
POST 405 Method not Allowed.
DELETE 405 Method not Allowed.

Usage

GET all Stock Detail records

https://lintliveapi.snapfilfil.net/api/stockdetail

GET a specific Stock Detail record

https://lintliveapi.snapfilfil.net/api/stockdetail/{{skuid}}

Example response:

[
    {
        "StockId": "K0RS9ZLMG5",
        "BizId": "BIZ1",
        "OwnerId": "OWNER1",
        "SKUId": "APISKU",
        ...
        "DateLastMove": "2019-01-15T06:24:47"
    }
]

Data Model

Stock Detail Data Model

Field Detail Datatype Length Mandatory
StockId Internal SnapFulfil Stock ID String 10
BizId Biz ID String 15
OwnerId Owner ID String 15
SKUId Product String 30
State W / Z String 1
Site Site ID String 15
Facility Warehouse String 15
Zone Zone String 15
Bay Bay String 15
Section Section String 15
Slot Location String 15
StU StU String 20
StT StT String 3
Qty Quantity Decimal
Unit Unit of Measure String 3
BoxQty Box Quantity Decimal
Status Status String 2
DateProdn Date Production DateTime
DateReceipt Date Receipt DateTime
DateRelease Date Released DateTime
DateExpiry Date Expiry DateTime
Country Country String 10
Batch Batch String 30
Serial Serial String 50
AssignType OC / IC String 2
AssignRef Assignment String 20
Consignment Consignment String 20
Load Load String 20
Pair Pair String 1
PairStU Pair StU String 20
OriginStkId Origin Stock ID String 10
Tamper Tamper String 1
Printed Printed (Y/N) String 1
DateCreated Date Created DateTime
DateHeld Date Held DateTime
DateLastMove Date Last Move DateTime

Stock Totals

The Stock Totals endpoint allows access to Stock Totals data within SnapFulfil.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and Permissions and try again.
PUT 405 Method not Allowed.
POST 405 Method not Allowed.
DELETE 405 Method not Allowed.

Usage

GET Return all Stock Totals

https://lintliveapi.snapfilfil.net/api/stocktotals/

GET a Stock Totals record for a specific SKU

https://lintliveapi.snapfilfil.net/api/stocktotals/{{skuid}}

Example response:

[
    {
        "SKUId": "APISKU",
        "LineID": "K20F4MQUKV",
        "State": "W",
        "Site": "0001",
       ...
        "DateLastMoved": "2019-02-05T23:50:36",
        "Product": {
            "SKUId": "APISKU",
            "Status": "00",
            "BizId": "BIZ1",
            ...
            "Stage": "00",
            "MaintInd": "W"
        }
    }
]

System Query Options

GET the top 10 Stock Total records

https://lintliveapi.snapfilfil.net/api/stocktotals?$top=10

GET the top 10 Stock Total records ordered by SKU

https://lintliveapi.snapfilfil.net/api/stocktotals?$top=10&orderby=SKUId

GET Stock Total records where SKU starts with “AA”

https://lintliveapi.snapfilfil.net/api/stocktotals?$filter=startswith(SKUId,'A')

Data Model

Stock Totals Data Model

Field Detail Datatype Length Mandatory
SKUId Product String 30
LineId Internal SnapFulfil Stock ID String 10
State W / Z String 1
Site Site ID String 15
Facility Warehouse String 15
BizId Biz ID String 15
OwnerId Stock Owner String 15
Status Status String 2
Qty Quantity Decimal
QtyAllocated Quantity Allocated Decimal
QtyAssigned Quantity Assigned Decimal
QtyOrderIn Quantity Ordered In Decimal
QtyDueIn Quantity Due In Decimal
QtyOrderOut Quantity Ordered Out Decimal
QtyDueOut Quantity Due Out Decimal
StockLevelIndicator Stock Level Indicator String 2
DateLastMoved Date Last Moved DateTime
Product See Products Data Model

Stock Total Kit

The Stock Total Kit endpoint allows you to view the potential number of Kit items from the available Inventory.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 405 Method not Allowed.
POST 405 Method not Allowed.
DELETE 405 Method not Allowed.

Usage

GET all Stock Totals Kits records

https://lintliveapi.snapfilfil.net/api/stocktotalskit

GET a Stock Totals Kits record for a specific SKU

https://lintliveapi.snapfilfil.net/api/stocktotalskit/{{skuid}}

Example response:

[
    {
        "PotentialKitQty": 66.0,
        "SKUId": "APISKU",
        "LineID": "K21NGEBDM9",
        "State": "W",
        "Site": "0001",
        ...
        "Product": null
    }
]

System Query Options

The GET operation for the Snap Lookups listing supports the following OData System Query Options:

  • $top

  • $skip

  • $filter

  • $orderby

GET the top 5 Stock Totals Kits records

https://lintliveapi.snapfilfil.net/api/stocktotalskit?$top=5

Data Model

Stock Totals Kits Data Model

Field Detail Datatype Length Mandatory
PotentialKitQty Decimal
SKUId String 30
LineID String 10
State String 1
Site String 15
Facility String 15
BizId String 15
OwnerId String 15
Status String 2
Unit String 3
Qty Decimal
QtyAllocated Decimal
QtyAssigned Decimal
QtyOrderIn Decimal
QtyDueIn Decimal
QtyOrderOut Decimal
QtyDueOut Decimal
StockLevelIndicator String 2
DateLastMoved DateTime

Interfacing

The Interfacing endpoints are as follows:

  • Inbound Interface

  • Outbound Interface


Snap Inbound

The Inbound Interface endpoint allows the user to view Inbound Interface messages and retrieve data from them.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 405 Method not Allowed.
POST 405 Method not Allowed.
DELETE 405 Method not Allowed.

Usage

GET a specific Inbound Interface record by XDOC number

https://lintliveapi.snapfilfil.net/api/snapinbound?$filter=startswith(XDoc,%20’{{xdoc}})

GET a specific line from an Inbound Interface record by XDOC ID

https://lintliveapi.snapfilfil.net/api/snapinbound/{{xdoc}}/{{line}}

Example response:

{
    "Host": "HOST_API",
    "XDoc": "INA0000871",
    "Line": "L0VGDTGWKU",
    "Transaction": "SHIPMENT",
    "Segment": "HEADER_UPDATE",
    ...
    "DateCreated": "2020-01-16T12:05:51",
    "DateProcessed": "2020-01-16T12:05:52",
    "Stage": "10"
}

GET a list of errored Inbound Interface records that are Open and Closed

https://lintliveapi.snapfilfil.net/api/snapinbound/error

GET a list of errored Inbound Interface records at stage 10 (Open)

https://lintliveapi.snapfilfil.net/api/snapinbound/error?$filter=Stage eq '10'

Example response:

{
    "Host": "HOST_API",
    "XDoc": "INA0000871",
    "Line": "L0VGDTGWKU",
    "Transaction": "SHIPMENT",
    ...
    "DateCreated": "2020-01-16T12:05:51",
    "DateProcessed": "2020-01-16T12:05:52",
    "Stage": "10"
 }

System Query Options

The GET operation for the Snap Lookups listing supports the following OData System Query Options:

  • $top

  • $skip

  • $filter

  • $orderby

GET the top Inbound Interface 5 records

https://lintliveapi.snapfilfil.net/api/SnapInbound?$top=5

GET the top 5 Inbound Interface records ordered by transaction

https://lintliveapi.snapfilfil.net/api/SnapInbound?$top=5&orderby=Transaction

Example response:

{
    "Host": "HOST_API",
    "XDoc": "OUA0000445",
    "Transaction": "STOCK_MOVE",
  ...
    "DateCreated": "2018-10-24T10:25:40",
    "DateProcessed": null,
    "Stage": "00"
}

GET Inbound Interface records where the Segment starts with “HEADER”

https://lintliveapi.snapfilfil.net/api/snapinbound?$filter=startswith(Segment,%20'HEADER')

Data Model

Snap Inbound Data Model

Field Detail Datatype Length Mandatory
Host Host Name String 15
XDoc Task ID String 10
Line Internal Snap ID String 10
Transaction Type of Message (SHIPMENT, ADVICE, PO) String 15
Segment Part of the Transaction (HEADER, LINE, ADDRESS) String 15
Key Contains Movement data based on message, including Task ID String 100
Message Contains the full message data String 2000
Error Contains the full Error message String 1000
Batch API Ref Number (SnapFulfil generated) String 30
DateCreated Date the record was created DateTime
DateProcessed Date the record was processed DateTime
Stage Stage of the record String 2

Snap Outbound

The Outbound Interface endpoint allows the user to view or update Outbound Interface messages in order to retrieve data to acknowledge or to close the message.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 200 Entity Updated.
404 Not Found. Please check your URL and try again.
401 Not Authorised. Please check your credentials and try again.
POST 405 Method not Allowed.
DELETE 405 Method not Allowed.

Usage

GET a specific Outbound Interface record by XDOC number

https://lintliveapi.snapfilfil.net/api/snapoutbound?$filter=startswith(XDoc,%20’{{xdoc}})

Example response:

{
        "Host": "HOST_API",
        "XDoc": "OUA0000445",
        "Transaction": "STOCK_MOVE",
        "Key": "Site="0002" Type="SREG" Move="2RG0000002" Line="JGKM3D6KC7"",
        "Batch": null,
        "DateCreated": "2018-10-24T10:25:40",
        "DateProcessed": null,
        "Stage": "00"
}

GET the next open Outbound Interface record

https://lintliveapi.snapfilfil.net/api/snapoutbound/next

Example response:

{
    "Host": "HOST_API",
    "XDoc": "OUA0000445",
    "Transaction": "STOCK_MOVE",
    "Key": "Site="0002" Type="SREG" Move="2RG0000002" Line="JGKM3D6KC7"",
    "Batch": null,
    "DateCreated": "2018-10-24T10:25:40",
    "DateProcessed": null,
    "Stage": "00"
}

PUT an Outbound Interface record to indicate it has been processed

https://lintliveapi.snapfilfil.net/api/snapoutbound/{{xdoc}}

System Query Options

The GET operation for the Snap Lookups listing supports the following OData System Query Options:

  • $top

  • $skip

  • $filter

  • $orderby

GET the top Outbound Interface 5 records

https://lintliveapi.snapfilfil.net/api/SnapOutbound?$top=5

GET the top 5 Outbound Interface records ordered by transaction

https://lintliveapi.snapfilfil.net/api/SnapOutbound?$top=5&orderby=Transaction

Example response:

{
    "Host": "HOST_API",
    "XDoc": "OUA0000445",
    "Transaction": "STOCK_MOVE",
  ...
    "DateCreated": "2018-10-24T10:25:40",
    "DateProcessed": null,
    "Stage": "00"
}

GET all Outbound Interface messages starting with “DESP”

https://lintliveapi.snapfilfil.net/api/SnapOutbound?$filter=startswith(Transaction,%20'DESP')

Data Model

SnapOutbound Data Model

Field Detail Datatype Length Mandatory
Host Host Name String 15
XDoc Task ID String 10
Transaction Type of Message (STOCK_MOVE, DESPATCH, RECEIPT) String 15
Key Contains Movement data based on message, including Task ID String 100
Batch API Ref Number (SnapFulfil Generated) String 30
DateCreated Date the record was created DateTime
DateProcessed Date the record was processed DateTime
Stage Stage of the Record String 2

Snap WebHook

As an alternative to fetching Outbound Interface records from the Outbound Interface endpoint, SnapFulfil can be configured to POST the data to a pre-configured Host URL.

Supported Methods

GET
POST
PUT
DELETE

If SnapFulfil receives any response other than 200 from the host system, the process will stop on error and the record that prompted the failed response will be left at ‘processing’ status and resent on the next pass. No further records will be sent until the next pass.

An alert message will be raised in SnapFulfil giving the statusCode and statusMessage to allow a supervisory user to fix any issues.

If you would like to configure webhooks within SnapFulfil, please contact your Project Manager or the SnapFulFil Service Desk.

Usage

Each request is identical in format, with the transaction field denoting the type of operation that triggered the webhook, and the message section giving details of the change.

In the below example, a DESPATCH operation occurred, with shipment “D17-00006” moving to stage 91.

{
    "transaction": "DESPATCH",
    "message": "Shipment="D17-00006" Stage="91""
}

The response from the subscriber must be in the below format.

{

"statusCode": "200",

"statusMessage":"OK"

}

Data Model

Webhook Data Model

Field Detail Datatype Length Mandatory
transaction The type of transaction from SnapFulfil String
message Data from the transaction such as Shipment or Receipt ID and Stage String

Administrative & Tasks

The Administrative & Tasks are as follows:

  • Tasks

  • Tasks Summary

  • Tasks Receipt

  • Tasks Shipment

  • Snap Lookups


Tasks

The Tasks endpoint provides a high level view of Tasks within SnapFulfil.

Supported Methods

Closed Receipt Summary
GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and Permissions and try again.
PUT 405 Method not Allowed.
POST 405 Method not Allowed.
DELETE 405 Method not Allowed.

Usage

GET a specific task

https://lintliveapi.snapfilfil.net/api/tasks/{{key}}

Example response:

{
    "Site": "0001",
    "TaskType": "PUTS",
    "TaskId": "APICONSIGNMENT",
    "Key": "PUTS000001",
    "BizId": "BIZ1",
    ...
    "Stage": "90",
    "StockMovements": [
        {
            "SiteId": "0001",
            "MoveType": "PUTS",
            "MoveId": "PUTS000001",
            "MoveLineId": "K14C9KEXET",
            "BizId": "BIZ1",
            ...
            "Stage": "90"
        }
    ]
}

GET all tasks for a Shipment

https://lintliveapi.snapfilfil.net/api/tasks/shipments/{{Key}}

GET all tasks for a Receipt

https://lintliveapi.snapfilfil.net/api/tasks/receipts/{{Key}}

GET all tasks for a Pick Group

https://lintliveapi.snapfilfil.net/api/tasks/pickgroup/{{Key}}

System Query Options

GET the top 10 Task records

https://lintliveapi.snapfilfil.net/api/tasks?$top=10

GET the top 10 Task records order by ‘TaskType’

https://lintliveapi.snapfilfil.net/api/tasks?$top=10&orderby=TaskType

GET top 10 Task records where ‘TaskType’ starts with ‘SP’

https://lintliveapi.snapfilfil.net/api/tasks?$filter=startswith(TaskType,'SP')&$top=10

Data Model

Tasks Data Model

Field Detail Datatype Length Mandatory
Site Site String 15
TaskType Task Type String 5
TaskId Task ID String 10
Key Task String 10
BizId Biz ID String 15
Owner Owner of Task String 15
Status Status String 2
Class Class String 30
Category Category String 3
RefType Reference Type String 2
Rule Rule String 30
Priority Priority String 2
FromState From State String 1
FromFacility From Facility String 15
FromZone From Zone String 15
FromBay From Bay String 15
ToState To State String 1
ToFacility To Facility String 15
ToZone To Zone String 15
ToBay To Bay String 15
Bays Task Bays String 250
AssignType Assignment Type String 2
AssignRef Assignment Reference String 20
Slot Slot/Location String 15
CDigit Check Digit String 3
SKU SKU String 30
STU StU String 20
STT StT String 20
Quantity Quantity Decimal
Volume Volume Decimal
Weight Weight Decimal
Height Height Decimal
Job Job Ref String 15
Operator Operator String 10
Team Team String 10
FLT FLT String 10
FLTGroup FLT Group String 10
Device Device String 10
DeviceGroup Device Group String 10
NextType Next Task Type String 5
NextTask Next Task Id String 10
LinesNew Lines New Decimal
LinesCurren Lines Current Decimal
LinesActioned Lines Actioned Decimal
Supervisor Supervisor String 15
Reason Reason Code String 4
DateCreated Date Created DateTime
DateReleased Date Released DateTime
DateAssigned Date Assigned DateTime
DateSuspended Date Suspended DateTime
DateClosed Date Closed DateTime
Session Session String 10
ServiceTime Service Time Decimal
WorkTime Work Time Decimal
SuspensionTime Suspension Time Decimal
StdTime Standard Time Decimal
Variance Variance Flag String 1
Overdue Overdue Flag String 1
Printed Print Flag String 1
Stage Stage String 2
StockMovements See Stock Movements Data Model

Tasks Summary

The Tasks Summary endpoint provides a high level view of Tasks within SnapFulfil.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 405 Method not Allowed.
POST 405 Method not Allowed.
DELETE 405 Method not Allowed.

Usage

GET a summary of all Tasks

https://lintliveapi.snapfilfil.net/api/taskssummary

GET a summary of all Tasks by type

https://lintliveapi.snapfilfil.net/api/tasksummary/{{type}}

System Query Options

The GET operation for the Tasks Summary listing supports the following OData System Query Options:

  • $top

  • $skip

  • $filter

  • $orderby

GET the top 5 Task Summary records

https://lintliveapi.snapfilfil.net/api/TasksSummary?$top=5

GET the top 5 Task Summary records ordered by Type

https://lintliveapi.snapfilfil.net/api/TasksSummary?$top=5&orderby=Type

GET a summary of all Tasks where the Class ends with “ITEM”

https://lintliveapi.snapfilfil.net/api/TasksSummary?$filter=endswith(Class,%20'ITEM')

Data Model

Task Summary Data Model

Field Detail Datatype Length Mandatory
Site Site ID String 15
Type Task Type String 5
Biz Biz ID String 15
Owner Owner ID String 15
Status Status of Task String 2
Class Class of Task String 30
Stage Stage of Task String 2
HourClosed Closed in the last hour Integer
Count How many Tasks? Integer

Tasks Receipt

The Tasks Receipt endpoint provides access to view Receipt Tasks within SnapFulfil.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again
404 Not Found. Please check your URL and try again.
PUT 405 Method not Allowed.
POST 405 Method not Allowed.
DELETE 405 Method not Allowed.

Usage

GET all Tasks on a specific Receipt

https://lintliveapi.snapfilfil.net/api/tasksreceipt?ReceiptId={{receiptid}}

Example response:

{
    "Site": "0001",
    "TaskType": "PUTS",
    "TaskId": "APICONSIGNMENT",
    "Key": "PUTS000001",
    "BizId": "BIZ1",
    ...
    "Stage": "90",
    "StockMovements": [
        {
            "SiteId": "0001",
            "MoveType": "PUTS",
            "MoveId": "PUTS000001",
            "MoveLineId": "K14C9KEXET",
            "BizId": "BIZ1",
            ...
            "Stage": "90"
        }
    ]
}

GET all Tasks of a certain Type on a specific Receipt

https://lintliveapi.snapfilfil.net/api/tasksreceipt?ReceiptId={{receiptid}}&TaskType={{tasktype}}

Data Model

Tasks Receipt Data Model

Field Detail Datatype Length Mandatory
Site Site ID String 15
TaskType Type of Task String 5
TaskId Null String 10
Key Receipt ID String 20
BizId Biz ID String 15
Owner Owner ID String 15
Status Status of Task String 2
Class Class of Task String 30
Category Category String 3
RefType Type of Reference String 2
Rule Rule triggered String 30
Priority Priority of Task String 2
FromState W / Z String 1
FromFacility From Warehouse String 15
FromZone From Zone String 15
FromBay From Bay String 15
ToState W / Z String 1
ToZone To Zone String 15
ToBay To Bay String 15
Bays Bays String 15
AssignType OC / IC String 2
AssignRef Reference String 20
Slot Slot String 15
CDigit Check Digit String 3
SKU Product ID String 30
STU StU Record String 20
STT STT String 3
Quantity Quantity Decimal
Volume Volume Decimal
Weight Weight Decimal
Height Height Decimal
Job Job Reference String 15
Operator Operator who carried out the Task String 10
Team Team the Operator belonged to String 10
FLT FLT String 10
FLTGroup FLT Group String 10
Device RF Device String 10
DeviceGroup Device Group String 10
NextType Next Type String 5
NextTask Next Task in Sequence String 10
LinesNew New Lines Decimal
LinesCurrent Current Lines Decimal
Linesactioned Completed Lines Decimal
Supervisor Supervisor Intervention String 15
Reason Reason Code String 4
DateCreated Date Created DateTime
DateReleased Date Released DateTime
DateAssigned Date Assigned DateTime
DateSuspended Date Suspended DateTime
DateClosed Date Closed DateTime
Session Session ID String 10
ServiceTime How long the Task was in progress for Decimal
WorkTime How Long the operator worked on the Task Decimal
Suspension Time How long the task remained suspended Decimal
StdTime Expected time for this task type to take to complete Decimal
Variance Was there a variance? 0 /1 String 1
Overdue Was it overdue? 0 / 1 String 1
Printed Printed String 1
Stage Stage of Task String 2

Tasks Receipt (Stock Movements) Data Model

Field Detail Datatype Length Mandatory
SiteId Site ID String 15
MoveType Task Type String 5
MoveId Task ID String 10
MoveLineId Internal SnapFulfil ID String 10
BizId Biz ID String 15
Status Status of Movement String 2
Class Class of Movement String 30
Reference Reference of Movement String 20
SKUId Product ID String 30
QtyTasked Quantity Tasked Decimal
QtyActioned Quantity Actioned Decimal
Unit Unit of Measure String 3
BoxQty Box Quantity Decimal
FromState From State String 1
FromSite From Site Id String 15
FromFacility From Warehouse String 15
FromZone From Zone String 15
FromBay From Bay String 15
FromSection From Section String 15
FromSlot From Location String 15
FromStU From StU String 20
FromStT From StT String 3
FromOwner From Owner String 15
FromStatus From Status String 2
FromAssignType From Assign Type String 2
FromAssignRef From Assign Ref String 20
FromLoad From Load String 20
FromStockID From Internal Snap ID String 10
ToState To State String 1
ToSite To Site ID String 15
ToFacility To Warehouse String 15
ToZone To Zone String 15
ToBay To Bay String 15
ToSection To Section String 15
ToSlot To Location String 15
ToStU To StU String 20
ToStT To StT String 3
ToOwner To Owner String 15
ToStatus To Status String 2
ToAssignType To Assign Type String 2
ToAssignRef To Assign Ref String 20
ToLoad To Load String 20
ToStockId To Internal Snap ID String 10
Sequence Sequence Decimal
JobId Job ID String 15
JobSequence Job Sequence Decimal
Operator Operator String 10
Supervisor Supervisor Intervention String 15
ReasonId Reason Code String 4
DateCreated Date Created DateTime
DateClosed Date Closed DateTime
Stage Stage String 2

Tasks Shipment

The Tasks Shipment endpoint provides access to view Shipment Tasks within SnapFulfil.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 405 Method not Allowed.
POST 405 Method not Allowed.
DELETE 405 Method not Allowed.

Usage

GET all Tasks on a specific Shipment

https://lintliveapi.snapfilfil.net/api/tasksshipment?ShipmentId={{shipmentid}}

Example response:

{
    "Site": "0001",
    "TaskType": "SPI",
    "TaskId": "APISHIPMENT",
    "Key": "SPI0000001",
    "BizId": "BIZ1",
    ...
    "Stage": "90",
    "StockMovements": [
        {
            "SiteId": "0001",
            "MoveType": "SPI",
            "MoveId": "SPI0000001",
            "MoveLineId": "K14C9KEXET",
            "BizId": "BIZ1",
            ...
            "Stage": "90"
        }
    ]
}

GET all Tasks of a certain Type on a specific Shipment

https://lintliveapi.snapfilfil.net/api/tasksshipment?ShipmentId={{shipmentid}}&TaskType={{type}}

Data Model

Tasks Shipment Data Model

Field Detail Datatype Length Mandatory
Site Site ID String 15
TaskType Type of Task String 5
TaskId Null String 10
Key Task ID String 20
BizId Biz ID String 15
Owner Owner ID String 15
Status Status of Task String 2
Class Class of Task String 30
Category Category String 3
RefType Type of Reference String 2
Rule Rule triggered String 30
Priority Priority of Task String 2
FromState W / Z String 1
FromFacility From Warehouse String 15
FromZone From Zone String 15
FromBay From Bay String 15
ToState W / Z String 1
ToZone To Zone String 15
ToBay To Bay String 15
Bays Bays String 15
AssignType OC / IC String 2
AssignRef Reference String 20
Slot Slot String 15
CDigit Check Digit String 3
SKU Product ID String 30
STU StU Record String 20
STT STT String 3
Quantity Quantity Decimal
Volume Volume Decimal
Weight Weight Decimal
Height Height Decimal
Job Job Reference String 15
Operator Operator who carried out the Task String 10
Team Team the Operator belonged to String 10
FLT FLT String 10
FLTGroup FLT Group String 10
Device RF Device String 10
DeviceGroup Device Group String 10
NextType Next Type String 5
NextTask Next Task in Sequence String 10
LinesNew New Lines Decimal
LinesCurrent Current Lines Decimal
Linesactioned Completed Lines Decimal
Supervisor Supervisor Intervention String 15
Reason Reason Code String 4
DateCreated Date Created DateTime
DateReleased Date Released DateTime
DateAssigned Date Assigned DateTime
DateSuspended Date Suspended DateTime
DateClosed Date Closed DateTime
Session Session ID String 10
ServiceTime How long the Task was in progress Decimal
WorkTime How long the Operator worked on the Task Decimal
Suspension Time How long the Task remained suspended Decimal
StdTime Expected time for this Task Type to take to complete Decimal
Variance Was there a variance? 0 /1 String 1
Overdue Was it overdue? 0 / 1 String 1
Printed Printed String 1
Stage Stage of Task String 2

Tasks Shipment (Stock Movements) Data Model

Field Detail Datatype Length Mandatory
SiteId Site ID String 15
MoveType Task Type String 5
MoveId Task ID String 10
MoveLineId Internal SnapFulfil ID String 10
BizId Biz ID String 15
Status Status of Movement String 2
Class Class of Movement String 30
Reference Reference of Movement String 20
SKUId Product ID String 30
QtyTasked Quantity Tasked Decimal
QtyActioned Quantity Actioned Decimal
Unit Unit of Measure String 3
BoxQty Box Quantity Decimal
FromState From State String 1
FromSite From Site ID String 15
FromFacility From Warehouse String 15
FromZone From Zone String 15
FromBay From Bay String 15
FromSection From Section String 15
FromSlot From Location String 15
FromStU From StU String 20
FromStT From StT String 3
FromOwner From Owner String 15
FromStatus From Status String 2
FromAssignType From Assign Type String 2
FromAssignRef From Assign Ref String 20
FromLoad From Load String 20
FromStockID From Internal Snap ID String 10
ToState To State String 1
ToSite To Site ID String 15
ToFacility To Warehouse String 15
ToZone To Zone String 15
ToBay To Bay String 15
ToSection To Section String 15
ToSlot To Location String 15
ToStU To StU String 20
ToStT To StT String 3
ToOwner To Owner String 15
ToStatus To Status String 2
ToAssignType To Assign Type String 2
ToAssignRef To Assign Ref String 20
ToLoad To Load String 20
ToStockId To Internal Snap ID String 10
Sequence Sequence Decimal
JobId Job ID String 15
JobSequence Job Sequence Decimal
Operator Operator String 10
Supervisor Supervisor Intervention String 15
ReasonId Reason Code String 4
DateCreated Date Created DateTime
DateClosed Date Closed DateTime
Stage Stage String 2

Snap Lookups

SnapFulfil validates certain values when they are interfaced into the system. This means that the correct code must be sent for these values. Fields where these specific value are expected are highlighted in the data models as ‘Snaplookup’ with the lookup code afterwards. The Snap Lookups endpoint returns the possible values for the lookup code.

Supported Methods

GET
POST
PUT
DELETE

Expected Return Values

Method Value Explanation
GET 200 Data returned OK.
401 Not Authorised. Please check your credentials and try again.
404 Not Found. Please check your URL and try again.
PUT 405 Method not Allowed.
POST 405 Method not Allowed.
DELETE 405 Method not Allowed.

Usage

GET a specific Snap Lookup

https://lintliveapi.snapfilfil.net/api/snaplookups/{{keyword}}

Example response:

[

    {
        "Keyword": "SHIPMETHOD",
        "KeyValue": "CL",
        ...
        "Text": "Click and Collect",
        "Group": null
    },
    
]

System Query Options

The GET operation for the Snap Lookups listing supports the following OData System Query Options:

  • $top

  • $skip

  • $filter

  • $orderby

GET the top 5 SnapLookup records

https://lintliveapi.snapfilfil.net/api/snaplookups?$top=5

GET the top 5 SnapLookup records ordered by Keyword

https://lintliveapi.snapfilfil.net/api/snaplookups?$top=5&orderby=Keyword

GET Snap Lookup records where the Keyword starts with “PRINT”

https://lintliveapi.snapfilfil.net/api/snaplookups?$filter=startswith(Keyword,%20'PRINT')

Data Model

Snap Lookup Data Model

Field Detail Datatype Length Mandatory
Keyword LOOKUP String 30
KeyValue Value within the Lookup String 30
Language Language String 10
Text Description String 100
Group Group String 15