Picqer API

Picqer API Documentatie is enkel beschikaar in het Engels.

All Picqer users have access to the Picqer API to extend the use of Picqer even further. The API is based on the latest best practices for API's: RESTful and data formatting in JSON.

All data and almost all actions that can be done in the Picqer app, can also be done with the API. Giving you full freedom.

Picqer API: a joy to work with

We are dedicated to make the Picqer API a joy to work with as a developer. That means: extended documentation, full and free support, very fast API responses and high rate limits.

Do you need extra methods in our API? Please let us know.

All developers can get a free Picqer account for testing purposes. Feel free to contact us to activate your testing account.

Changelog

We improve our API regularly. Keep track of recent changes in our changelog.

Endpoint

Every Picqer client has its own subdomain and therefor also its own API base URL. In this documentation we use as client domain "example.picqer.com". The base API URI for this account is:

https://example.picqer.com/api/v1/

Versioning

Non-backward compatible API changes will result in a new v2 URL, which will lead to updated API documentation. For now, only /api/v1/ is active.

HTTPS and JSON Only

The Picqer API is only accessible through HTTPS and requests and responses are always JSON formatted.

Authentication

Using the Picqer API requires an API Key. API Keys can be revoked easily and cannot be used to login to the Picqer web app. Best security practice is to use a dedicated API Key per application.

Picqer uses HTTP Basic Auth to authenticate. Use the API Key as the username, the password will be ignored.

New API Keys can be created and revoked in the Picqer web app, in Settings > API Keys.

User agent

It is required to send a User-Agent header. Include the name of the application or plugin, including website address or email address, so we can contact you if needed.

Example: User-Agent: MyPicqerClient (picqer.com/api - support@picqer.com)

Rate limiting

There is a rate limit per API key. In normal cases the limit is 500 requests per minute, but can be dynamically adjusted depending on the load on the platform. The header X-RateLimit-Limit shows the current rate limit. X-RateLimit-Remaining shows how many requests are still remaining.

If you hit the rate limit, we will respond with a 429 Too Many Requests HTTP Status Code and your request will be ignored.

Please support rate limits in your application from the start. Back off if you hit the rate limit, and retry failed requests later. Forgetting to support rate limiting is the number 1 issue for users of our API. Our PHP client has an option to automatically backoff when the rate limit is hit.

Pagination

Most GET requests are limited to 100 results. You can use the 'offset' query parameter to get the next 100 results. Like so:

https://example.picqer.com/api/v1/customers?offset=100

Fulfilment

The API is mainly focused on regular Picqer users, but a lot of the API is also available for customers of Picqer users that have the fulfilment features enabled. If you have the fulfilment version of Picqer, you can link API keys to a fulfilment customer. These keys have access to a limited scope. See what is available for fulfilment customers in the API.

Tips for webshop integrations

Building your own webshop integration with Picqer? When you implement the following processes, your integration works the same as our native implementations.

  • Creating new products in Picqer when new products are added to the webshop (via products)
  • Create a new customer and an order in Picqer when the order in the webshop is paid (via customers and orders)
  • Change the status of the order and optionally email the customer when you receive a picklists.closed webhook, this is triggered when a picklist/order is closed and send (via webhooks)
  • Update stock in the webshop realtime with the products.freestockchanged webhook (via webhooks)