1. Home
  2. Dokumente
  3. storelogix REST api
  4. Applications
  5. Picklist

Picklist

Application: Picklist

 

Login
GetNextPicklist
ReturnPicklistResult

Starting from version 1.4:
ReturnSinglePickResult
CheckPlaceBarcode
CheckItemBarcode
CheckPickingContainerBarcode
ClosePicklist
GetZeroPickSelection

Red: Version 1.7 (MultiOrder)

 


Login (GET)

Login for connections with the REST server. No login, no cookies.

Parameter:

username                                 storelogix login user name
password                                 password as used in storelogix
DeviceID                                 Device ID               // From QR Code
LocationID                               Location ID             // From QR Code

 

Returns Json:

{
"ErrorCode": 0,                           // 0 = Ok, >0 Error
"Message": "This is an error message",
"AccessToken": “GHFDT-G6RT7-KI79R“        // Accesstoken for further actions
"SendLogfile": 0                          // 0 or 1 (this item is always optional)
"LanguageID" : "FR",                      // DE, EN, ... 
}
Example: https://<server>/rest/Picklist/Login?UserName=“MyUserName“&password=”mypassword”&DeviceID="MyDevice1234"&LocationID="Berlin Warehouse"

GetNextPickList (GET):

Get a new list for batch picking with multiple items, all items in the correct picking order.

Parameter

AccessToken             Received from „/rest/Picklist/Login“

Return Json:

{
"ErrorCode" : 0,                     // 0=Ok, >0 Error
"Message": "Oops!",              // an error message
"PickListNumber" : 12298,            //Number of picklist, if empty then there is currently nothing
to do
"PickingContainerType" : "Palette",  // Type of picking container (palette, box, shopping cart...)
"LiveBooking" : 1,                   // 0 or 1. Enable live result transmission to REST server
"PlaceJumpAllowed" : 1,                // 0 or 1. User may pick items in any order
"MultiOrder" : 1,                    // MultiOrder Picking - Pick to Multiple Bins
"Items":
[
{
"ItemID" : 12,                       // id of the Item (Number)
"Area" : "Some area name",           // Area in Store (Text)
"Zone" : "some zone name",           // Zone in the Area (Text)
"Place" : "X1234",                   // (Text)
"ArticleText" : "Budweiser Beer",    // Article Text, e.g. Name (Text)
"SKU" : "123456",                    // Article Number (Text)
"Quantity" : 12,                     // How many pieces to pick (Number)
"Barcode" : [
"123456", "XYZ789086", "GH7897"
],                                   // Barcode array, Article Barcode, EAN13 (Array of text) 
"ReplacerAllowed“ : 1,               // This Item may be replaced by a different product (0 or 1)
"OverbookItem" : 1,                  // The original item may be overbooked; ATT: Replacers may always be overbooked
"PlaceScanRequired" : 1,             // 0 or 1. Scan place barcode and check with REST server
"ItemScanRequired" : 1,              // 0 or 1. No manual increasing of item count
"ZeroPickAllowed“ : 1,               // A zero pick is allowed for this position
"HintText" : "Customer price 3.56€",  // Hint text for this position
"BinNumber" : "1"
}
]
}
Example: https://<server>/rest/Picklist/GetNextPicklist?AccessToken=“GHFDT-G6RT7-KI79R“

ReturnPicklistResult (POST)

LiveBooking = 0 – When the complete picklist was picked, return the results for all picked items.

Parameter:

AccessToken            Get from „/rest/Picklist/Login“

Json in Body

{
"PickListNumber" : "1XYZ2345",          // From GetNextPicklist
"ContainerNumber" : "XY9863",           // Container to collect items (Shopping Cart)
"Items" : 
[
{
"ItemID" : 123,              // ID of the Item (Number) 
"Area" : "Second floor",     // Area in Store (Text)
"Zone" : "zone name",        // Zone in the Area (Text)
"Place" : "place name",      // Picking place (Text)
"ArticleText" : "Nutella",   // Article Text, e.g. Name (Text)
"SKU" : "1Xy3456",           // Article Number (Text)
"Quantity" : 3,              // How many pieces to pick (Number)
"Barcode" : "X987654",       // Article Barcode which was scanned (!), EAN13 (Text) 
"ReplacerAllowed" : 1,       // This Item may be replaced by a different product (0 or 1)
"IsReplacerItem" : 1,        // This is a replacement for another product (0 or 1)
"PickedQuantity" : 5,        // How many pieces were picked
}
]
}

Return Json

{
"ErrorCode" : 0,                                    // 0=Ok, >0 Error (Number)
"Message" : "Oops!"                                 // Some error message (Text)
"PickingContainerDestination" : "Packing Area"      // This is where the container shall be parked
}
Example: https://<server>/rest/Picklist/ReturnPicklistResult?AccessToken=“GHFDT-G6RT7-KI79R“

ReturnSinglePickResult (POST)

LiveBooking = 1 – Return pick result fo ONE item

Parameter:

AccessToken            Get from „/rest/Picklist/Login“

Json in Body

 

so:

 

