iRetail PRO hub 1.0.0-m5: network

4 операции

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

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

The chain's private WireGuard network (spec/NETWORK.md).

← iRetail PRO hub 1.0.0-m5

Операции

PUT /v1/stores/{id}/network The store's own switch for the private network (spec/NETWORK.md); null follows the organization. It reaches the store with its record.

operationId setStoreNetwork · Право network.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
GET /v1/network The organization's private network (spec/NETWORK.md).

operationId getNetwork · Право network.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).

Ответы

PUT /v1/network Turn the private network on or off, set its subnet (only while off) and the endpoint stores reach the hub at.

operationId putNetwork · Право network.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).
If-Match header string The version the change is based on.

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

Ответы

  • 200 OK Network
  • 400 Error (spec/API.md). Error
  • 401 Error (spec/API.md). Error
  • 403 Error (spec/API.md). Error
  • 409 Error (spec/API.md). Error
  • 412 Error (spec/API.md). Error
GET /v1/network/peers Every registered node as a peer of the hub, with its latest handshake as the replicas recorded it.

operationId listNetworkPeers · Право network.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).

Ответы

  • 200 OK object
  • 401 Error (spec/API.md). Error
  • 403 Error (spec/API.md). Error

Схемы

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).

StoreNetwork object

network_enabled обязательный boolean | null false keeps the store out of the private network; null follows the organization.

NetworkPut object

enabled обязательный boolean
subnet обязательный string An aligned IPv4 network inside 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 or 100.64.0.0/10, prefix /8 to /22.
endpoint обязательный string | null host:port where stores reach the hub's UDP listener; required to turn the network on.

Network object

enabled обязательный boolean
subnet обязательный string
endpoint обязательный string | null
hub_address обязательный string The hub's address inside the tunnel, the subnet's first host.
hub_public_key обязательный string | null The hub's WireGuard public key (standard base64), or null without a key file.
key_present обязательный boolean The hub found its key file (IRETAIL_WG_KEY).
version обязательный integer (int64)

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