Getting Started — 5 minutes
Build a working integration against the Sandbox before touching production.
Capability status: Availability. Create keys in Merchant BO → Developers (Advanced mode), or ask your Enterprise CSM for sandbox credentials.
1. Get API credentials
- Sign in to Merchant BO:
https://app.ioneshop.eu - Open Developers (Advanced mode) — or ask your shop admin
- Create an API key with least-privilege scopes
- Copy the secret once — it is shown only at creation
Recommended first scopes:
products.read
orders.read
webhooks.manage
2. Base URL
| Environment | Base URL |
|---|---|
| Sandbox | https://sandbox-api.ioneshop.cloud/v1 |
| Production | https://api.ioneshop.cloud/v1 |
Always include the version prefix (/v1).
3. Authenticate
GET /v1/products?limit=5 HTTP/1.1
Host: sandbox-api.ioneshop.cloud
Authorization: Bearer isk_test_********************************
Accept: application/json
cURL:
curl -sS "https://sandbox-api.ioneshop.cloud/v1/products?limit=5" \
-H "Authorization: Bearer $IONESHOP_API_KEY" \
-H "Accept: application/json"
4. Register a webhook
curl -sS -X POST "https://sandbox-api.ioneshop.cloud/v1/webhooks" \
-H "Authorization: Bearer $IONESHOP_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"url": "https://hooks.example.com/ioneshop",
"events": ["order.created", "order.paid"],
"description": "Sandbox order pipe"
}'
Verify signatures — see Webhooks. Never process unsigned production events.
5. Paginate (never dump the catalog)
curl -sS "https://sandbox-api.ioneshop.cloud/v1/products?limit=250" \
-H "Authorization: Bearer $IONESHOP_API_KEY"
Follow pagination.next_cursor until null. Full-catalog GET /products without a cursor is rejected or capped — see Usage guidelines.