Kaspi Shop (seller API)
Preview
Read Kaspi.kz shop orders and payments.
- Status: Preview
- Shelf: Commerce and payments
- How you connect: API key
- Regions: global and Kazakhstan
- The service’s own API reference: https://kaspi.kz/merchantcabinet/support/display/Support/API
Apps read Kaspi.kz shop orders with your seller API token. Kaspi is reached through the HTTP API
connector with a preset: the gate calls only kaspi.kz/shop/api/v2 and only with GET. The token
is sealed to the gate and apps never see it.
Connect it#
- In the Kaspi Seller Cabinet open Settings and generate an API token (kaspi.kz/merchantcabinet).
- Qaldy → Connectors → Kaspi → Connect Kaspi → paste the token → Seal and connect.
Test connection only checks that the sealed token opens. Kaspi's order list needs a date range and a state, which a fixed test call can't carry, so the gate sends nothing.
What the gate allows#
| Host | kaspi.kz, base path /shop/api/v2 (pinned, every resolved address public) |
| Methods | GET (reading orders; accepting or shipping an order needs POST, which this preset does not allow) |
| Paths | everything under /shop/api/v2 |
| Key | X-Auth-Token: <token>, added by the gate; an app-supplied one is dropped |
| Fixed headers | Accept: application/vnd.api+json, Content-Type: application/vnd.api+json |
Use it from an app#
{ "id": "http", "actions": ["request"], "scope": "conn_k3v9…" }const api = ctx.connectors.http('conn_k3v9…')
const since = Date.now() - 24 * 60 * 60 * 1000
const orders = await api.get('/orders', {
query: {
'page[number]': 0,
'page[size]': 20,
'filter[orders][state]': 'NEW',
'filter[orders][creationDate][$ge]': since,
'filter[orders][creationDate][$le]': Date.now(),
},
})Kaspi expects millisecond timestamps and a creation-date window of at most 14 days.
When it breaks#
| You see | Why | Do |
|---|---|---|
401 or 403 | The token was regenerated or mistyped | Generate a new token and replace it |
400 | Missing filters (state, creation date) | Add the filters above |
Blocked: method_not_allowed | The app tried to change an order | Not allowed by this preset |
Native Kaspi actions (ctx.connectors.kaspi.listOrders) are not served by the gate.