Custom Shipping Method
In Picqer we provide some integrated shipping providers. When you want to connect with an other shipping provider, you can create your own webservice and link it in Picqer. This way you can create your own 'Create shipment' button in Picqer.
Creating the custom shipping method
Create a new JSON Push shipping provider Enter the Endpoint URL of your webservice. You can optionally choose to provide a username and password. Picqer will use those to authenticate with Auth Basic method.
When an user creates a shipment, we send a request to your endpoint with JSON data in the body. We provide the address data of the customer and the products of this order. Picqer expects a JSON response with a track and trace code and a PDF of the shipping label as a base64 encoded string.
When we send you the shipment request, you have 15 seconds to respond with the shipment details. Otherwise Picqer will show the request as failed and the user can send a new request.
This is an example of the request we send to your endpoint when the user creates a shipment.
These are the attributes that you can (or must) supply in your response. Your response must always have a 200 OK status, otherwise we will handle the call as failed.
|identifier||string||required||Shipper's identifier of the shipment, like the trackingcode|
|trackingurl||string||optional||URL of track and trace page|
|carrier_key||string||optional||Key of the carrier, so Picqer can show the right logo. See available options below|
|label_contents_pdf||string||required||Base64 encoded PDF document of label|
|label_contents_zpl||string||optional||Base64 encoded ZPL document of label|
With a carrier key, Picqer knows wich carrier will deliver the package. We use this for example to show the logo of the carrier next to a shipment and for letting webshops know who the carrier is.
The following carrier keys can be submitted via the JSON push method:
We always need a PDF version of the shipping label, but besides the PDF you can also provide a ZPL version of the label. If the printer supports ZPL, we will use the ZPL version of the label for improved print quality.
Whenever you respond with an other status than 200 OK, we will show an error message to the user. If you can, please provide a human readable error message for the user.
If an error occurred, return a 400 or 500 status code with a JSON body with an 'error' key. Like this:
Picqer will show the given error message to the user.