Picklist Shipments

You can create shipment requests for a picklist through the API. This will request the label at the given shipping provider, like PostNL.

Attributes

Name Type Description
idshipment integer Unique Picqer reference
idpicklist integer Picklist where this shipment is for
idorder integer Order where this shipment is for
idreturn integer Return where this shipment is for
idpackaging integer Packaging used for this shipment
idcompany_shippingprovider integer Shipping provider used to create this order
provider string Name of the shipping provider
providername string User-defined name for this provider
public_providername string Name for the 'service' or provider that is known to the public
carrier_key string Identifier of the carrier used for this shipment, see carrier keys
weight integer Weight in grams as filled in during the shipment creation and communicated to the shipping provider. Can be null when the shipment is older than December 4th 2023.
cancelled boolean Is this shipment cancelled? Can be done within 5 minutes after creation.
idfulfilment_customer integer Only for Picqer Fulfilment: Linked to belonging fulfilment customer
parcels array A shipment consists of one or more parcels.
parcels.idparcel integer Unique identifier of the parcel.
parcels.idpackaging integer Packaging used for this parcel.
parcels.weight integer Weight in grams.
parcels.tracking_code string Tracking number provided by the shipping provider for this parcel.
parcels.tracking_url string Publicly accessible URL where the customer can track the parcel.
parcels.documents array Each parcel can have zero or more documents attached, such as a shipping label.
parcels.documents.idparcel_document integer Unique identifier of the document.
parcels.documents.type string Document type: label, customs, or other.
parcels.documents.size string Document size: A6 or A4.
parcels.documents.format string Document format: pdf or zpl.
parcels.documents.url string Publicly accessible URL where the document can be downloaded.

Get all shipments

GET https://example.picqer.com/api/v1/shipments
HTTP/1.1 200 OK [ { "idshipment": 19, "idpicklist": 439, "idorder": 1218, "idreturn": null, "idpackaging": 34, "idshippingprovider": 2, "idcompany_shippingprovider": 2, "idcompany_shippingprovider_profile": 2, "provider": "PostNL", "providername": "PostNL", "public_providername": "PostNL", "profile_name": "Standaard", "carrier_key": "postnl", "weight": 2000, "created_by_iduser": 1, "cancelled": false, "created": "2021-06-08 11:40:36", "updated": "2021-06-08 11:40:36", "idfulfilment_customer": null, "parcels": [ { "idparcel": 66, "idpackaging": null, "weight": 1000, "tracking_code": "3SMYPO8610972", "tracking_url": "https://shipping.com/3SMYPO8610972", "documents": [ { "idparcel_document": 67, "type": "label", "size": "A6", "format": "pdf", "url": "https://example.com/label.pdf" } ] } ] } ]
This endpoint uses pagination.

Filters

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

Attribute Description Example
search Search through the trackingcode fields and the delivery name of picklists the shipments are for. 3SDEVC931341234
sincedate Get shipments created after this datetime 2025-01-01 12:00:00
untildate Get shipments created before this datetime 2025-01-01 12:00:00

Get single shipment

GET https://example.picqer.com/api/v1/shipments/{idshipment}
HTTP/1.1 200 OK { "idshipment": 19, "idpicklist": 439, "idorder": 1218, "idreturn": null, "idpackaging": 34, "idshippingprovider": 2, "idcompany_shippingprovider": 2, "idcompany_shippingprovider_profile": 2, "provider": "PostNL", "providername": "PostNL", "public_providername": "PostNL", "profile_name": "Standaard", "carrier_key": "postnl", "weight": 2000, "created_by_iduser": 1, "cancelled": false, "parcels": [ { "idparcel": 66, "idpackaging": null, "weight": 1000, "tracking_code": "3SMYPO8610972", "tracking_url": "https://shipping.com/3SMYPO8610972", "documents": [ { "idparcel_document": 67, "type": "label", "size": "A6", "format": "pdf", "url": "https://example.com/label.pdf" } ] } ], "created": "2021-06-08 11:40:36", "updated": "2021-06-08 11:40:36" }

Get shipments for picklist

GET https://example.picqer.com/api/v1/picklists/{idpicklist}/shipments
HTTP/1.1 200 OK [ { "idshipment": 19, "idpicklist": 439, "idorder": 1218, "idreturn": null, "idpackaging": 34, "idshippingprovider": 2, "idcompany_shippingprovider": 2, "idcompany_shippingprovider_profile": 2, "provider": "PostNL", "providername": "PostNL", "public_providername": "PostNL", "profile_name": "Standaard", "carrier_key": "postnl", "weight": 2000, "created_by_iduser": 1, "cancelled": false, "parcels": [ { "idparcel": 66, "idpackaging": null, "weight": 1000, "tracking_code": "3SMYPO8610972", "tracking_url": "https://shipping.com/3SMYPO8610972", "documents": [ { "idparcel_document": 67, "type": "label", "size": "A6", "format": "pdf", "url": "https://example.com/label.pdf" } ] } ], "created": "2021-06-08 11:40:36", "updated": "2021-06-08 11:40:36" } ]

