Picklists

Picklists are generated by Picqer when an order is closed or when backorders are processed. Picklists are orders that need to be collected in the warehouse and be send to the customer.

We have a seperate page about picklist batches in the API.

Attributes

Name Type Description
idpicklist integer Unique Picqer reference
picklistid string Per-account picklist ID
idcustomer integer Linked to resource Customers
idorder integer Linked to resource Orders
idreturn integer Linked to resource Returns
idwarehouse integer Linked to resource Warehouse
idtemplate integer Linked to resource Templates
idpicklist_batch integer Linked to resource Picklist Batches
idshippingprovider_profile integer Optional. The preferred shipping provider profile for this picklist
deliveryname string Defined in Order resource
deliverycontact string Defined in Order resource
deliveryaddress string Defined in Order resource
deliveryaddress2 string Defined in Order resource
deliveryzipcode string Defined in Order resource
deliverycity string Defined in Order resource
deliveryregion string Defined in Order resource
deliverycountry string Defined in Order resource, 2-letter ISO country code
telephone string
emailaddress string
reference string Defined in Order resource
assigned_to_iduser integer Linked to User resource that is responsible for this picklist
invoiced boolean Is this picklist invoiced yet
urgent boolean Is this picklist marked as urgent
preferred_delivery_date date If the customer requested a preferred delivery date
status string What is the status of this picklist: new, paused, closed, snoozed, cancelled
totalproducts integer Amount of products on this picklist
totalpicked integer Amount of products that are already picked
weight integer Total weight of picklist
snoozed_until datetime If a picklist is snoozed, it will be unsnoozed at this moment
closed_by_iduser integer If picklist is closed, which User closed it
closed_at datetime Moment this picklist was closed
created datetime Moment this picklist was created
updated datetime Last moment this picklist was changed
idfulfilment_customer integer Only for Picqer Fulfilment: Linked to belonging fulfilment customer
products array Collection of all products in this picklist
products.idproduct integer Linked to Product resource
products.idorder_product integer Linked to the order line that resulted in this picklist line. Can be null if this picklist is from a return
products.idreturn_product_replacement integer Linked to the product replacement of a return that resulted in this picklist line. Can be null if this picklist is from a order
products.idvatgroup integer Linked to VAT group resource
products.productcode string
products.name string
products.remarks string
products.amount integer Total amount needed
products.amount_picked integer Amount already picked
products.price float Price per product
products.weight integer Weight in grams per product
products.stock_location string Location name for this product in this warehouse
products.pick_locations array Collection of locations where the product should be picked
products.pick_locations.idlocation integer Linked to Location resource that contains the stock that should be picked
products.pick_locations.name string The name of the linked location
products.pick_locations.amount amount The amount that should be picked from the location

A note about pick locations: The pick locations are automatically determined by Picqer when a picklist is created. The pick locations assigned to a picklist product can however change when stock is moved between locations.

It is also possible that the sum of the products.pick_locations.amount does not equal the amount of a product itself. This happens when some stock for a product is not registered on a specific location.

Get all picklists

GET https://example.picqer.com/api/v1/picklists
HTTP/1.1 200 OK [ { "idpicklist":76859, "picklistid":"20140095", "idcustomer":5621, "idorder":119087, "idreturn":null, "idwarehouse":18, "idtemplate":2, "idpicklist_batch": 3, "idshippingprovider_profile": null, "deliveryname":"Desmonds Formal Wear", "deliverycontact":null, "deliveryaddress":"Emmerikseweg 57", "deliveryaddress2":null, "deliveryzipcode":"7077 AP", "deliverycity":"Netterden", "deliveryregion":null, "deliverycountry":"NL", "emailaddress":"YassinevanLingen@mailinator.com", "telephone": null, "reference": "", "assigned_to_iduser": null, "invoiced":false, "urgent":false, "status":"new", "totalproducts":2, "totalpicked":0, "weight":10200, "snoozed_until": null, "closed_by_iduser":null, "closed_at":null, "created":"2014-08-19 12:13:38", "updated":"2014-08-19 12:13:38", "products":[ { "idpicklist_product": 611, "idproduct":147, "idorder_product": 1008, "idreturn_product_replacement": null, "idvatgroup":18, "productcode":"502.052.16", "name":"SUNDEROe", "remarks":"", "amount":1, "amount_picked":0, "price":69.95, "weight":10200, "stocklocation":"Plein C", "partof_idpicklist_product": null, "has_parts": false, "pick_locations": [ { "idlocation": 255, "name": "A.4.5.3", "amount": 1 } ] }, { "idpicklist_product": 612, "idproduct":126654, "idorder_product": 1009, "idreturn_product_replacement": null, "idvatgroup":18, "productcode":"1318512", "name":"4GB DDR3 PC10600\/1333Mhz REG ECC MEMORY (x4)", "remarks":null, "amount":1, "amount_picked":0, "price":0, "weight":0, "stocklocation":null, "partof_idpicklist_product": null, "has_parts": false, "pick_locations": [ { "idlocation": 256, "name": "A.4.5.4", "amount": 1 } ] } ] } ]
This endpoint uses pagination.

