Lully API (order-each-picking-v1)

Download OpenAPI specification:Download

Lully API for warehouse order-picking optimization. 🚀

Submit Pick Optimizer Job

Authorizations:
APIKeyQuery
Request Body schema: application/json
required
message_datetime
string (Message Datetime)

Optional: This datetime will be automatically filled but can also be given as input. When given as input it will remain unaltered.

correlation_id
string (Correlation Id) <= 10000 characters

Optional: Identifier that will be returned when requesting the solution. This can make data management easier. This is a string field so a JSON can also be supplied. Be sure not to exceed the maximum length!

object (Hook Url Config)

Optional: The results for this API requests can be fetched after they are available. Alternatively, a web hook can be provided here. When the request has been fully processed, the result will be sent to this hook address in an http POST request with the result in the body of the request in JSON format. The same result can still be fetched using the /order-each-picking/v1/Pick_Optimizer/Response endpoint.

hook_email
string (Hook Email)

Optional: The results for this API requests can be fetched after they are available. Alternatively, an email hook can be provided here. When the request has been fully processed, the result will be sent to this email address in the form of a .csv file The same result can still be fetched using the /order-each-picking/v1/Pick_Optimizer/Response endpoint.

customer_site
required
string (Customer Site)

Required: Your location site name

enforce_static_cart_pathing
boolean (Enforce Static Cart Pathing)
Default: false

Optional: The Pick Optimizer has the ability to make sure that all items that are assigned to the same cart will be picked in a certain order. This is called static cart pathing. When enabled, entries in the order_items field are required to contain the pick_sequence_id field. This field will then be used to make sure that all items within the same cart will be visited in the correct order determined by their pick_sequence_id. When the pick_sequence_id is an int, the picks within the same cart will be in ascending order of this id. When this id is a str, then the picks within the same cart will be sorted in alphabetical order of this id.

object (Sla Management Config)

Optional: A request can contain orders with higher priority than others and sometimes these orders need a guarantee to be processed before others. This field tells the Optimizer how to enforce priority. The first field here is the order_line_processing_capacity. It tells the Optimizer how many order lines from this request can be processed. If you use the Optimizer once per hour, then this value needs to represent the amount of order lines that can be processed per hour. If you use the Optimizer one time per shift, then this value needs to represent the amount of order lines that can be processed within a shift. The second field that defines the sla management is the priority_definitions field. It describes the priority for orders that are scheduled before a specific time. Each entry contains a priority_group and a priority_order_percentage_requirement. When there is an entry with value {"priority_group": 0, "priority_order_percentage_requirement": 90} it means that 90% of the order items in priority group 0 (as specified by the optional priority_group field in the order_item list) need to be processed within the first n order items, wher n is the specified order_line_processing_capacity.

object (Product To Location Mapping)

Optional: The pick_location_id of an order item specifies which location a picker needs to go to in order to pick that order item. Using this field, the Optimizer can be instructed to choose the location of picks based on inventory availability, i.e. allocation. In this map, every key represents a product_id and the value represents the locations and availabilities per location of that product.

required
Array of objects (Order Items)

Expand for more info. Required: A list of type pick optimizer order item line. Each line specifies one or more items that need to be picked. The order_id field specifies which order this line belongs to. The product_id field specifies which product is associated with this order line. The planned_pick_quantity specifies the amount of this product within this order are represented by this order line. The pick_location_id indicates the named location of this order item. The Pick Optimizer will use the pick_location_id to make sure that efficient paths are taken by carts. The pick_sequence_id is only required when using static cart pathing and is used to enforce the priority (within the same cart) with which the items are picked in.

Responses

Request samples

Content type
application/json
{
  • "message_datetime": "string",
  • "correlation_id": "string",
  • "hook_url_config": {
    },
  • "hook_email": "string",
  • "customer_site": "Warehouse1",
  • "enforce_static_cart_pathing": false,
  • "sla_management_config": {
    },
  • "product_to_location_mapping": {
    },
  • "order_items": [
    ]
}

Response samples

Content type
application/json
{
  • "job_id": "string"
}

Get Pick Optimizer Result

Authorizations:
APIKeyQuery
Request Body schema: application/json
required
job_id
required
string (Job Id)

Required: the job_id received when successfully submitting a job at /order-each-picking/v1/Pick_Optimizer/Request. If you requested this result before and saved the response then this id can be found in the response you received from `/order-each-picking/v1/Pick_Optimizer/Response

Responses

Request samples

Content type
application/json
{
  • "job_id": "string"
}

Response samples

Content type
application/json
Example
null