iRetail PRO hub 1.0.0-m5: stores

19 операций

← Вся документация · Источник: контракты, openapi/hub-v1.yaml на коммите 8000474.

Справочники на английском — на языке контрактов, из которых они созданы.

The chain's stores and their prices.

← iRetail PRO hub 1.0.0-m5

Операции

GET /v1/stores The chain's stores with the state of their nodes.

Each store's node only for a caller holding node.manage, null otherwise (spec/SYNC.md, Who sees a node).

operationId listStores · Право store.read

Параметры

Имя Где Тип Описание
IRetail-App header string Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking).

Ответы

POST /v1/stores Add a store; its node registers with a token made for it.

operationId createStore · Право store.manage

Параметры

Имя Где Тип Описание
IRetail-App header string Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking).
Idempotency-Key header string spec/API.md, Idempotency.

Тело запроса обязательный

Ответы

  • 201 Created HubStore
  • 400 Error (spec/API.md). Error
  • 401 Error (spec/API.md). Error
  • 403 Error (spec/API.md). Error
  • 409 Error (spec/API.md). Error
GET /v1/stores/{id} One store with the state of its node.

Each store's node only for a caller holding node.manage, null otherwise (spec/SYNC.md, Who sees a node).

operationId getHubStore · Право store.read

Параметры

Имя Где Тип Описание
id обязательный path string (uuid)
IRetail-App header string Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking).

Ответы

PATCH /v1/stores/{id} Change a store's settings; they reach its node as a record.

operationId patchHubStore · Право store.manage

Параметры

Имя Где Тип Описание
id обязательный path string (uuid)
IRetail-App header string Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking).
If-Match header string The version the change is based on.

Тело запроса обязательный

Ответы

  • 200 OK HubStore
  • 400 Error (spec/API.md). Error
  • 401 Error (spec/API.md). Error
  • 403 Error (spec/API.md). Error
  • 404 Error (spec/API.md). Error
  • 412 Error (spec/API.md). Error
  • 422 Error (spec/API.md). Error
PUT /v1/stores/{id}/register-share Give a store its share of the license's registers; it reaches the store with its record.

operationId setRegisterShare · Право store.manage

Параметры

Имя Где Тип Описание
id обязательный path string (uuid)
IRetail-App header string Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking).
If-Match header string The version the change is based on.

Тело запроса обязательный

Ответы

  • 200 OK HubStore
  • 400 Error (spec/API.md). Error
  • 401 Error (spec/API.md). Error
  • 403 Error (spec/API.md). Error
  • 404 Error (spec/API.md). Error
  • 409 Error (spec/API.md). Error
  • 412 Error (spec/API.md). Error
GET /v1/stores/{id}/tax-rates A store's tax codes (spec/TAX.md).

operationId listStoreTaxRates · Право store.read

Параметры

Имя Где Тип Описание
id обязательный path string (uuid)
IRetail-App header string Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking).

Ответы

  • 200 OK array of TaxRate
  • 401 Error (spec/API.md). Error
  • 403 Error (spec/API.md). Error
  • 404 Error (spec/API.md). Error
PUT /v1/stores/{id}/tax-rates/{code} Create or change one store's tax code; it reaches the store as a record.

operationId putStoreTaxRate · Право store.manage

Параметры

Имя Где Тип Описание
id обязательный path string (uuid)
code обязательный path string Tax code.
IRetail-App header string Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking).

Тело запроса обязательный

Ответы

  • 200 OK TaxRate
  • 400 Error (spec/API.md). Error
  • 401 Error (spec/API.md). Error
  • 403 Error (spec/API.md). Error
  • 404 Error (spec/API.md). Error
DELETE /v1/stores/{id}/tax-rates/{code} Delete a store's tax code that no item of the store uses.

operationId deleteStoreTaxRate · Право store.manage

Параметры

Имя Где Тип Описание
id обязательный path string (uuid)
code обязательный path string Tax code.
IRetail-App header string Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking).