Filters

You can filter the picklists with the following parameters. Add these filters as querystring parameters to the URL.

Attribute Description Example
sinceid Get picklists after this idpicklist
sincedate Get picklists created after this datetime 2018-01-01 12:00:00
untildate Get picklists created before this datetime 2018-01-01 12:00:00
closed_after Get picklists closed after this datetime 2018-01-01 12:00:00
closed_before Get picklists closed before this datetime 2018-01-01 12:00:00
picklistid Get picklist with the provided picklistid. P2015-90282
assigned_to_iduser Get picklists that are assigned to this iduser. 28190
idwarehouse Get picklists for this idwarehouse. 28190
status Get picklists with this status. new, paused, closed, snoozed or cancelled

Get single picklist

GET https://example.picqer.com/api/v1/picklists/{idpicklist}
HTTP/1.1 200 OK { "idpicklist":76859, "picklistid":"20140095", "idcustomer":5621, "idorder":119087, "idreturn":null, "idwarehouse":18, "idtemplate":2, "idpicklist_batch": 3, "idshippingprovider_profile":null, "deliveryname":"Desmonds Formal Wear", "deliverycontact":"", "deliveryaddress":"Emmerikseweg 57", "deliveryaddress2":"", "deliveryzipcode":"7077 AP", "deliverycity":"Netterden", "deliveryregion":null, "deliverycountry":"NL", "emailaddress":"YassinevanLingen@mailinator.com", "telephone": null, "reference": "", "assigned_to_iduser": null, "invoiced":false, "urgent":false, "status":"new", "totalproducts":2, "totalpicked":0, "weight":10200, "snoozed_until": null, "created":"2014-08-19 12:13:38", "updated":"2014-08-19 12:13:38", "products":[ { "idpicklist_product": 611, "idproduct":147, "idorder_product": 1008, "idreturn_product_replacement": null, "idvatgroup":18, "productcode":"502.052.16", "name":"SUNDEROe", "remarks":"", "amount":1, "amount_picked":0, "price":69.95, "weight":10200, "stocklocation":"Plein C", "partof_idpicklist_product": null, "has_parts": false, "pick_locations": [ { "idlocation": 255, "name": "A.4.5.3", "amount": 1 } ] }, { "idpicklist_product": 612, "idproduct":126654, "idorder_product": 1009, "idreturn_product_replacement": null, "idvatgroup":18, "productcode":"1318512", "name":"4GB DDR3 PC10600\/1333Mhz REG ECC MEMORY (x4)", "remarks":null, "amount":1, "amount_picked":0, "price":0, "weight":0, "stocklocation":null, "partof_idpicklist_product": null, "has_parts": false, "pick_locations": [ { "idlocation": 256, "name": "A.4.5.4", "amount": 1 } ] } ] }

Update picklist

At this moment you can only update these fields of picklists.

  • urgent
  • invoiced
  • idshippingprovider_profile
PUT https://example.picqer.com/api/v1/picklists/{idpicklist}
{ "urgent": true }
HTTP/1.1 200 OK { "idpicklist":76859, "picklistid":"20140095", ... "urgent":true, "status":"new", ... }

Close a picklist

A picklist is closed automatically when a shipment is created while all products are picked. If you want to close a picklist without creating a shipment, you can use this endpoint for closing the picklist manually.

POST https://example.picqer.com/api/v1/picklists/{idpicklist}/close
HTTP/1.1 200 OK { "idpicklist":76859, "picklistid":"20140095", "idcustomer":5621, "idorder":119087, "idwarehouse":18, "idtemplate":2, "idpicklist_batch": 3, "deliveryname":"Desmonds Formal Wear", "deliverycontact":"", "deliveryaddress":"Emmerikseweg 57", "deliveryaddress2":"", "deliveryzipcode":"7077 AP", "deliverycity":"Netterden", "deliveryregion":null, "deliverycountry":"NL", "emailaddress":"YassinevanLingen@mailinator.com", "telephone": null, "reference": "", "assigned_to_iduser": null, "invoiced":false, "status":"closed", "totalproducts":2, "totalpicked":0, "weight":10200, "snoozed_until": null, "created":"2014-08-19 12:13:38", "updated":"2014-08-19 12:13:38", "products":[ { "idproduct":147, "idvatgroup":18, "productcode":"502.052.16", "name":"SUNDEROe", "remarks":"", "amount":1, "amount_picked":0, "price":69.95, "weight":10200, "stocklocation":"Plein C" }, { "idproduct":126654, "idvatgroup":18, "productcode":"1318512", "name":"4GB DDR3 PC10600\/1333Mhz REG ECC MEMORY (x4)", "remarks":null, "amount":1, "amount_picked":0, "price":0, "weight":0, "stocklocation":null } ] }

