Frequently asked questions
To create apps and work with integrations, register on the Zettle Developer Portal to create app credentials, and learn more about different types of integrations. See Get started.
Currently, Zettle provides APIs for the following markets:
- United Kingdom
We are using TLS 1.2 for the moment.
It is not possible to take payments through the APIs. However, you can take payments using the following SDKs:
Unfortunately we do not at this time.
No, it is completely free to use our APIs. The only limitation is that some resources might have rate limiting enabled to ensure service stability.
This is something our framework sends when it has received the request headers and indicates that the client should proceed to send the request body.
What you can do is investigate the reason why your code does this, or you could traverse the headers until you find a header with the intended response code. See the following examples:
The access token is passed through the
Authorizationheader with the format:
Authorization: Bearer <Token>. Also, note that on most services you can use the
selffilter instead of
You can use the
selfpath parameter instead of specifying organisation UUID in an endpoint.
Example: The following example shows using the
selfpath parameter and fetching the organisation UUID.
Or, you can fetch the organisation UUID by calling the following endpoint.
After fetching the organisation UUID, you can specify it in an endpoint.
Example: The following example shows specifying the organisation UUID when calling an endpoint.
For more information on the filter and the endpoint, see OAuth API reference.
No, you can only create maximum 99 variants for a product. See [Product Library concept] (/docs/api/product-library/concepts/product-library-concept).
No, every product and product variant UUID must be unique. Before you import products and product variants to a product library, make sure that their UUIDs don't exist in the product library.
See Add product images.
An integration between the Inventory service and an e-commerce system ensures that products and inventory levels are automatically synchronized between the platforms. Integrated merchants can manage in-store and online inventories from one place. They can also compare sales and manage updates for all products.
There are pre-built integrations for Zettle with a number of e-commerce platforms. See e-commerce integrations for a list.
You can also build your own e-commerce integrations with the Zettle APIs. Typical integrations often include the Product Library and Inventory APIs.
There are many possibilities to integrate Zettle with other systems like accounting, e-commerce, and checkout. For an overview of options, see Integrations.
Online stores are typically integrating product libraries and inventories, through the Product Library and Inventory APIs. Using these, products and inventories are automatically synchronised with the e-commerce system.
Currently, products and inventory can only be added to POS folders at my.zettle.com. It is not possible to do this from the API.
The Inventory service lets you start tracking of products through the API. After creating a product through the Product Library API, you can immediately start tracking it using the
See Enable tracking.
There are pre-built integrations available for a number of e-commerce platforms, see e-commerce integrations.
You can also build your own e-commerce integration using the Product Library and Inventory APIs. This will synchronize inventory updates between Zettle and the web shop.
You can use the Pusher API to manage frequent updates by subscribing to specific events triggered by Zettle. For example, Events can be changes to product library or inventories. When an event is triggered, a request with event information will be sent in real time.
See Pusher API.
includeTransactionTypeparameter in the query for the relevant transaction type or types. Then traverse the list of transactions returned and sum up the amounts.