iRetail PRO hub 1.0.0-m5: network
4 операции
← Вся документация · Источник: контракты, openapi/hub-v1.yaml на коммите 8000474.
Справочники на английском — на языке контрактов, из которых они созданы.
The chain's private WireGuard network (spec/NETWORK.md).
Операции
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. |
Тело запроса обязательный
application/jsonStoreNetwork
Ответы
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. |
Тело запроса обязательный
application/jsonNetworkPut
Ответы
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). |
Ответы
Схемы
HubStore object
A store as the hub keeps it, with its node's state (null before a node registers).
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 |