payware_poi_create_batch
Create up to 50 POIs for one shop in one atomic batch, ensuring terminal rollouts either fully succeed or fail without partial duplicates.
Instructions
[Merchant] Create up to 50 POIs in a single atomic call - the tool for rolling out a terminal estate.
Endpoint: POST /poi/batch -> 201 Created, returning { created, pois: [...] }
Atomic means all or nothing. Either every entry is created or none is. That is the reason to
prefer this over a loop of payware_poi_create: a loop that fails on entry 27 leaves 26 POIs behind
with nothing recording where it stopped, and re-running it duplicates them.
A POI belongs to a shop, and a shop belongs to a merchant. shopCode is required - use
payware_shops_list to find one rather than guessing. Banks do not own POIs; a financial-institution
principal gets 403 on every POI endpoint, not an empty result.
ttlSeconds is the price-session TTL, not the POI's lifetime. It bounds how long a price set on
this POI stays claimable before the POI returns to IDLE. Range 60-600 seconds; the server
defaults it to 300.
Defaults and overrides. shopCode, ttlSeconds and callbackUrl at the top level apply to
every entry. An entry may override name, ttlSeconds and callbackUrl for itself. shopCode is
top-level only - one batch builds one shop.
Limits: 1 to 50 entries. An empty list is ERR_BATCH_EMPTY; more than 50 is
ERR_BATCH_TOO_LARGE. Both are refused locally before the request is sent. For a larger rollout,
split it into batches of 50 - each batch is atomic on its own, so record which batches succeeded.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"shopCode": "<shopCode>",
"pois": "<pois>"
},
"name": "payware_poi_create_batch"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pois | Yes | The POIs to create. Each entry may set name, ttlSeconds and callbackUrl; anything omitted falls back to the top-level value. An entry may be an empty object, which creates an unnamed POI with the batch defaults. | |
| shopCode | Yes | Code of the shop every POI in this batch belongs to. Required, top-level only. Find one with payware_shops_list. | |
| partnerId | No | Partner ID from the payware dashboard. Uses PAYWARE_PARTNER_ID env var as default. | |
| privateKey | No | RSA private key for JWT signing. Uses the environment-specific key as default. | |
| ttlSeconds | No | Default price-session TTL for every POI in the batch. Server default 300. | |
| useSandbox | No | Use sandbox environment for testing | |
| callbackUrl | No | Default HTTPS callback URL for every POI in the batch. |