Ответы

  • 204 Done
  • 401 Error (spec/API.md). Error
  • 403 Error (spec/API.md). Error
  • 404 Error (spec/API.md). Error
  • 409 Error (spec/API.md). Error
GET /v1/stores/{id}/tax-provider Where a store's tax rates come from, and how the last sync went (spec/TAX.md).

operationId getStoreTaxProvider · Право store.read

Параметры

Имя Где Тип Описание
id обязательный path string (uuid)
IRetail-App header string Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking).

Ответы

PUT /v1/stores/{id}/tax-provider Set the tax service that fills a store's rates; the key is only named.

operationId putStoreTaxProvider · Право store.manage

Параметры

Имя Где Тип Описание
id обязательный path string (uuid)
IRetail-App header string Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking).

Тело запроса обязательный

Ответы

POST /v1/stores/{id}/tax-provider/sync Ask the tax service for a store's rates now; answers the status after the attempt.

operationId syncStoreTaxProvider · Право store.manage

Параметры

Имя Где Тип Описание
id обязательный path string (uuid)
IRetail-App header string Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking).

Ответы

GET /v1/stores/{id}/deposits A store's container deposits (spec/TAX.md).

operationId listStoreDeposits · Право store.read

Параметры

Имя Где Тип Описание
id обязательный path string (uuid)
IRetail-App header string Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking).

Ответы

  • 200 OK array of Deposit
  • 401 Error (spec/API.md). Error
  • 403 Error (spec/API.md). Error
  • 404 Error (spec/API.md). Error
PUT /v1/stores/{id}/deposits/{code} Create or change one store's container deposit; it reaches the store as a record.

operationId putStoreDeposit · Право store.manage

Параметры

Имя Где Тип Описание
id обязательный path string (uuid)
code обязательный path string Deposit code.
IRetail-App header string Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking).

Тело запроса обязательный

Ответы

  • 200 OK Deposit
  • 400 Error (spec/API.md). Error
  • 401 Error (spec/API.md). Error
  • 403 Error (spec/API.md). Error
  • 404 Error (spec/API.md). Error
DELETE /v1/stores/{id}/deposits/{code} Delete a store's deposit that no item names.

operationId deleteStoreDeposit · Право store.manage

Параметры

Имя Где Тип Описание
id обязательный path string (uuid)
code обязательный path string Deposit code.
IRetail-App header string Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking).

Ответы

  • 204 Done
  • 401 Error (spec/API.md). Error
  • 403 Error (spec/API.md). Error
  • 404 Error (spec/API.md). Error
  • 409 Error (spec/API.md). Error
GET /v1/stores/{id}/prices A store's prices by item.

operationId listStorePrices · Право item.read

Параметры

Имя Где Тип Описание
id обязательный path string (uuid)
IRetail-App header string Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking).
limit query integer
after query string The cursor of the previous page.

Ответы

  • 200 OK object
  • 401 Error (spec/API.md). Error
  • 403 Error (spec/API.md). Error
  • 404 Error (spec/API.md). Error
PUT /v1/stores/{id}/prices/{item_id} Set an item's price in one store; it reaches the store as a record.

operationId putStorePrice · Право price.edit

Параметры

Имя Где Тип Описание
id обязательный path string (uuid)
item_id обязательный path string (uuid)
IRetail-App header string Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking).

Тело запроса обязательный

Ответы

GET /v1/transfers The chain's transfers with both documents (spec/STOCK.md, Transfers).

operationId listHubTransfers · Право document.read

Параметры

Имя Где Тип Описание
IRetail-App header string Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking).
store_id query string (uuid) One store's.
state query "draft" | "in_transit" | "received" | "canceled" State.
limit query integer Page size, 1–200.
after query string Cursor from the previous page.

Ответы

GET /v1/transfers/{id} One transfer of the chain.

operationId getHubTransfer · Право document.read

Параметры

Имя Где Тип Описание
IRetail-App header string Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking).
id обязательный path string (uuid) Id.

Ответы

GET /v1/stock/in-transit Every line in transit between the chain's stores.

operationId listHubInTransit · Право stock.read

Параметры

