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.
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
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
}
]
}
]
}
]
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
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
}
]
}
]
}
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",
...
}
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
}
]
}
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
}
]
}
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
}
]
}
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
}
]
More information about shipments and creating a shipment, can be found on the Picklist Shipments page.
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,
...
}
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,
...
}
PDF of a picklist can be retrieved as a base64 encoded document in JSON, or as a direct PDF document.
If the header 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 header as response.
GET
https://example.picqer.com/api/v1/picklists/{idpicklist}/picklistpdf
HTTP/1.1 200 OK
{
"idpicklist": 76859,
"pdf": "JVBERi0xLjMKMSAwIG9iago8PCAvVHlwZSAvQ2F..."
}
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
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",
...
}
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,
...
}
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,
...
}
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 are supported for picklists.