01

Обов’язковий ключ для запису

Кожна бізнес-зміна проходить через постійний журнал API13.

Приклад заголовка

POST /v1/rpc HTTP/1.1
Host: api13.arm20.com
Authorization: Bearer Ваш ключ API
Content-Type: application/json
Idempotency-Key: operation-0195d2d7-2a68-7d31

{
  "method": "nakl.create",
  "params": {
    "...": "..."
  },
  "id": "client-operation-42"
}

Для однієї логічної операції зберігайте той самий ключ, метод і семантично ті самі параметри. RPC-поле id може відрізнятися.

Стани повтору

completedПовертається збережений результат із Idempotency-Replayed: true.
in_progress409 IDEMPOTENCY_IN_PROGRESS; повторіть не раніше за retry_after.
conflict409 IDEMPOTENCY_KEY_CONFLICT, якщо ключ використано з іншими параметрами.
unknown409 IDEMPOTENCY_RESULT_UNKNOWN; шлюз не виконує небезпечний запис повторно.
Завершені та невизначені записи журналу зберігаються 90 днів. Якщо upstream встиг зафіксувати зміну, але відповідь втрачена, не створюйте новий ключ: спочатку перевірте документ, чек або платіж і виконайте звіряння.
02

Атомарне закриття продажу

Одна бізнес-операція замість набору внутрішніх фаз.

pos.checkout_close_sale

Передайте структуровані колекції rows, payments і consultants. Не надсилайте готовий TSV, SQL або внутрішній ідентифікатор каси: API13 формує потрібні upstream-параметри сам.

Відкрити схему методу