Get allowed shipping methods for picklist

This gives a list of shipping methods that are allowed for this picklist, including which one is the default selected method for this picklist.

GET https://example.picqer.com/api/v1/picklists/{idpicklist}/shippingmethods
HTTP/1.1 200 OK [ { "idshippingprovider_profile": 1287, "name": "PostNL - EU Pack Special", "provider": "PostNL", "selected": false, "extra_fields": [] }, { "idshippingprovider_profile": 1365, "name": "PostNL - Nederland", "provider": "PostNL", "selected": true, "extra_fields": [] } ]

Create a shipment

When you create a shipment, we will send the request to the shipping provider. In most cases this is an external party. This means that processing the request can take up to 20 seconds. Once you receive a 201 CREATED response, the shipment has been created successfully and the response will contain the body of the picklist. To retrieve the details of the created shipment, you can send a GET request to retrieve the shipments from the picklist. If the shipment cannot be created, the response will contain the error from the shipping provider.

If all products are picked while you create a shipment, the picklist status will change to 'closed' automatically.

If you create a shipment with the shipping provider 'Manual', you can provide the track & trace code by using the code parameter within the extrafields key.

If you are using an API key, the shipping label is sent to the shipping label printer of the packing station that is linked to the oldest admin user.

We recommend adding the query parameter return=shipment to get the shipment as response. Otherwise, you will get the full picklist details as a response without details about the created shipment.

POST https://example.picqer.com/api/v1/picklists/{idpicklist}/shipments?return=shipment
{ "idshippingprofile": 1365, "idpackaging": 34, "weight": 1000, "extrafields": { "code": "3SDEVC417358420" } }
HTTP/1.1 201 Created { "idshipment": 9273458, "idpicklist": 1743677, "idorder": 362231, "idreturn": null, "idpackaging": 34, "idshippingprovider": 9, "idcompany_shippingprovider": 273, "idcompany_shippingprovider_profile": 8273, "provider": "PostNL", "providername": "PostNL", "public_providername": "PostNL", "profile_name": "Example", "carrier_key": "postal", "weight": 1000, "created_by_iduser": 22313, "cancelled": false, "parcels": [ { "idparcel": 66, "idpackaging": null, "weight": 1000, "tracking_code": "3SMYPO8610972", "tracking_url": "https://shipping.com/3SMYPO8610972", "documents": [ { "idparcel_document": 67, "type": "label", "size": "A6", "format": "pdf", "url": "https://example.com/label.pdf" } ] } ], "created": "2025-02-14 13:28:20", "updated": "2025-02-14 13:28:20" }

Create a multicolli shipment

Some shipping providers support multicolli shipments. If your shipping provider supports multicolli, you can create such shipments via the API.

Creating a multicolli shipment is similar to creating a standard shipment, as described above. The main difference is that you must specify how many parcels the shipment contains. This is done using the parcels parameter, which should be an array containing an object for each parcel.

Note that, at present, all parcels are required to have the same packaging and weight.

POST https://example.picqer.com/api/v1/picklists/{idpicklist}/shipments?return=shipment
{ "idshippingprofile": 1365, "extrafields": { "code": "3SDEVC417358420" }, "parcels": [ { "idpackaging": 34, "weight": 1000, }, { "idpackaging": 34, "weight": 1000, } ] }
HTTP/1.1 201 Created { "idshipment": 9273458, "idpicklist": 1743677, "idorder": 362231, "idreturn": null, "idpackaging": 34, "idshippingprovider": 9, "idcompany_shippingprovider": 273, "idcompany_shippingprovider_profile": 8273, "provider": "PostNL", "providername": "PostNL", "public_providername": "PostNL", "profile_name": "Example", "carrier_key": "postal", "weight": 1000, "created_by_iduser": 22313, "cancelled": false, "parcels": [ { "idparcel": 66, "idpackaging": 34, "weight": 1000, "tracking_code": "3SMYPO8610972", "tracking_url": "https://shipping.com/3SMYPO8610972", "documents": [ { "idparcel_document": 67, "type": "label", "size": "A6", "format": "pdf", "url": "https://example.com/label1.pdf" } ] }, { "idparcel": 67, "idpackaging": 34, "weight": 1000, "tracking_code": "3SMYPO8610973", "tracking_url": "https://shipping.com/3SMYPO8610973", "documents": [ { "idparcel_document": 68, "type": "label", "size": "A6", "format": "pdf", "url": "https://example.com/label2.pdf" } ] } ], "created": "2025-02-14 13:28:20", "updated": "2025-02-14 13:28:20" }
Read more Purchase orders