All Goodtill stores have access to our API which can be used to:
Documentation for the API endpoints is available at https://apidoc.thegoodtill.com
Authentication is handled by making a login call with credentials (subdomain, username and password) for an administrator or store owner user within the Goodtill store. This response will contain a JSON Web Token (JWT) which can be used to authorize future requests by passing it in the Authorization header (eg
Authorization: Bearer token_here).
Tokens are short lived and must be refreshed to keep them active.
Certain endpoints require an extra Vendor-Id token – please request this token from email@example.com if you require access to these endpoints.
Requests bodies may be encoded as JSON or x-www-form-encoded, however JSON should be used if possible.
Responses bodies are encoded as JSON.
Dates and times included in responses will be returned in the timezone configured in the Goodtill Store.
Stores can be configured with multiple outlets, which allows segregating data such as sales, products and stock quantities in different locations. Data entities can be store-wide (such a customers), outlet specific (such as sales) or optionally store-wide (such as products, via the Shareable toggle). The endpoint documentation states whether the entity available via the endpoint is outlet specific or store wide.
By default, all requests will fetch data from the outlet where the user account was created. It is possible to access data across multiple outlets using a single user account by specifying an outlet ID in the request, eg
Outlet-Id: outlet_id_here. This will change the outlet where data is accessed from if the user has been granted access to the selected outlet (eg via outlet tagging or when using the store owner account which has access to all outlets). A list of outlets (including IDs) that the user has access to can be obtained via the outlets endpoint.
The API endpoints are not currently rate limited, however this is subject to change.
Your integration can get near real-time notifications of certain events in your Goodtill store, such as new sales, using webhooks.
If you are building an integration and you would like to test the API without affecting your live account, or you are building an integration on behalf of a Goodtill customer, you request a fully-featured test account from firstname.lastname@example.org. Just include some details about the integration and which customer the integration is for.
If you have any questions, please contact email@example.com
We are always happy to help with any issues you may be having. If you can't find what you're looking for within our support portal please send us a message by clicking the button below or call our support team on 0203 322 4095.