Имя Где Тип Описание
IRetail-App header string Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking).
store_id query string (uuid) One store's.

Ответы

Схемы

StoreCreate object

code обязательный string
name обязательный LocalizedText
country обязательный string
country_pack обязательный "none" | "us" The country pack whose rules the new store follows (spec/COUNTRY_PACKS.md, data/country-packs.json); it is never changed afterwards.
currency обязательный string
unit_system обязательный "metric" | "us_customary"
tax_mode обязательный "exclusive" | "inclusive"
timezone обязательный string
receipt_language string
register_share integer Registers given to the store (spec/LICENSE.md); one, or none when no register is left, if absent.
tax_by_category boolean Resolve tax codes by item category (spec/TAX.md); true by default for the us pack, false otherwise.
profile StoreProfile

RegisterShare object

register_share обязательный integer

HubStore object

A store as the hub keeps it, with its node's state (null before a node registers).

store обязательный Store
node обязательный Node | null Only for a caller holding node.manage; null for anyone else, as before a node registers (spec/SYNC.md, Who sees a node).

Node object

id обязательный string (uuid)
store_id обязательный string (uuid)
status обязательный "active" | "revoked"
version обязательный string The node's version at its last exchange.
connected обязательный boolean An exchange is open now.
last_seen_at обязательный string (date-time) | null
hub_cursor обязательный integer (int64) The last hub seq the store applied.
hub_head обязательный integer (int64) The hub's newest seq for this store; hub_head − hub_cursor is how far behind the store is.
store_ack обязательный integer (int64) The last store seq the hub applied.
store_head обязательный integer (int64) The store's newest seq at its last exchange; store_head − store_ack is what waits to arrive.
certificate_expires_at обязательный string (date-time)
registered_at обязательный string (date-time)
health обязательный NodeHealth | null The store's last health report (spec/HEALTH.md), or null before the first.
compatibility обязательный Compatibility | null Why the hub refuses this node at the exchange (spec/RELEASES.md, Compatibility), until it connects; null otherwise.

NodeHealth object

reported_at обязательный string (date-time)
started_at обязательный string (date-time)
shifts_open обязательный integer
oldest_shift_opened_at обязательный string (date-time) | null
journal_pending обязательный integer (int64)
search_queue обязательный integer (int64)
redis_ok обязательный boolean
tunnel_state обязательный "off" | "up" | "down" | null The store's tunnel to the hub (spec/NETWORK.md); null from a node that does not report it.
audit_head обязательный object | null The head of the store's audit chain from its last report (spec/AUDIT.md, Anchors); null from a node that does not report it.
update обязательный NodeUpdate | null The store's update from its last report (spec/RELEASES.md); null from a node that does not report it.
apps обязательный array of AppVersionCount Per app, platform and version, how many of the store's devices run it, failed it and are silent, from its last report (spec/RELEASES.md, Reporting); empty from a node that does not report them.
app_offers обязательный array of AppOffer The store's offers of the release it runs (spec/RELEASES.md, One device first).

ItemPrice object

item_id обязательный string (uuid)
store_id обязательный string (uuid)
price обязательный StorePrice
version обязательный integer (int64)

HubTransfer @store:Transfer

HubTransferPage object

items обязательный array of HubTransfer
next обязательный string | null

HubInTransitLine @store:InTransitLine

NodeUpdate object

The update fields of a store's last health report (spec/HEALTH.md, spec/RELEASES.md).

running_version обязательный string
previous_version обязательный string | null
target_version обязательный string | null
target_record_version обязательный integer (int64)
state обязательный UpdateState
state_since обязательный string (date-time) | null
step обязательный UpdateStep | null
error обязательный string | null
healthz обязательный "ok" | "failing" | null
backup обязательный UpdateBackup | null The pre-update archive of the target's attempt; null before it or from a node that does not report it.
rehearsal обязательный UpdateRehearsal | null
background_tasks_running обязательный integer The store's background tasks pending or running (spec/RELEASES.md, Migrations).
background_tasks_failed обязательный integer