Pick a product from the picklist

To notify to Picqer which products are picked, you can send it 'pick' notifies. As parameters, either idpicklist_product or product and amount are required.

To undo a pick action, use idpicklist_product to specify which picklist line should be 'unpicked' and enter a negative amount.

  • The product parameter expects the productcode, barcode or supplier's productcode of the product you want to pick. This can involve several picklist lines as it is technically possible to have a product on a picklist multiple times. Only products that have not been fully picked yet will be found.
  • The idpicklist_product parameter specifies the picklist line. This will yield a maximum of one line.
  • The amount parameter can be a number or the text 'all' to indicate you want to pick the total amount of products with this productcode.
POST https://example.picqer.com/api/v1/picklists/{idpicklist}/pick
{ "product": "502.052.16", "amount": 1 }
HTTP/1.1 200 OK { "idpicklist":76859, "picklistid":"20140095", "idcustomer":5621, "idorder":119087, "idwarehouse":18, "idtemplate":2, "idpicklist_batch": 3, "deliveryname":"Desmonds Formal Wear", "deliverycontact":"", "deliveryaddress":"Emmerikseweg 57", "deliveryaddress2":"", "deliveryzipcode":"7077 AP", "deliverycity":"Netterden", "deliveryregion":null, "deliverycountry":"NL", "emailaddress":"YassinevanLingen@mailinator.com", "telephone": null, "reference": "", "assigned_to_iduser": null, "invoiced":false, "status":"new", "totalproducts":2, "totalpicked":1, "weight":10200, "created":"2014-08-19 12:13:38", "updated":"2014-08-19 12:13:38", "products":[ { "idproduct":147, "idvatgroup":18, "productcode":"502.052.16", "name":"SUNDEROe", "remarks":"", "amount":1, "amount_picked":1, "price":69.95, "weight":10200, "stocklocation":"Plein C" }, { "idproduct":126654, "idvatgroup":18, "productcode":"1318512", "name":"4GB DDR3 PC10600\/1333Mhz REG ECC MEMORY (x4)", "remarks":null, "amount":1, "amount_picked":0, "price":0, "weight":0, "stocklocation":null } ] }

Pick all products from the picklist

With this one call, you can mark all products from a picklist as picked.

POST https://example.picqer.com/api/v1/picklists/{idpicklist}/pickall
HTTP/1.1 200 OK { "idpicklist":76859, "picklistid":"20140095", "idcustomer":5621, "idorder":119087, "idwarehouse":18, "idtemplate":2, "idpicklist_batch": 3, "deliveryname":"Desmonds Formal Wear", "deliverycontact":"", "deliveryaddress":"Emmerikseweg 57", "deliveryaddress2":"", "deliveryzipcode":"7077 AP", "deliverycity":"Netterden", "deliveryregion":null, "deliverycountry":"NL", "emailaddress":"YassinevanLingen@mailinator.com", "telephone": null, "reference": "", "assigned_to_iduser": null, "invoiced":false, "status":"new", "totalproducts":2, "totalpicked":2, "weight":10200, "created":"2014-08-19 12:13:38", "updated":"2014-08-19 12:13:38", "products":[ { "idproduct":147, "idvatgroup":18, "productcode":"502.052.16", "name":"SUNDEROe", "remarks":"", "amount":1, "amount_picked":1, "price":69.95, "weight":10200, "stocklocation":"Plein C" }, { "idproduct":126654, "idvatgroup":18, "productcode":"1318512", "name":"4GB DDR3 PC10600\/1333Mhz REG ECC MEMORY (x4)", "remarks":null, "amount":1, "amount_picked":2, "price":0, "weight":0, "stocklocation":null } ] }

Change pick locations on the picklist

With this call, you can change the pick locations for a single product row (picklist product) on a picklist.

You can provide multiple locations for one picklist product. The total amount across all locations must be equal to the amount to be picked.

The provided locations must be linked to the product and have sufficient stock available.

Name Type Description
idlocation integer Linked to resource Locations
amount integer Amount to be picked from this location
PUT https://example.picqer.com/api/v1/picklists/{idpicklist}/products/{idpicklist_product}/pick_locations
[ { "idlocation": 10, "amount": 2 }, { "idlocation": 9, "amount": 1 } ]
HTTP/1.1 200 OK [ { "idlocation": 3342397, "amount": 3 }, { "idlocation": 3342395, "amount": 1 } ]

