Inventory API overview
The Inventory service keeps track of stock levels for product variants. The Inventory API is used for example when building integrations between POS systems and e-commerce systems.
Register on the Zettle Developer Portal to create credentials for the app you are building, and learn more about different types of integrations. See Get started for more information.
Explore the sections in the following to get an overview of the different parts of the Inventory API.
To manage product inventories with the Inventory service, every product and product variant must have a unique UUID. For more information about product and product variant UUIDs, see Product Library API.
All endpoints that return lists can be paginated. When a response is big, it can be returned in more than one page. For example, the response for fetching inventory balance for all stores.
It's recommended to check whether a response includes the
Linkheader. If the header is included, that means the response contains more than one page.
To fetch the subsequent pages to get a complete response, you need to call the URL that is specified in the
Linkheader until the response does not include that header.
Example response header
LINK: <https://inventory.izettle.com/v3/stock?cursor=81f69e53-e25a-11ec-bb66-2bc1878b8583&limit=100>; rel="next"
Example request to the URL in the Link header
By default, V3 allows 4 requests per second.
The rate limit is not a hard limit. V3 monitors and measures the average rate in a short time period continuously. Then it determines if requests will be blocked.
To integrate with Zettle, you need to access merchant data. To gain access, you need to set up authorisation for the merchant to grant access to the data. Depending on the type of app and integration you are building, this can be done in different ways. See OAuth API.
API clients can list current stock levels and update inventory balances for products.
The service automatically decreases the stock when a purchase is made with the Zettle POS application. Tracking is based on moving product items between Inventories.
See How inventories work for concept descriptions.
Inventory tracking is enabled on a product basis and can be enabled or disabled at any time.
If you change the inventory levels of products that do not have tracking enabled, you will not see any change in inventory levels as a result of purchases taking place.
When an organisation starts using the inventory, the inventory service will generate a set of default inventories.
/inventoriesendpoint is used for retrieving these inventories. The inventory UUIDs are then used with other inventory management functionality to manage stock levels.
This area contains endpoints used for managing tracked products and for retrieving stock information and updating stock balances. Here you can fetch and update inventory balances for specific products and inventories.
This functionality is used for defining low stock levels and updating the low stock alert settings. This is done to ensure merchants have the right inventory balance to meet current demand without having an excess in stock. Through the endpoint, you can retrieve and update the low stock configurations.