Getting started with the SalesPoint360 API
On this page
The SalesPoint360 API lets your own systems read and write the same data the portal uses. It is a JSON HTTP API, and every response carries a success flag alongside its data.
Create an API key
Go to Settings → API Keys and create a key with a descriptive name and the scopes it needs. The full key is shown once, at creation — copy it then, because only a hash is stored and it cannot be shown again. If you lose it, delete the key and issue a new one.
Authenticating
Send the key in the X-API-Key header on every request. Keys are tied to your business, so a key can never reach another tenant's data.
Alternatively, obtain a JWT by signing in as a user; the portal and the apps use that path. API keys are the right choice for machine-to-machine integrations because they are not tied to a person who might leave.
Scopes
A key only does what its scopes allow — a stock-feed integration should hold read access to products and inventory and nothing else. Requests outside a key's scope are refused rather than partially honoured. Grant the minimum, and issue separate keys for separate integrations so one can be revoked without disturbing the rest.
Enabling key-based access
API-key authentication is deliberately off until it is enabled for your account. Until then a key is still validated, rate-limited, and logged, but it does not authenticate a request on its own — ask support to switch it on, and tell them which endpoints your integration needs.
Rate limits
Requests are rate-limited per key. Handle a limit response by backing off and retrying rather than hammering, and batch where an endpoint supports it.
Good practice
- Keep keys in environment variables or a secret manager, never in client-side code or a repository.
- Rotate keys periodically and whenever someone with access leaves.
- Build against a test business first — a bad import is much easier to prevent than to unwind.
- Use webhooks instead of polling when you want to know about changes.
Note: your business can rename menu items (Settings → POS Configuration → Menu Labels), so the names in your menu may differ from those shown here.