Shipments

More information about shipments and creating a shipment, can be found on the Picklist Shipments page.

Assign a user to picklist

POST https://example.picqer.com/api/v1/picklists/{idpicklist}/assign
{ "iduser": 2991 }
HTTP/1.1 200 OK { "idpicklist":76859, "picklistid":"20140095", "idcustomer":5621, "idorder":119087, "idwarehouse":18, "idtemplate":2, "idpicklist_batch": 3, "deliveryname":"Desmonds Formal Wear", "deliverycontact":"", "deliveryaddress":"Emmerikseweg 57", "deliveryaddress2":"", "deliveryzipcode":"7077 AP", "deliverycity":"Netterden", "deliveryregion":null, "deliverycountry":"NL", "emailaddress":"YassinevanLingen@mailinator.com", "telephone": null, "reference": "", "assigned_to_iduser": 2991, "invoiced":false, ... }

Unassign a user to picklist

POST https://example.picqer.com/api/v1/picklists/{idpicklist}/unassign
HTTP/1.1 200 OK { "idpicklist":76859, "picklistid":"20140095", "idcustomer":5621, "idorder":119087, "idwarehouse":18, "idtemplate":2, "idpicklist_batch": 3, "deliveryname":"Desmonds Formal Wear", "deliverycontact":"", "deliveryaddress":"Emmerikseweg 57", "deliveryaddress2":"", "deliveryzipcode":"7077 AP", "deliverycity":"Netterden", "deliveryregion":null, "deliverycountry":"NL", "emailaddress":"YassinevanLingen@mailinator.com", "telephone": null, "reference": "", "assigned_to_iduser": null, "invoiced":false, ... }

Get PDF of picklist

PDF of a picklist can be retrieved as a base64 encoded document in JSON, or as a direct PDF document.

If the header Accept: application/json is given in the request, we will give you a response as shown below. Otherwise we will send you the PDF document directly with an Content-Type: application/pdf header as response.

GET https://example.picqer.com/api/v1/picklists/{idpicklist}/picklistpdf
HTTP/1.1 200 OK { "idpicklist": 76859, "pdf": "JVBERi0xLjMKMSAwIG9iago8PCAvVHlwZSAvQ2F..." }

Get PDF of packinglist

Same thing applies as with a picklist PDF (see above), but with a different endpoint.

GET https://example.picqer.com/api/v1/picklists/{idpicklist}/packinglistpdf

Snooze picklist

You can snooze open picklists. This picklist will be hidden from the list of picklists and will reappear on the given moment.

You can 'unsnooze' a snoozen picklist by posting "snooze_until" with null.

POST https://example.picqer.com/api/v1/picklists/{idpicklist}/snooze
{ "snooze_until": "2017-03-01 12:00:00" }
HTTP/1.1 200 OK { "idpicklist":76859, "picklistid":"20140095", "idcustomer":5621, "idorder":119087, "idwarehouse":18, "idtemplate":2, "idpicklist_batch": 3, "deliveryname":"Desmonds Formal Wear", "deliverycontact":"", "deliveryaddress":"Emmerikseweg 57", "deliveryaddress2":"", "deliveryzipcode":"7077 AP", "deliverycity":"Netterden", "deliverycountry":"NL", "emailaddress":"YassinevanLingen@mailinator.com", "telephone": null, "reference": "", "assigned_to_iduser": 2991, "invoiced":false, "snooze_until": "2017-03-01 12:00:00", "status": "snoozed", ... }

Pause picklist

You can pause picklists with the status new. This means, among other things, that this picklist is detached from, and no longer available for, batches. Also, the assigned user is unlinked, shipments can no longer be created, and the picklist cannot be closed.

A reason for pausing is required. Read more about pausing in this support article

POST https://example.picqer.com/api/v1/picklists/{idpicklist}/pause
{ "reason": "A reason for pausing" }
HTTP/1.1 200 OK { "idpicklist":76859, ... }

Resume picklist

Paused picklists, that are part of an order that is not paused, can be individually resumed. This will put the status back to the status 'new' and will, among other things, make the picklist available for batches and make it possible to create shipments again. Read more about pausing and resuming here

POST https://example.picqer.com/api/v1/picklists/{idpicklist}/resume
HTTP/1.1 200 OK { "idpicklist":76859, ... }

Cancel picklist

This cancels a picklist. Picklist products will be converted into backorders.

Warning: Cancelling an already closed picklist will re-add product to the stock and remove any shipments attached to this picklist.

POST https://example.picqer.com/api/v1/picklists/{idpicklist}/cancel

Comments

Comments are supported for picklists.

Read more Batches