{

„PickListNumber“ : "XCY12345",       // From GetNextPicklist
"PickingContainerNumber" : "XT123",  // From CheckPickingContainerBarcode. Container to collect items (Shopping Cart)
"ItemID" : 123,                      // ID of the Item (Number)
"SourcePlace" : "place name",        // Result from CheckPlacebarcode PLACE
"SourceContainerNumber" : "POP784",  // Result from CheckPlaceBarcode CONTAINERNUMBER
"SKU" : "1Xy3456",                   // Article Number (Text)
"Quantity" : 3,                      // How many pieces to pick (Number)
"Barcode" : "X987654",               // Article Barcode which was scanned (!), EAN13 (Text)
"ReplacerAllowed" : 1,               // This Item may be replaced by a different product (0 or 1)
"IsReplacerItem" : 1,                // This is a replacement for another product (0 or 1)
"PickedQuantity" : 5 ,               // How many pieces were picked
"BinNumber" : "2",                   // To which bin did we put the item
"ZeroPickReason" : "Some Text"       // if AllowZeroPick=1 AND pickedQuantity=0 (Why did the user not pick any item)
}


Return Json

{
"ErrorCode" : 0,             // 0=Ok, >0 Error (Number)
"Message" : "Oops!"      // Some error message (Text)
}
Example: https://<server>/rest/Picklist/ReturnSinglePickResult?AccessToken=“GHFDT-G6RT7-KI79R“

CheckPlaceBarcode (GET)

LiveBooking = 1 – Check if the picker is at the correct place

Parameter:

AccessToken            Get from „/rest/Picklist/Login“
Barcode                Scanned Barcode (Text)
BarcodeType            Type of scanned barcode (from Scan Engine): EAN13, EAN128, CODE128, OTHER (TEXT)
ItemID                 id of position of the Item in the picklist (Number)

Return Json

{
"ErrorCode" : 0,             // 0=Ok, >0 Error (Number)
"Message" : "Oops!",     // Some error message (Text)
"Place" : "ABCD123456"       // Place name from scan
"ContainerNumber" : "XKO=77" // Can be empty. If the user scanned a container instead of place
}
Example: https://<server>/rest/Picklist/CheckPlaceBarcode?AccessToken=“GHFDT-G6RT7-KI79R“&Barcode="XY1234567"&BarcodeType="EAN13"&ItemID=5

CheckItemBarcode (GET)

LiveBooking = 1 – Check scanned barcode, return SKU

Parameter:

AccessToken            Get from „/rest/Picklist/Login“
Barcode                Scanned Barcode (Text)
BarcodeType            Type of scanned barcode (from Scan Engine): EAN13, EAN128, CODE128, OTHER
ItemID                 id of position of the Item in the picklist (Number)

Return Json

{
"ErrorCode" : 0,             // 0=Ok, >0 Error (Number)
"Message" : "Oops!",     // Some error message (Text)
"SKU" : "ABCD123456"         // Scanned SKU, App needs to check if this is correct
}
Example: https://<server>/rest/Picklist/CheckItemBarcode?AccessToken=“GHFDT-G6RT7-KI79R“&Barcode="XY1234567"&BarcodeType="EAN13"&ItemID=5

CheckPickingContainerBarcode (GET)

LiveBooking = 1 – Check the barcode of the container where the picker puts all picked items, for example a shopping cart

Parameter:

AccessToken            Get from „/rest/Picklist/Login“
Barcode                Scanned Barcode (Text)
BarcodeType            Type of scanned barcode (from Scan Engine): EAN13, EAN128, CODE128, OTHER


Return Json

{
"ErrorCode" : 0,                       // 0=Ok, >0 Error (Number)
"Message" : "Oops!",                   // Some error message (Text)
"PickingContainerNumber" : "ABCD123456",       // Picking place name from scan (Text)
"ContainerStruct":                     // if MultiOrder we need Bins in the Container
[                                     
{"BinNumber" : "1", "Barcode" : "123456789"},
{"BinNumber" : "2", "Barcode" : "234567890"},
{...}
]
}
Example: https://<server>/rest/Picklist/CheckPickingContainerBarcode?AccessToken=“GHFDT-G6RT7-KI79R“&Barcode="XY1234567"&BarcodeType="EAN13"

ClosePicklist (Post)

LiveBooking = 1 – Close the picklist, no matter if it’s complete or not

Parameter:

AccessToken            Get from „/rest/Picklist/Login“
PicklistNumber         from GetNetxtPicklist

Return Json

{
"ErrorCode" : 0,                                    // 0=Ok, >0 Error (Number)
"Message" : "Oops!",                                // Some error message (Text)
"PickingContainerDestination" : "Packing Area"      // This is where the container is to be parked.
}
Example: https://<server>/rest/Picklist/ClosePicklist?AccessToken=“GHFDT-G6RT7-KI79R“&PicklistNumber=“XCY12345“

 


GetZeroPickSelection (GET)

Parameter

AccessToken Received from "/rest/Picklist/Login“

Return Json:

{
"ErrorCode" : 0, // 0=Ok, >0 Error
"Message": "Oops!", // an error message
"Items":
[
{
"ReasonText" : "Place is empty", // Text to be displayed
"ReasonCode" : "Empty" // The reason that is returned via the request ReturnSinglePickResult-> "ZeroPickReason"
},
{
"ReasonText" : "Wrong Item at place",
"ReasonCode" : "Wrong Item"
},
{
"ReasonText" : "Items damaged",
"ReasonCode" : "Items damaged"
}
]
}

Example: https://<server>/rest/Picklist/GetZeroPickSelection?AccessToken=“GHFDT-G6RT7-KI79R“