Бізнес-блок

Продаж, повернення та попередні чеки

Пошук товарів у касі, оформлення продажу й повернення, змішана оплата та збережені чеки.

30усього
20читання
10запис
Показано 30 із 30 Глобальний пошук · Ctrl + K — пошук на сторінці
Кожна картка містить готовий HTTP-приклад. Значення в ньому демонстраційні: замініть їх даними зі своєї бази. Для операцій запису використовуйте новий Idempotency-Key для кожної окремої бізнес-операції. Як сформувати ключ і повторювати запит.
pos

Каса

30 методів
pos.checkout_apply_sale_lineЗаписує одну товарну позицію під час оформлення продажу. запис pos.write з 0.4.0

Записує одну товарну позицію під час оформлення продажу.

Перевірити JSON JSON Schema
Стабільність: стабільний Scope: pos.write Idempotency-Key: потрібен

Параметри params

ПолеЩо означаєТип і форматПравила
Додаткові
bind_exciseBind excise

Поле «Bind excise» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

int
необов’язковийПриклад: 1За замовчуванням: 0
curcertВалюта сертифіката

Поле «Валюта сертифіката» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

string
необов’язковийПриклад: ""За замовчуванням: ""
dolg_codeDolg code

Поле «Dolg code» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

string
необов’язковийПриклад: "990000001"За замовчуванням: ""
eiОзнака вагового товару

Поле «Ознака вагового товару» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

string
необов’язковийПриклад: ""За замовчуванням: ""
filНомер філії

Поле «Номер філії» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

int
необов’язковийПриклад: 1За замовчуванням: 0
from_sostFrom sost

Поле «From sost» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

int
необов’язковийПриклад: 1За замовчуванням: 0
irestrОбмеження знижки

Поле «Обмеження знижки» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

int
необов’язковийПриклад: 1За замовчуванням: 0
is_naklПов’язано з накладною

Поле «Пов’язано з накладною» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

int
необов’язковийПриклад: 1За замовчуванням: 0
kasmНомер каси

Числовий номер каси, налаштований у Windows Касі.

int
необов’язковийПриклад: 1За замовчуванням: 0
ndocНомер документа

Номер службового, касового або фіскального документа у відповідному журналі.

string
обов’язковийПриклад: "Приклад"
parent_history_idБатьківський запис історії

Ідентифікатор «Батьківський запис історії», отриманий із результату відповідного методу читання цієї бази.

string
необов’язковийПриклад: ""За замовчуванням: ""
pref_discПрефікс дисконтної картки

Префікс, за яким відсканований код розпізнається як дисконтна картка.

string
необов’язковийПриклад: ""За замовчуванням: ""
skНомер складу або філії

Номер складу/філії відповідно до налаштувань бази; 0 зазвичай означає основний склад.

int
необов’язковийПриклад: 1За замовчуванням: 0
Суми та кількості
bonus_kfКоефіцієнт бонусів

Точне числове значення «Коефіцієнт бонусів» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.

string · decimal-string · currency-of-operation
необов’язковийПриклад: "100.00"За замовчуванням: "1"
current_discountCurrent discount

Точне числове значення «Current discount» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.

string · decimal-string · currency-of-operation
необов’язковийПриклад: "100.00"За замовчуванням: ""
disc_percentВідсоток знижки

Точне числове значення «Відсоток знижки» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.

string · decimal-string · percent
необов’язковийПриклад: "100.00"За замовчуванням: ""
disc_priceЦіна зі знижкою

Точне числове значення «Ціна зі знижкою» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.

string · decimal-string · currency-of-operation
необов’язковийПриклад: "100.00"За замовчуванням: ""
disc_spriceБазова ціна для знижки

Точне числове значення «Базова ціна для знижки» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.

string · decimal-string · currency-of-operation
необов’язковийПриклад: "100.00"За замовчуванням: ""
quantКількість

Кількість товару як десятковий рядок; для вагового товару дозволена дробова частина.

string · decimal-string · product-unit
необов’язковийПриклад: "1.000"
Основні
codeКод товару

Публічний код товару, картки або іншого запису, як він відображається у програмі.

string
обов’язковийПриклад: "1001"
storageСклад

Логічний склад: main — основний, branch — філіальний.

  • main — основний склад
  • branch — філіальний склад
enum
необов’язковийПриклад: "main"За замовчуванням: "main"
Знижки, бонуси та борг
disc_cardДисконтна картка

Поле «Дисконтна картка» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

string
необов’язковийПриклад: "990000001"За замовчуванням: ""
disc_typeТип знижки

Поле «Тип знижки» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

string
необов’язковийПриклад: ""За замовчуванням: ""
isbonusВикористовувати бонуси

Поле «Використовувати бонуси» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

string
необов’язковийПриклад: "0"За замовчуванням: "0"
Точна схема параметрів
{
    "bind_excise": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Bind excise",
        "description": "Поле «Bind excise» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": 1
    },
    "bonus_kf": {
        "type": "string",
        "max": 4096,
        "default": "1",
        "title": "Коефіцієнт бонусів",
        "description": "Точне числове значення «Коефіцієнт бонусів» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "currency-of-operation",
        "example": "100.00"
    },
    "code": {
        "type": "string",
        "max": 512,
        "required": true,
        "title": "Код товару",
        "description": "Публічний код товару, картки або іншого запису, як він відображається у програмі.",
        "group": "Основні",
        "example": "1001"
    },
    "curcert": {
        "type": "string",
        "max": 4096,
        "default": "",
        "title": "Валюта сертифіката",
        "description": "Поле «Валюта сертифіката» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": ""
    },
    "current_discount": {
        "type": "string",
        "max": 512,
        "default": "",
        "title": "Current discount",
        "description": "Точне числове значення «Current discount» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "currency-of-operation",
        "example": "100.00"
    },
    "disc_card": {
        "type": "string",
        "max": 512,
        "default": "",
        "title": "Дисконтна картка",
        "description": "Поле «Дисконтна картка» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Знижки, бонуси та борг",
        "example": "990000001"
    },
    "disc_percent": {
        "type": "string",
        "max": 512,
        "default": "",
        "title": "Відсоток знижки",
        "description": "Точне числове значення «Відсоток знижки» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "percent",
        "example": "100.00"
    },
    "disc_price": {
        "type": "string",
        "max": 4096,
        "default": "",
        "title": "Ціна зі знижкою",
        "description": "Точне числове значення «Ціна зі знижкою» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "currency-of-operation",
        "example": "100.00"
    },
    "disc_sprice": {
        "type": "string",
        "max": 4096,
        "default": "",
        "title": "Базова ціна для знижки",
        "description": "Точне числове значення «Базова ціна для знижки» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "currency-of-operation",
        "example": "100.00"
    },
    "disc_type": {
        "type": "string",
        "max": 512,
        "default": "",
        "title": "Тип знижки",
        "description": "Поле «Тип знижки» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Знижки, бонуси та борг",
        "example": ""
    },
    "dolg_code": {
        "type": "string",
        "max": 512,
        "default": "",
        "title": "Dolg code",
        "description": "Поле «Dolg code» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": "990000001"
    },
    "ei": {
        "type": "string",
        "max": 4096,
        "default": "",
        "title": "Ознака вагового товару",
        "description": "Поле «Ознака вагового товару» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": ""
    },
    "fil": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Номер філії",
        "description": "Поле «Номер філії» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": 1
    },
    "from_sost": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "From sost",
        "description": "Поле «From sost» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": 1
    },
    "irestr": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Обмеження знижки",
        "description": "Поле «Обмеження знижки» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": 1
    },
    "is_nakl": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Пов’язано з накладною",
        "description": "Поле «Пов’язано з накладною» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": 1
    },
    "isbonus": {
        "type": "string",
        "max": 4096,
        "default": "0",
        "title": "Використовувати бонуси",
        "description": "Поле «Використовувати бонуси» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Знижки, бонуси та борг",
        "example": "0"
    },
    "kasm": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Номер каси",
        "description": "Числовий номер каси, налаштований у Windows Касі.",
        "group": "Додаткові",
        "example": 1
    },
    "ndoc": {
        "type": "string",
        "max": 4096,
        "required": true,
        "title": "Номер документа",
        "description": "Номер службового, касового або фіскального документа у відповідному журналі.",
        "group": "Додаткові",
        "example": "Приклад"
    },
    "parent_history_id": {
        "type": "string",
        "max": 512,
        "default": "",
        "title": "Батьківський запис історії",
        "description": "Ідентифікатор «Батьківський запис історії», отриманий із результату відповідного методу читання цієї бази.",
        "group": "Додаткові",
        "example": ""
    },
    "pref_disc": {
        "type": "string",
        "max": 4096,
        "default": "",
        "title": "Префікс дисконтної картки",
        "description": "Префікс, за яким відсканований код розпізнається як дисконтна картка.",
        "group": "Додаткові",
        "example": ""
    },
    "quant": {
        "type": "string",
        "max": 512,
        "title": "Кількість",
        "description": "Кількість товару як десятковий рядок; для вагового товару дозволена дробова частина.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "product-unit",
        "example": "1.000"
    },
    "sk": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Номер складу або філії",
        "description": "Номер складу/філії відповідно до налаштувань бази; 0 зазвичай означає основний склад.",
        "group": "Додаткові",
        "example": 1
    },
    "storage": {
        "type": "enum",
        "values": [
            "main",
            "branch"
        ],
        "default": "main",
        "title": "Склад",
        "description": "Логічний склад: main — основний, branch — філіальний.",
        "group": "Основні",
        "example": "main",
        "enum_labels": {
            "main": "основний склад",
            "branch": "філіальний склад"
        }
    }
}

Результат

Форма відповіді: rows
ПолеЗмістТипПриклад
skip_discountSkip discountПовернене значення «Skip discount» відповідного запису, документа або підсумку ARM20.string"Приклад"
bonus_afterБонуси після операціїТочне повернене значення «Бонуси після операції» як десятковий рядок із крапкою.string · decimal-string · currency-of-operation"100.00"
Точна схема результату
{
    "mode": "rows",
    "columns": [
        "skip_discount",
        "bonus_after"
    ],
    "field_specs": {
        "skip_discount": {
            "title": "Skip discount",
            "description": "Повернене значення «Skip discount» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "bonus_after": {
            "title": "Бонуси після операції",
            "description": "Точне повернене значення «Бонуси після операції» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "currency-of-operation",
            "example": "100.00"
        }
    }
}

Приклад запиту

POST /v1/rpc HTTP/1.1
Host: api13.arm20.com
Authorization: Bearer Ваш ключ API
Content-Type: application/json
Idempotency-Key: example-pos-checkout-apply-sale-line-0001

{
    "method": "pos.checkout_apply_sale_line",
    "params": {
        "code": "1001",
        "ndoc": "Приклад"
    },
    "id": "example-pos-checkout-apply-sale-line"
}

Замініть демонстраційні значення даними зі своєї бази.

Приклад успішної відповіді

{
    "ok": true,
    "data": {
        "method": "pos.checkout_apply_sale_line",
        "result": {
            "upstream": {
                "name": "UPMAPI",
                "version": "1",
                "resource": "pos"
            },
            "status": {
                "code": "OK",
                "operation": "checkout_apply_sale_line",
                "value": "1"
            },
            "rows": [
                {
                    "skip_discount": "Приклад",
                    "bonus_after": "100.00"
                }
            ]
        },
        "id": "example-pos-checkout-apply-sale-line"
    },
    "request_id": "req_example_0123456789abcdef"
}
Помилки та повтори цього методу
КодHTTPПричинаДія клієнта
INVALID_PARAMETER422Один із параметрів має неправильний тип, формат або значення.Виправити запит; автоматично не повторювати.
UPSTREAM_FAILURE502Сервер бізнес-операції недоступний або відхилив безпечний контракт.Не створювати новий Idempotency-Key; перевірити журнал і бізнес-об’єкт.
IDEMPOTENCY_KEY_REQUIRED422Для виконання запису не передано Idempotency-Key.Створити ключ для цієї бізнес-операції та повторити.
IDEMPOTENCY_RESULT_UNKNOWN409Результат попередньої спроби невідомий; gateway не виконав запис повторно.Звірити документ, чек або платіж; не створювати новий ключ автоматично.
pos.checkout_bonus_multiplierПовертає коефіцієнт нарахування бонусів для поточного продажу. читання pos.read з 0.4.0

Повертає коефіцієнт нарахування бонусів для поточного продажу.

Перевірити JSON JSON Schema
Стабільність: стабільний Scope: pos.read Idempotency-Key: не потрібен

Параметри params

ПолеЩо означаєТип і форматПравила
Додаткові
cat_uinІдентифікатор категорії

Поле «Ідентифікатор категорії» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

string
необов’язковийПриклад: ""За замовчуванням: ""
Точна схема параметрів
{
    "cat_uin": {
        "type": "string",
        "max": 4096,
        "default": "",
        "title": "Ідентифікатор категорії",
        "description": "Поле «Ідентифікатор категорії» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": ""
    }
}

Результат

Форма відповіді: rows
ПолеЗмістТипПриклад
multiplierMultiplierПовернене значення «Multiplier» відповідного запису, документа або підсумку ARM20.string"Приклад"
category_levelРівень категоріїПовернене значення «Рівень категорії» відповідного запису, документа або підсумку ARM20.string"Приклад"
Точна схема результату
{
    "mode": "rows",
    "columns": [
        "multiplier",
        "category_level"
    ],
    "field_specs": {
        "multiplier": {
            "title": "Multiplier",
            "description": "Повернене значення «Multiplier» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "category_level": {
            "title": "Рівень категорії",
            "description": "Повернене значення «Рівень категорії» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        }
    }
}

Приклад запиту

POST /v1/rpc HTTP/1.1
Host: api13.arm20.com
Authorization: Bearer Ваш ключ API
Content-Type: application/json

{
    "method": "pos.checkout_bonus_multiplier",
    "params": {
        "cat_uin": "Приклад"
    },
    "id": "example-pos-checkout-bonus-multiplier"
}

Замініть демонстраційні значення даними зі своєї бази.

Приклад успішної відповіді

{
    "ok": true,
    "data": {
        "method": "pos.checkout_bonus_multiplier",
        "result": {
            "upstream": {
                "name": "UPMAPI",
                "version": "1",
                "resource": "pos"
            },
            "status": {
                "code": "OK",
                "operation": "checkout_bonus_multiplier",
                "value": "1"
            },
            "rows": [
                {
                    "multiplier": "Приклад",
                    "category_level": "Приклад"
                }
            ]
        },
        "id": "example-pos-checkout-bonus-multiplier"
    },
    "request_id": "req_example_0123456789abcdef"
}
Помилки та повтори цього методу
КодHTTPПричинаДія клієнта
INVALID_PARAMETER422Один із параметрів має неправильний тип, формат або значення.Виправити запит; автоматично не повторювати.
UPSTREAM_FAILURE502Сервер бізнес-операції недоступний або відхилив безпечний контракт.Дозволений повтор із backoff.
pos.checkout_bonus_totalsРозраховує підсумок бонусів для поточного продажу. читання pos.read з 0.4.0

Розраховує підсумок бонусів для поточного продажу.

Перевірити JSON JSON Schema
Стабільність: стабільний Scope: pos.read Idempotency-Key: не потрібен

Параметри params

ПолеЩо означаєТип і форматПравила
Додаткові
cardНомер дисконтної картки

Поле «Номер дисконтної картки» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

string
необов’язковийПриклад: "990000001"За замовчуванням: ""
ndocНомер документа

Номер службового, касового або фіскального документа у відповідному журналі.

string
необов’язковийПриклад: ""За замовчуванням: ""
Точна схема параметрів
{
    "card": {
        "type": "string",
        "max": 512,
        "default": "",
        "title": "Номер дисконтної картки",
        "description": "Поле «Номер дисконтної картки» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": "990000001"
    },
    "ndoc": {
        "type": "string",
        "max": 4096,
        "default": "",
        "title": "Номер документа",
        "description": "Номер службового, касового або фіскального документа у відповідному журналі.",
        "group": "Додаткові",
        "example": ""
    }
}

Результат

Форма відповіді: rows
ПолеЗмістТипПриклад
accruedAccruedТочне повернене значення «Accrued» як десятковий рядок із крапкою.string · decimal-string · currency-of-operation"100.00"
spentSpentТочне повернене значення «Spent» як десятковий рядок із крапкою.string · decimal-string · currency-of-operation"100.00"
Точна схема результату
{
    "mode": "rows",
    "columns": [
        "accrued",
        "spent"
    ],
    "field_specs": {
        "accrued": {
            "title": "Accrued",
            "description": "Точне повернене значення «Accrued» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "currency-of-operation",
            "example": "100.00"
        },
        "spent": {
            "title": "Spent",
            "description": "Точне повернене значення «Spent» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "currency-of-operation",
            "example": "100.00"
        }
    }
}

Приклад запиту

POST /v1/rpc HTTP/1.1
Host: api13.arm20.com
Authorization: Bearer Ваш ключ API
Content-Type: application/json

{
    "method": "pos.checkout_bonus_totals",
    "params": {
        "card": "990000001",
        "ndoc": "Приклад"
    },
    "id": "example-pos-checkout-bonus-totals"
}

Замініть демонстраційні значення даними зі своєї бази.

Приклад успішної відповіді

{
    "ok": true,
    "data": {
        "method": "pos.checkout_bonus_totals",
        "result": {
            "upstream": {
                "name": "UPMAPI",
                "version": "1",
                "resource": "pos"
            },
            "status": {
                "code": "OK",
                "operation": "checkout_bonus_totals",
                "value": "1"
            },
            "rows": [
                {
                    "accrued": "100.00",
                    "spent": "100.00"
                }
            ]
        },
        "id": "example-pos-checkout-bonus-totals"
    },
    "request_id": "req_example_0123456789abcdef"
}
Помилки та повтори цього методу
КодHTTPПричинаДія клієнта
INVALID_PARAMETER422Один із параметрів має неправильний тип, формат або значення.Виправити запит; автоматично не повторювати.
UPSTREAM_FAILURE502Сервер бізнес-операції недоступний або відхилив безпечний контракт.Дозволений повтор із backoff.
pos.checkout_cancel_positionСкасовує товарну позицію під час оформлення продажу. запис pos.write з 0.4.0

Скасовує товарну позицію під час оформлення продажу.

Перевірити JSON JSON Schema
Стабільність: стабільний Scope: pos.write Idempotency-Key: потрібен

Параметри params

ПолеЩо означаєТип і форматПравила
Додаткові
clear_exciseClear excise

Визначає, чи застосовувати параметр «Clear excise». Передавайте JSON true або false.

bool
необов’язковийПриклад: falseЗа замовчуванням: false
kasmНомер каси

Числовий номер каси, налаштований у Windows Касі.

int
обов’язковийПриклад: 1
skНомер складу або філії

Номер складу/філії відповідно до налаштувань бази; 0 зазвичай означає основний склад.

int
необов’язковийПриклад: 1За замовчуванням: 0
typeoТип операції

Поле «Тип операції» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

string
необов’язковийПриклад: "0"За замовчуванням: "0"
Основні
codeКод товару

Публічний код товару, картки або іншого запису, як він відображається у програмі.

string
обов’язковийПриклад: "1001"
storageСклад

Логічний склад: main — основний, branch — філіальний.

  • main — основний склад
  • branch — філіальний склад
enum
необов’язковийПриклад: "main"За замовчуванням: "main"
Суми та кількості
line_quantКількість у позиції

Точне числове значення «Кількість у позиції» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.

string · decimal-string · product-unit
необов’язковийПриклад: "1.000"За замовчуванням: "0"
quantКількість

Кількість товару як десятковий рядок; для вагового товару дозволена дробова частина.

decimal · decimal-string · product-unit
обов’язковийПриклад: "1.000"
row_priceЦіна позиції

Точне числове значення «Ціна позиції» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.

string · decimal-string · currency-of-operation
необов’язковийПриклад: "100.00"
row_spriceБазова ціна позиції

Точне числове значення «Базова ціна позиції» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.

string · decimal-string · currency-of-operation
необов’язковийПриклад: "100.00"
Точна схема параметрів
{
    "clear_excise": {
        "type": "bool",
        "default": false,
        "title": "Clear excise",
        "description": "Визначає, чи застосовувати параметр «Clear excise». Передавайте JSON true або false.",
        "group": "Додаткові",
        "example": false
    },
    "code": {
        "type": "string",
        "max": 512,
        "required": true,
        "title": "Код товару",
        "description": "Публічний код товару, картки або іншого запису, як він відображається у програмі.",
        "group": "Основні",
        "example": "1001"
    },
    "kasm": {
        "type": "int",
        "required": true,
        "min": 1,
        "max": 2147483647,
        "title": "Номер каси",
        "description": "Числовий номер каси, налаштований у Windows Касі.",
        "group": "Додаткові",
        "example": 1
    },
    "line_quant": {
        "type": "string",
        "max": 512,
        "default": "0",
        "title": "Кількість у позиції",
        "description": "Точне числове значення «Кількість у позиції» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "product-unit",
        "example": "1.000"
    },
    "quant": {
        "type": "decimal",
        "required": true,
        "max": 32,
        "scale": 3,
        "numeric_min": 0,
        "exclusive_min": true,
        "numeric_max": 1000000,
        "title": "Кількість",
        "description": "Кількість товару як десятковий рядок; для вагового товару дозволена дробова частина.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "product-unit",
        "example": "1.000"
    },
    "row_price": {
        "type": "string",
        "max": 4096,
        "title": "Ціна позиції",
        "description": "Точне числове значення «Ціна позиції» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "currency-of-operation",
        "example": "100.00"
    },
    "row_sprice": {
        "type": "string",
        "max": 4096,
        "title": "Базова ціна позиції",
        "description": "Точне числове значення «Базова ціна позиції» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "currency-of-operation",
        "example": "100.00"
    },
    "sk": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Номер складу або філії",
        "description": "Номер складу/філії відповідно до налаштувань бази; 0 зазвичай означає основний склад.",
        "group": "Додаткові",
        "example": 1
    },
    "storage": {
        "type": "enum",
        "values": [
            "main",
            "branch"
        ],
        "default": "main",
        "title": "Склад",
        "description": "Логічний склад: main — основний, branch — філіальний.",
        "group": "Основні",
        "example": "main",
        "enum_labels": {
            "main": "основний склад",
            "branch": "філіальний склад"
        }
    },
    "typeo": {
        "type": "string",
        "max": 512,
        "default": "0",
        "title": "Тип операції",
        "description": "Поле «Тип операції» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": "0"
    }
}

Результат

Форма відповіді: rows
ПолеЗмістТипПриклад
old_quantityOld quantityТочне повернене значення «Old quantity» як десятковий рядок із крапкою.string · decimal-string · product-unit"100.00"
new_quantityNew quantityТочне повернене значення «New quantity» як десятковий рядок із крапкою.string · decimal-string · product-unit"100.00"
fifo_deletedFifo deletedПовернене значення «Fifo deleted» відповідного запису, документа або підсумку ARM20.string"Приклад"
excise_deletedExcise deletedПовернене значення «Excise deleted» відповідного запису, документа або підсумку ARM20.string"Приклад"
Точна схема результату
{
    "mode": "rows",
    "columns": [
        "old_quantity",
        "new_quantity",
        "fifo_deleted",
        "excise_deleted"
    ],
    "field_specs": {
        "old_quantity": {
            "title": "Old quantity",
            "description": "Точне повернене значення «Old quantity» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "product-unit",
            "example": "100.00"
        },
        "new_quantity": {
            "title": "New quantity",
            "description": "Точне повернене значення «New quantity» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "product-unit",
            "example": "100.00"
        },
        "fifo_deleted": {
            "title": "Fifo deleted",
            "description": "Повернене значення «Fifo deleted» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "excise_deleted": {
            "title": "Excise deleted",
            "description": "Повернене значення «Excise deleted» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        }
    }
}

Приклад запиту

POST /v1/rpc HTTP/1.1
Host: api13.arm20.com
Authorization: Bearer Ваш ключ API
Content-Type: application/json
Idempotency-Key: example-pos-checkout-cancel-position-0001

{
    "method": "pos.checkout_cancel_position",
    "params": {
        "code": "1001",
        "kasm": 1,
        "quant": "1.000"
    },
    "id": "example-pos-checkout-cancel-position"
}

Замініть демонстраційні значення даними зі своєї бази.

Приклад успішної відповіді

{
    "ok": true,
    "data": {
        "method": "pos.checkout_cancel_position",
        "result": {
            "upstream": {
                "name": "UPMAPI",
                "version": "1",
                "resource": "pos"
            },
            "status": {
                "code": "OK",
                "operation": "checkout_cancel_position",
                "value": "1"
            },
            "rows": [
                {
                    "old_quantity": "100.00",
                    "new_quantity": "100.00",
                    "fifo_deleted": "Приклад",
                    "excise_deleted": "Приклад"
                }
            ]
        },
        "id": "example-pos-checkout-cancel-position"
    },
    "request_id": "req_example_0123456789abcdef"
}
Помилки та повтори цього методу
КодHTTPПричинаДія клієнта
INVALID_PARAMETER422Один із параметрів має неправильний тип, формат або значення.Виправити запит; автоматично не повторювати.
UPSTREAM_FAILURE502Сервер бізнес-операції недоступний або відхилив безпечний контракт.Не створювати новий Idempotency-Key; перевірити журнал і бізнес-об’єкт.
IDEMPOTENCY_KEY_REQUIRED422Для виконання запису не передано Idempotency-Key.Створити ключ для цієї бізнес-операції та повторити.
IDEMPOTENCY_RESULT_UNKNOWN409Результат попередньої спроби невідомий; gateway не виконав запис повторно.Звірити документ, чек або платіж; не створювати новий ключ автоматично.
pos.checkout_check_client_cardПеревіряє дисконтну картку клієнта перед оплатою. читання pos.read з 0.4.0

Перевіряє дисконтну картку клієнта перед оплатою.

Перевірити JSON JSON Schema
Стабільність: стабільний Scope: pos.read Idempotency-Key: не потрібен

Параметри params

ПолеЩо означаєТип і форматПравила
Додаткові
ndocНомер документа

Номер службового, касового або фіскального документа у відповідному журналі.

string
необов’язковийПриклад: ""За замовчуванням: ""
Точна схема параметрів
{
    "ndoc": {
        "type": "string",
        "max": 4096,
        "default": "",
        "title": "Номер документа",
        "description": "Номер службового, касового або фіскального документа у відповідному журналі.",
        "group": "Додаткові",
        "example": ""
    }
}

Результат

Форма відповіді: rows
ПолеЗмістТипПриклад
cardНомер дисконтної карткиПовернене значення «Номер дисконтної картки» відповідного запису, документа або підсумку ARM20.string"990000001"
Точна схема результату
{
    "mode": "rows",
    "columns": [
        "card"
    ],
    "field_specs": {
        "card": {
            "title": "Номер дисконтної картки",
            "description": "Повернене значення «Номер дисконтної картки» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "990000001"
        }
    }
}

Приклад запиту

POST /v1/rpc HTTP/1.1
Host: api13.arm20.com
Authorization: Bearer Ваш ключ API
Content-Type: application/json

{
    "method": "pos.checkout_check_client_card",
    "params": {
        "ndoc": "Приклад"
    },
    "id": "example-pos-checkout-check-client-card"
}

Замініть демонстраційні значення даними зі своєї бази.

Приклад успішної відповіді

{
    "ok": true,
    "data": {
        "method": "pos.checkout_check_client_card",
        "result": {
            "upstream": {
                "name": "UPMAPI",
                "version": "1",
                "resource": "pos"
            },
            "status": {
                "code": "OK",
                "operation": "checkout_check_client_card",
                "value": "1"
            },
            "rows": [
                {
                    "card": "990000001"
                }
            ]
        },
        "id": "example-pos-checkout-check-client-card"
    },
    "request_id": "req_example_0123456789abcdef"
}
Помилки та повтори цього методу
КодHTTPПричинаДія клієнта
INVALID_PARAMETER422Один із параметрів має неправильний тип, формат або значення.Виправити запит; автоматично не повторювати.
UPSTREAM_FAILURE502Сервер бізнес-операції недоступний або відхилив безпечний контракт.Дозволений повтор із backoff.
pos.checkout_check_totalПеревіряє підсумкову суму чека перед закриттям продажу. читання pos.read з 0.4.0

Перевіряє підсумкову суму чека перед закриттям продажу.

Перевірити JSON JSON Schema
Стабільність: стабільний Scope: pos.read Idempotency-Key: не потрібен

Параметри params

ПолеЩо означаєТип і форматПравила
Додаткові
ndocНомер документа

Номер службового, касового або фіскального документа у відповідному журналі.

string
необов’язковийПриклад: ""За замовчуванням: ""
Точна схема параметрів
{
    "ndoc": {
        "type": "string",
        "max": 4096,
        "default": "",
        "title": "Номер документа",
        "description": "Номер службового, касового або фіскального документа у відповідному журналі.",
        "group": "Додаткові",
        "example": ""
    }
}

Результат

Форма відповіді: rows
ПолеЗмістТипПриклад
totalTotalКількість рядків або об’єктів у результаті операції.string · decimal-string · currency-of-operation"100.00"
Точна схема результату
{
    "mode": "rows",
    "columns": [
        "total"
    ],
    "field_specs": {
        "total": {
            "title": "Total",
            "description": "Кількість рядків або об’єктів у результаті операції.",
            "type": "string",
            "format": "decimal-string",
            "unit": "currency-of-operation",
            "example": "100.00"
        }
    }
}

Приклад запиту

POST /v1/rpc HTTP/1.1
Host: api13.arm20.com
Authorization: Bearer Ваш ключ API
Content-Type: application/json

{
    "method": "pos.checkout_check_total",
    "params": {
        "ndoc": "Приклад"
    },
    "id": "example-pos-checkout-check-total"
}

Замініть демонстраційні значення даними зі своєї бази.

Приклад успішної відповіді

{
    "ok": true,
    "data": {
        "method": "pos.checkout_check_total",
        "result": {
            "upstream": {
                "name": "UPMAPI",
                "version": "1",
                "resource": "pos"
            },
            "status": {
                "code": "OK",
                "operation": "checkout_check_total",
                "value": "1"
            },
            "rows": [
                {
                    "total": "100.00"
                }
            ]
        },
        "id": "example-pos-checkout-check-total"
    },
    "request_id": "req_example_0123456789abcdef"
}
Помилки та повтори цього методу
КодHTTPПричинаДія клієнта
INVALID_PARAMETER422Один із параметрів має неправильний тип, формат або значення.Виправити запит; автоматично не повторювати.
UPSTREAM_FAILURE502Сервер бізнес-операції недоступний або відхилив безпечний контракт.Дозволений повтор із backoff.
pos.checkout_client_bonus_deltaНараховує або списує бонуси клієнта під час продажу. запис pos.write з 0.4.0

Нараховує або списує бонуси клієнта під час продажу.

Перевірити JSON JSON Schema
Стабільність: стабільний Scope: pos.write Idempotency-Key: потрібен

Параметри params

ПолеЩо означаєТип і форматПравила
Додаткові
cardНомер дисконтної картки

Поле «Номер дисконтної картки» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

string
обов’язковийПриклад: "990000001"
com1Основний коментар

Основний текстовий коментар, який буде збережено разом з операцією.

string
необов’язковийПриклад: ""За замовчуванням: ""
com2Додатковий коментар

Додатковий коментар операції; використовуйте лише коли він потрібний відповідному сценарію Windows.

string
необов’язковийПриклад: ""За замовчуванням: ""
forbid_minusForbid minus

Визначає, чи застосовувати параметр «Forbid minus». Передавайте JSON true або false.

bool
необов’язковийПриклад: falseЗа замовчуванням: true
ifromПочатковий індекс

Поле «Початковий індекс» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

string
необов’язковийПриклад: ""За замовчуванням: ""
ndocНомер документа

Номер службового, касового або фіскального документа у відповідному журналі.

string
необов’язковийПриклад: ""За замовчуванням: ""
Суми та кількості
deltaЗміна значення

Точне числове значення «Зміна значення» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.

string · decimal-string · currency-of-operation
необов’язковийПриклад: "100.00"
Точна схема параметрів
{
    "card": {
        "type": "string",
        "max": 512,
        "required": true,
        "title": "Номер дисконтної картки",
        "description": "Поле «Номер дисконтної картки» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": "990000001"
    },
    "com1": {
        "type": "string",
        "max": 512,
        "default": "",
        "title": "Основний коментар",
        "description": "Основний текстовий коментар, який буде збережено разом з операцією.",
        "group": "Додаткові",
        "example": ""
    },
    "com2": {
        "type": "string",
        "max": 512,
        "default": "",
        "title": "Додатковий коментар",
        "description": "Додатковий коментар операції; використовуйте лише коли він потрібний відповідному сценарію Windows.",
        "group": "Додаткові",
        "example": ""
    },
    "delta": {
        "type": "string",
        "max": 4096,
        "title": "Зміна значення",
        "description": "Точне числове значення «Зміна значення» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "currency-of-operation",
        "example": "100.00"
    },
    "forbid_minus": {
        "type": "bool",
        "default": true,
        "title": "Forbid minus",
        "description": "Визначає, чи застосовувати параметр «Forbid minus». Передавайте JSON true або false.",
        "group": "Додаткові",
        "example": false
    },
    "ifrom": {
        "type": "string",
        "max": 4096,
        "default": "",
        "title": "Початковий індекс",
        "description": "Поле «Початковий індекс» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": ""
    },
    "ndoc": {
        "type": "string",
        "max": 4096,
        "default": "",
        "title": "Номер документа",
        "description": "Номер службового, касового або фіскального документа у відповідному журналі.",
        "group": "Додаткові",
        "example": ""
    }
}

Результат

Форма відповіді: rows
ПолеЗмістТипПриклад
old_balanceOld balanceТочне повернене значення «Old balance» як десятковий рядок із крапкою.string · decimal-string · currency-of-operation"100.00"
new_balanceNew balanceТочне повернене значення «New balance» як десятковий рядок із крапкою.string · decimal-string · currency-of-operation"100.00"
Точна схема результату
{
    "mode": "rows",
    "columns": [
        "old_balance",
        "new_balance"
    ],
    "field_specs": {
        "old_balance": {
            "title": "Old balance",
            "description": "Точне повернене значення «Old balance» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "currency-of-operation",
            "example": "100.00"
        },
        "new_balance": {
            "title": "New balance",
            "description": "Точне повернене значення «New balance» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "currency-of-operation",
            "example": "100.00"
        }
    }
}

Приклад запиту

POST /v1/rpc HTTP/1.1
Host: api13.arm20.com
Authorization: Bearer Ваш ключ API
Content-Type: application/json
Idempotency-Key: example-pos-checkout-client-bonus-delta-0001

{
    "method": "pos.checkout_client_bonus_delta",
    "params": {
        "card": "990000001"
    },
    "id": "example-pos-checkout-client-bonus-delta"
}

Замініть демонстраційні значення даними зі своєї бази.

Приклад успішної відповіді

{
    "ok": true,
    "data": {
        "method": "pos.checkout_client_bonus_delta",
        "result": {
            "upstream": {
                "name": "UPMAPI",
                "version": "1",
                "resource": "pos"
            },
            "status": {
                "code": "OK",
                "operation": "checkout_client_bonus_delta",
                "value": "1"
            },
            "rows": [
                {
                    "old_balance": "100.00",
                    "new_balance": "100.00"
                }
            ]
        },
        "id": "example-pos-checkout-client-bonus-delta"
    },
    "request_id": "req_example_0123456789abcdef"
}
Помилки та повтори цього методу
КодHTTPПричинаДія клієнта
INVALID_PARAMETER422Один із параметрів має неправильний тип, формат або значення.Виправити запит; автоматично не повторювати.
UPSTREAM_FAILURE502Сервер бізнес-операції недоступний або відхилив безпечний контракт.Не створювати новий Idempotency-Key; перевірити журнал і бізнес-об’єкт.
IDEMPOTENCY_KEY_REQUIRED422Для виконання запису не передано Idempotency-Key.Створити ключ для цієї бізнес-операції та повторити.
IDEMPOTENCY_RESULT_UNKNOWN409Результат попередньої спроби невідомий; gateway не виконав запис повторно.Звірити документ, чек або платіж; не створювати новий ключ автоматично.
pos.checkout_close_saleАтомарно закриває продаж: записує чек, позиції, оплати та консультантів. запис pos.write з 0.4.0

Атомарно закриває продаж: записує чек, позиції, оплати та консультантів.

Перевірити JSON JSON Schema
Стабільність: стабільний Scope: pos.write Idempotency-Key: потрібен

Параметри params

ПолеЩо означаєТип і форматПравила
Суми та кількості
bonus_kfКоефіцієнт бонусів

Точне числове значення «Коефіцієнт бонусів» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.

string · decimal-string · currency-of-operation
необов’язковийПриклад: "100.00"За замовчуванням: "1"
current_discountCurrent discount

Точне числове значення «Current discount» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.

string · decimal-string · currency-of-operation
необов’язковийПриклад: "100.00"За замовчуванням: ""
discountДисконтна картка або знижка

Точне числове значення «Дисконтна картка або знижка» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.

string · decimal-string · currency-of-operation
необов’язковийПриклад: "100.00"
mixedЗмішана оплата

Точне числове значення «Змішана оплата» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.

int · decimal-string · currency-of-operation
необов’язковийПриклад: 1За замовчуванням: 0
mixed_bnMixed bn

Точне числове значення «Mixed bn» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.

string · decimal-string · currency-of-operation
необов’язковийПриклад: "100.00"
mixed_bonusMixed bonus

Точне числове значення «Mixed bonus» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.

string · decimal-string · currency-of-operation
необов’язковийПриклад: "100.00"
mixed_cardMixed card

Точне числове значення «Mixed card» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.

string · decimal-string · currency-of-operation
необов’язковийПриклад: "100.00"За замовчуванням: ""
mixed_certMixed cert

Точне числове значення «Mixed cert» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.

string · decimal-string · currency-of-operation
необов’язковийПриклад: "100.00"
mixed_debtMixed debt

Точне числове значення «Mixed debt» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.

string · decimal-string · currency-of-operation
необов’язковийПриклад: "100.00"
mixed_nalMixed nal

Точне числове значення «Mixed nal» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.

string · decimal-string · currency-of-operation
необов’язковийПриклад: "100.00"
nalГотівкова сума

Точне числове значення «Готівкова сума» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.

string · decimal-string · currency-of-operation
необов’язковийПриклад: "100.00"
roundОкруглення

Точне числове значення «Округлення» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.

string · decimal-string · currency-of-operation
необов’язковийПриклад: "100.00"
sumСума

Грошова сума як десятковий JSON-рядок без пробілів і символу валюти.

string · decimal-string · currency-of-operation
необов’язковийПриклад: "100.00"
Додаткові
ch_discountЗмінювати знижку

Поле «Змінювати знижку» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

string
необов’язковийПриклад: "Приклад"
com1Основний коментар

Основний текстовий коментар, який буде збережено разом з операцією.

string
необов’язковийПриклад: ""За замовчуванням: ""
com2Додатковий коментар

Додатковий коментар операції; використовуйте лише коли він потрібний відповідному сценарію Windows.

string
необов’язковийПриклад: ""За замовчуванням: ""
curcertВалюта сертифіката

Поле «Валюта сертифіката» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

string
необов’язковийПриклад: ""За замовчуванням: ""
dolg_codeDolg code

Поле «Dolg code» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

string
необов’язковийПриклад: "990000001"За замовчуванням: ""
filНомер філії

Поле «Номер філії» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

int
необов’язковийПриклад: 1За замовчуванням: 0
idfrowІдентифікатор FIFO-рядка

Поле «Ідентифікатор FIFO-рядка» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

int
необов’язковийПриклад: 1За замовчуванням: 0
irestrОбмеження знижки

Поле «Обмеження знижки» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

int
необов’язковийПриклад: 1За замовчуванням: 0
is_naklПов’язано з накладною

Поле «Пов’язано з накладною» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

int
необов’язковийПриклад: 1За замовчуванням: 0
isetaxВхідний акциз

Поле «Вхідний акциз» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

int
необов’язковийПриклад: 1За замовчуванням: 0
kas_typeТип каси

Поле «Тип каси» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

string
необов’язковийПриклад: ""За замовчуванням: ""
kasmНомер каси

Числовий номер каси, налаштований у Windows Касі.

int
необов’язковийПриклад: 1За замовчуванням: 0
mixed_com1Mixed com1

Поле «Mixed com1» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

string
необов’язковийПриклад: ""За замовчуванням: ""
mixed_ncertMixed ncert

Поле «Mixed ncert» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

string
необов’язковийПриклад: ""За замовчуванням: ""
nal_equals_sumГотівка дорівнює сумі чека

Поле «Готівка дорівнює сумі чека» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

int
необов’язковийПриклад: 1За замовчуванням: 0
pref_discПрефікс дисконтної картки

Префікс, за яким відсканований код розпізнається як дисконтна картка.

string
необов’язковийПриклад: ""За замовчуванням: ""
skНомер складу або філії

Номер складу/філії відповідно до налаштувань бази; 0 зазвичай означає основний склад.

int
необов’язковийПриклад: 1За замовчуванням: 0
Знижки, бонуси та борг
isbonusВикористовувати бонуси

Поле «Використовувати бонуси» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

string
необов’язковийПриклад: "0"За замовчуванням: "0"
Основні
storageСклад

Логічний склад: main — основний, branch — філіальний.

  • main — основний склад
  • branch — філіальний склад
enum
необов’язковийПриклад: "main"За замовчуванням: "main"
Оплата
paymentsРозподіл оплат

Розподіл загальної суми між готівкою, безготівковою оплатою, бонусами, боргом або сертифікатами.

array<object>
обов’язковийПриклад: []
Колекції
rowsРядки операції

Структурований масив рядків. Невідомі поля та порушення схеми відхиляються gateway.

array<object>
обов’язковийПриклад: []
consultantsКонсультанти

Список «Консультанти». Структуру одного елемента, обов’язкові поля та межі кількості наведено нижче.

array<int>
необов’язковийПриклад: []
Точна схема параметрів
{
    "bonus_kf": {
        "type": "string",
        "max": 4096,
        "default": "1",
        "title": "Коефіцієнт бонусів",
        "description": "Точне числове значення «Коефіцієнт бонусів» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "currency-of-operation",
        "example": "100.00"
    },
    "ch_discount": {
        "type": "string",
        "max": 512,
        "title": "Змінювати знижку",
        "description": "Поле «Змінювати знижку» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": "Приклад"
    },
    "com1": {
        "type": "string",
        "max": 512,
        "default": "",
        "title": "Основний коментар",
        "description": "Основний текстовий коментар, який буде збережено разом з операцією.",
        "group": "Додаткові",
        "example": ""
    },
    "com2": {
        "type": "string",
        "max": 512,
        "default": "",
        "title": "Додатковий коментар",
        "description": "Додатковий коментар операції; використовуйте лише коли він потрібний відповідному сценарію Windows.",
        "group": "Додаткові",
        "example": ""
    },
    "curcert": {
        "type": "string",
        "max": 4096,
        "default": "",
        "title": "Валюта сертифіката",
        "description": "Поле «Валюта сертифіката» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": ""
    },
    "current_discount": {
        "type": "string",
        "max": 512,
        "default": "",
        "title": "Current discount",
        "description": "Точне числове значення «Current discount» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "currency-of-operation",
        "example": "100.00"
    },
    "discount": {
        "type": "string",
        "max": 512,
        "title": "Дисконтна картка або знижка",
        "description": "Точне числове значення «Дисконтна картка або знижка» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "currency-of-operation",
        "example": "100.00"
    },
    "dolg_code": {
        "type": "string",
        "max": 512,
        "default": "",
        "title": "Dolg code",
        "description": "Поле «Dolg code» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": "990000001"
    },
    "fil": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Номер філії",
        "description": "Поле «Номер філії» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": 1
    },
    "idfrow": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Ідентифікатор FIFO-рядка",
        "description": "Поле «Ідентифікатор FIFO-рядка» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": 1
    },
    "irestr": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Обмеження знижки",
        "description": "Поле «Обмеження знижки» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": 1
    },
    "is_nakl": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Пов’язано з накладною",
        "description": "Поле «Пов’язано з накладною» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": 1
    },
    "isbonus": {
        "type": "string",
        "max": 4096,
        "default": "0",
        "title": "Використовувати бонуси",
        "description": "Поле «Використовувати бонуси» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Знижки, бонуси та борг",
        "example": "0"
    },
    "isetax": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Вхідний акциз",
        "description": "Поле «Вхідний акциз» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": 1
    },
    "kas_type": {
        "type": "string",
        "max": 512,
        "default": "",
        "title": "Тип каси",
        "description": "Поле «Тип каси» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": ""
    },
    "kasm": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Номер каси",
        "description": "Числовий номер каси, налаштований у Windows Касі.",
        "group": "Додаткові",
        "example": 1
    },
    "mixed": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Змішана оплата",
        "description": "Точне числове значення «Змішана оплата» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "currency-of-operation",
        "example": 1
    },
    "mixed_bn": {
        "type": "string",
        "max": 4096,
        "title": "Mixed bn",
        "description": "Точне числове значення «Mixed bn» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "currency-of-operation",
        "example": "100.00"
    },
    "mixed_bonus": {
        "type": "string",
        "max": 4096,
        "title": "Mixed bonus",
        "description": "Точне числове значення «Mixed bonus» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "currency-of-operation",
        "example": "100.00"
    },
    "mixed_card": {
        "type": "string",
        "max": 512,
        "default": "",
        "title": "Mixed card",
        "description": "Точне числове значення «Mixed card» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "currency-of-operation",
        "example": "100.00"
    },
    "mixed_cert": {
        "type": "string",
        "max": 4096,
        "title": "Mixed cert",
        "description": "Точне числове значення «Mixed cert» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "currency-of-operation",
        "example": "100.00"
    },
    "mixed_com1": {
        "type": "string",
        "max": 512,
        "default": "",
        "title": "Mixed com1",
        "description": "Поле «Mixed com1» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": ""
    },
    "mixed_debt": {
        "type": "string",
        "max": 4096,
        "title": "Mixed debt",
        "description": "Точне числове значення «Mixed debt» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "currency-of-operation",
        "example": "100.00"
    },
    "mixed_nal": {
        "type": "string",
        "max": 4096,
        "title": "Mixed nal",
        "description": "Точне числове значення «Mixed nal» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "currency-of-operation",
        "example": "100.00"
    },
    "mixed_ncert": {
        "type": "string",
        "max": 4096,
        "default": "",
        "title": "Mixed ncert",
        "description": "Поле «Mixed ncert» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": ""
    },
    "nal": {
        "type": "string",
        "max": 4096,
        "title": "Готівкова сума",
        "description": "Точне числове значення «Готівкова сума» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "currency-of-operation",
        "example": "100.00"
    },
    "nal_equals_sum": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Готівка дорівнює сумі чека",
        "description": "Поле «Готівка дорівнює сумі чека» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": 1
    },
    "pref_disc": {
        "type": "string",
        "max": 4096,
        "default": "",
        "title": "Префікс дисконтної картки",
        "description": "Префікс, за яким відсканований код розпізнається як дисконтна картка.",
        "group": "Додаткові",
        "example": ""
    },
    "round": {
        "type": "string",
        "max": 4096,
        "title": "Округлення",
        "description": "Точне числове значення «Округлення» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "currency-of-operation",
        "example": "100.00"
    },
    "sk": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Номер складу або філії",
        "description": "Номер складу/філії відповідно до налаштувань бази; 0 зазвичай означає основний склад.",
        "group": "Додаткові",
        "example": 1
    },
    "storage": {
        "type": "enum",
        "values": [
            "main",
            "branch"
        ],
        "default": "main",
        "title": "Склад",
        "description": "Логічний склад: main — основний, branch — філіальний.",
        "group": "Основні",
        "example": "main",
        "enum_labels": {
            "main": "основний склад",
            "branch": "філіальний склад"
        }
    },
    "sum": {
        "type": "string",
        "max": 4096,
        "title": "Сума",
        "description": "Грошова сума як десятковий JSON-рядок без пробілів і символу валюти.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "currency-of-operation",
        "example": "100.00"
    },
    "payments": {
        "type": "array",
        "required": true,
        "min_items": 1,
        "max_items": 8,
        "items": {
            "type": "object",
            "fields": {
                "akas": {
                    "type": "string",
                    "required": true,
                    "max": 190,
                    "pattern": "/^[^\\x00-\\x1F\\x7F]{1,190}$/uD",
                    "title": "Рахунок оплати",
                    "description": "Поле «Рахунок оплати» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
                    "group": "Додаткові",
                    "example": "Приклад"
                },
                "sum": {
                    "type": "decimal",
                    "required": true,
                    "max": 32,
                    "scale": 2,
                    "numeric_min": 0,
                    "exclusive_min": true,
                    "numeric_max": 999999999999.99,
                    "title": "Сума",
                    "description": "Грошова сума як десятковий JSON-рядок без пробілів і символу валюти.",
                    "group": "Суми та кількості",
                    "format": "decimal-string",
                    "unit": "currency-of-operation",
                    "example": "100.00"
                },
                "com1": {
                    "type": "string",
                    "max": 512,
                    "pattern": "/^[^\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F]*$/uD",
                    "title": "Основний коментар",
                    "description": "Основний текстовий коментар, який буде збережено разом з операцією.",
                    "group": "Додаткові",
                    "example": "Приклад"
                },
                "com2": {
                    "type": "string",
                    "max": 512,
                    "pattern": "/^[^\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F]*$/uD",
                    "title": "Додатковий коментар",
                    "description": "Додатковий коментар операції; використовуйте лише коли він потрібний відповідному сценарію Windows.",
                    "group": "Додаткові",
                    "example": "Приклад"
                },
                "tdoc": {
                    "type": "string",
                    "required": true,
                    "max": 190,
                    "pattern": "/^[^\\x00-\\x1F\\x7F]{1,190}$/uD",
                    "title": "Тип документа",
                    "description": "Текстова назва або код виду документа, який зберігається у касовій операції.",
                    "group": "Додаткові",
                    "example": "Приклад"
                }
            }
        },
        "title": "Розподіл оплат",
        "description": "Розподіл загальної суми між готівкою, безготівковою оплатою, бонусами, боргом або сертифікатами.",
        "group": "Оплата",
        "example": []
    },
    "rows": {
        "type": "array",
        "required": true,
        "min_items": 1,
        "max_items": 96,
        "items": {
            "type": "object",
            "fields": {
                "code": {
                    "type": "string",
                    "required": true,
                    "max": 190,
                    "pattern": "/^[^\\x00-\\x1F\\x7F]{1,190}$/uD",
                    "title": "Код товару",
                    "description": "Публічний код товару, картки або іншого запису, як він відображається у програмі.",
                    "group": "Основні",
                    "example": "1001"
                },
                "quant": {
                    "type": "decimal",
                    "required": true,
                    "max": 32,
                    "scale": 3,
                    "numeric_min": 0,
                    "exclusive_min": true,
                    "numeric_max": 1000000,
                    "title": "Кількість",
                    "description": "Кількість товару як десятковий рядок; для вагового товару дозволена дробова частина.",
                    "group": "Суми та кількості",
                    "format": "decimal-string",
                    "unit": "product-unit",
                    "example": "1.000"
                },
                "ei": {
                    "type": "string",
                    "max": 32,
                    "pattern": "/^[^\\x00-\\x1F\\x7F]*$/uD",
                    "title": "Ознака вагового товару",
                    "description": "Поле «Ознака вагового товару» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
                    "group": "Додаткові",
                    "example": "Приклад"
                },
                "disc_sprice": {
                    "type": "decimal",
                    "max": 32,
                    "scale": 2,
                    "numeric_min": 0,
                    "numeric_max": 999999999999.99,
                    "title": "Базова ціна для знижки",
                    "description": "Точне числове значення «Базова ціна для знижки» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
                    "group": "Суми та кількості",
                    "format": "decimal-string",
                    "unit": "currency-of-operation",
                    "example": "100.00"
                },
                "disc_price": {
                    "type": "decimal",
                    "max": 32,
                    "scale": 2,
                    "numeric_min": 0,
                    "numeric_max": 999999999999.99,
                    "title": "Ціна зі знижкою",
                    "description": "Точне числове значення «Ціна зі знижкою» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
                    "group": "Суми та кількості",
                    "format": "decimal-string",
                    "unit": "currency-of-operation",
                    "example": "100.00"
                },
                "disc_card": {
                    "type": "string",
                    "max": 190,
                    "pattern": "/^[^\\x00-\\x1F\\x7F]*$/uD",
                    "title": "Дисконтна картка",
                    "description": "Поле «Дисконтна картка» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
                    "group": "Знижки, бонуси та борг",
                    "example": "990000001"
                },
                "disc_percent": {
                    "type": "decimal",
                    "max": 32,
                    "scale": 4,
                    "numeric_min": 0,
                    "numeric_max": 100,
                    "title": "Відсоток знижки",
                    "description": "Точне числове значення «Відсоток знижки» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
                    "group": "Суми та кількості",
                    "format": "decimal-string",
                    "unit": "percent",
                    "example": "100.00"
                },
                "disc_type": {
                    "type": "string",
                    "max": 32,
                    "pattern": "/^[^\\x00-\\x1F\\x7F]*$/uD",
                    "title": "Тип знижки",
                    "description": "Поле «Тип знижки» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
                    "group": "Знижки, бонуси та борг",
                    "example": "Приклад"
                }
            }
        },
        "title": "Рядки операції",
        "description": "Структурований масив рядків. Невідомі поля та порушення схеми відхиляються gateway.",
        "group": "Колекції",
        "example": []
    },
    "consultants": {
        "type": "array",
        "min_items": 0,
        "max_items": 32,
        "unique": true,
        "items": {
            "type": "int",
            "min": 1,
            "max": 2147483647,
            "title": "Consultants item",
            "description": "Поле «Consultants item» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
            "group": "Додаткові",
            "example": 1
        },
        "title": "Консультанти",
        "description": "Список «Консультанти». Структуру одного елемента, обов’язкові поля та межі кількості наведено нижче.",
        "group": "Колекції",
        "example": []
    }
}

Результат

Форма відповіді: rows
ПолеЗмістТипПриклад
check_numberНомер чекаНомер касового чека у базі поточного клієнта.string"Приклад"
bonus_beforeБонуси до операціїТочне повернене значення «Бонуси до операції» як десятковий рядок із крапкою.string · decimal-string · currency-of-operation"100.00"
bonus_afterБонуси після операціїТочне повернене значення «Бонуси після операції» як десятковий рядок із крапкою.string · decimal-string · currency-of-operation"100.00"
Точна схема результату
{
    "mode": "rows",
    "columns": [
        "check_number",
        "bonus_before",
        "bonus_after"
    ],
    "field_specs": {
        "check_number": {
            "title": "Номер чека",
            "description": "Номер касового чека у базі поточного клієнта.",
            "type": "string",
            "example": "Приклад"
        },
        "bonus_before": {
            "title": "Бонуси до операції",
            "description": "Точне повернене значення «Бонуси до операції» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "currency-of-operation",
            "example": "100.00"
        },
        "bonus_after": {
            "title": "Бонуси після операції",
            "description": "Точне повернене значення «Бонуси після операції» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "currency-of-operation",
            "example": "100.00"
        }
    }
}

Приклад запиту

POST /v1/rpc HTTP/1.1
Host: api13.arm20.com
Authorization: Bearer Ваш ключ API
Content-Type: application/json
Idempotency-Key: example-pos-checkout-close-sale-0001

{
    "method": "pos.checkout_close_sale",
    "params": {
        "storage": "main",
        "sum": "20.00",
        "nal": "20.00",
        "payments": [
            {
                "akas": "Касове місце N1",
                "sum": "20.00",
                "com1": "Продаж",
                "tdoc": "Продаж товару"
            }
        ],
        "rows": [
            {
                "code": "1001",
                "quant": "2.000",
                "ei": "0",
                "disc_sprice": "10.00",
                "disc_price": "10.00"
            }
        ],
        "consultants": [
            17
        ]
    },
    "id": "example-pos-checkout-close-sale"
}

Замініть демонстраційні значення даними зі своєї бази.

Приклад успішної відповіді

{
    "ok": true,
    "data": {
        "method": "pos.checkout_close_sale",
        "result": {
            "upstream": {
                "name": "UPMAPI",
                "version": "1",
                "resource": "pos"
            },
            "status": {
                "code": "OK",
                "operation": "checkout_close_sale",
                "value": "1"
            },
            "rows": [
                {
                    "check_number": "Приклад",
                    "bonus_before": "100.00",
                    "bonus_after": "100.00"
                }
            ]
        },
        "id": "example-pos-checkout-close-sale"
    },
    "request_id": "req_example_0123456789abcdef"
}
Помилки та повтори цього методу
КодHTTPПричинаДія клієнта
INVALID_PARAMETER422Один із параметрів має неправильний тип, формат або значення.Виправити запит; автоматично не повторювати.
UPSTREAM_FAILURE502Сервер бізнес-операції недоступний або відхилив безпечний контракт.Не створювати новий Idempotency-Key; перевірити журнал і бізнес-об’єкт.
IDEMPOTENCY_KEY_REQUIRED422Для виконання запису не передано Idempotency-Key.Створити ключ для цієї бізнес-операції та повторити.
IDEMPOTENCY_RESULT_UNKNOWN409Результат попередньої спроби невідомий; gateway не виконав запис повторно.Звірити документ, чек або платіж; не створювати новий ключ автоматично.
pos.checkout_create_checkСтворює заголовок нового касового чека. запис pos.write з 0.4.0

Створює заголовок нового касового чека.

Перевірити JSON JSON Schema
Стабільність: стабільний Scope: pos.write Idempotency-Key: потрібен

Параметри params

ПолеЩо означаєТип і форматПравила
Додаткові
ch_discountЗмінювати знижку

Поле «Змінювати знижку» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

string
необов’язковийПриклад: "Приклад"
com1Основний коментар

Основний текстовий коментар, який буде збережено разом з операцією.

string
необов’язковийПриклад: ""За замовчуванням: ""
com2Додатковий коментар

Додатковий коментар операції; використовуйте лише коли він потрібний відповідному сценарію Windows.

string
необов’язковийПриклад: ""За замовчуванням: ""
dolg_codeDolg code

Поле «Dolg code» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

string
необов’язковийПриклад: "990000001"За замовчуванням: ""
filНомер філії

Поле «Номер філії» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

int
необов’язковийПриклад: 1За замовчуванням: 0
isreturnОперація повернення

Поле «Операція повернення» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

string
необов’язковийПриклад: "0"За замовчуванням: "0"
kas_typeТип каси

Поле «Тип каси» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

string
необов’язковийПриклад: ""За замовчуванням: ""
kasmНомер каси

Числовий номер каси, налаштований у Windows Касі.

int
необов’язковийПриклад: 1За замовчуванням: 0
nal_equals_sumГотівка дорівнює сумі чека

Поле «Готівка дорівнює сумі чека» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

int
необов’язковийПриклад: 1За замовчуванням: 0
Суми та кількості
current_discountCurrent discount

Точне числове значення «Current discount» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.

string · decimal-string · currency-of-operation
необов’язковийПриклад: "100.00"За замовчуванням: ""
discountДисконтна картка або знижка

Точне числове значення «Дисконтна картка або знижка» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.

string · decimal-string · currency-of-operation
необов’язковийПриклад: "100.00"
nalГотівкова сума

Точне числове значення «Готівкова сума» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.

string · decimal-string · currency-of-operation
необов’язковийПриклад: "100.00"
roundОкруглення

Точне числове значення «Округлення» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.

string · decimal-string · currency-of-operation
необов’язковийПриклад: "100.00"
sumСума

Грошова сума як десятковий JSON-рядок без пробілів і символу валюти.

string · decimal-string · currency-of-operation
необов’язковийПриклад: "100.00"
Точна схема параметрів
{
    "ch_discount": {
        "type": "string",
        "max": 512,
        "title": "Змінювати знижку",
        "description": "Поле «Змінювати знижку» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": "Приклад"
    },
    "com1": {
        "type": "string",
        "max": 512,
        "default": "",
        "title": "Основний коментар",
        "description": "Основний текстовий коментар, який буде збережено разом з операцією.",
        "group": "Додаткові",
        "example": ""
    },
    "com2": {
        "type": "string",
        "max": 512,
        "default": "",
        "title": "Додатковий коментар",
        "description": "Додатковий коментар операції; використовуйте лише коли він потрібний відповідному сценарію Windows.",
        "group": "Додаткові",
        "example": ""
    },
    "current_discount": {
        "type": "string",
        "max": 512,
        "default": "",
        "title": "Current discount",
        "description": "Точне числове значення «Current discount» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "currency-of-operation",
        "example": "100.00"
    },
    "discount": {
        "type": "string",
        "max": 512,
        "title": "Дисконтна картка або знижка",
        "description": "Точне числове значення «Дисконтна картка або знижка» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "currency-of-operation",
        "example": "100.00"
    },
    "dolg_code": {
        "type": "string",
        "max": 512,
        "default": "",
        "title": "Dolg code",
        "description": "Поле «Dolg code» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": "990000001"
    },
    "fil": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Номер філії",
        "description": "Поле «Номер філії» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": 1
    },
    "isreturn": {
        "type": "string",
        "max": 4096,
        "default": "0",
        "title": "Операція повернення",
        "description": "Поле «Операція повернення» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": "0"
    },
    "kas_type": {
        "type": "string",
        "max": 512,
        "default": "",
        "title": "Тип каси",
        "description": "Поле «Тип каси» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": ""
    },
    "kasm": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Номер каси",
        "description": "Числовий номер каси, налаштований у Windows Касі.",
        "group": "Додаткові",
        "example": 1
    },
    "nal": {
        "type": "string",
        "max": 4096,
        "title": "Готівкова сума",
        "description": "Точне числове значення «Готівкова сума» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "currency-of-operation",
        "example": "100.00"
    },
    "nal_equals_sum": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Готівка дорівнює сумі чека",
        "description": "Поле «Готівка дорівнює сумі чека» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": 1
    },
    "round": {
        "type": "string",
        "max": 4096,
        "title": "Округлення",
        "description": "Точне числове значення «Округлення» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "currency-of-operation",
        "example": "100.00"
    },
    "sum": {
        "type": "string",
        "max": 4096,
        "title": "Сума",
        "description": "Грошова сума як десятковий JSON-рядок без пробілів і символу валюти.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "currency-of-operation",
        "example": "100.00"
    }
}

Результат

Форма відповіді: scalar
ПолеЗмістТипПриклад
valueЗначенняПовернене значення «Значення» відповідного запису, документа або підсумку ARM20.string"Приклад"
Точна схема результату
{
    "mode": "scalar",
    "value_type": "string",
    "value_spec": {
        "title": "Значення",
        "description": "Повернене значення «Значення» відповідного запису, документа або підсумку ARM20.",
        "type": "string",
        "example": "Приклад"
    }
}

Приклад запиту

POST /v1/rpc HTTP/1.1
Host: api13.arm20.com
Authorization: Bearer Ваш ключ API
Content-Type: application/json
Idempotency-Key: example-pos-checkout-create-check-0001

{
    "method": "pos.checkout_create_check",
    "params": {
        "kasm": 1,
        "sum": "Приклад"
    },
    "id": "example-pos-checkout-create-check"
}

Замініть демонстраційні значення даними зі своєї бази.

Приклад успішної відповіді

{
    "ok": true,
    "data": {
        "method": "pos.checkout_create_check",
        "result": {
            "upstream": {
                "name": "UPMAPI",
                "version": "1",
                "resource": "pos"
            },
            "status": {
                "code": "OK",
                "operation": "checkout_create_check",
                "value": "Приклад"
            },
            "rows": []
        },
        "id": "example-pos-checkout-create-check"
    },
    "request_id": "req_example_0123456789abcdef"
}
Помилки та повтори цього методу
КодHTTPПричинаДія клієнта
INVALID_PARAMETER422Один із параметрів має неправильний тип, формат або значення.Виправити запит; автоматично не повторювати.
UPSTREAM_FAILURE502Сервер бізнес-операції недоступний або відхилив безпечний контракт.Не створювати новий Idempotency-Key; перевірити журнал і бізнес-об’єкт.
IDEMPOTENCY_KEY_REQUIRED422Для виконання запису не передано Idempotency-Key.Створити ключ для цієї бізнес-операції та повторити.
IDEMPOTENCY_RESULT_UNKNOWN409Результат попередньої спроби невідомий; gateway не виконав запис повторно.Звірити документ, чек або платіж; не створювати новий ключ автоматично.
pos.checkout_discount_actionsПовертає активні акції, які можуть застосовуватися до продажу. читання pos.read з 0.4.0

Повертає активні акції, які можуть застосовуватися до продажу.

Перевірити JSON JSON Schema
Стабільність: стабільний Scope: pos.read Idempotency-Key: не потрібен

Параметри params

ПолеЩо означаєТип і форматПравила
Додаткові
include_futureВключити майбутні записи

Визначає, чи застосовувати параметр «Включити майбутні записи». Передавайте JSON true або false.

bool
необов’язковийПриклад: falseЗа замовчуванням: false
Точна схема параметрів
{
    "include_future": {
        "type": "bool",
        "default": false,
        "title": "Включити майбутні записи",
        "description": "Визначає, чи застосовувати параметр «Включити майбутні записи». Передавайте JSON true або false.",
        "group": "Додаткові",
        "example": false
    }
}

Результат

Форма відповіді: rows
ПолеЗмістТипПриклад
idІдентифікатор записуПовернене значення «Ідентифікатор запису» відповідного запису, документа або підсумку ARM20.string"Приклад"
action_typeТип операціїПовернене значення «Тип операції» відповідного запису, документа або підсумку ARM20.string"Приклад"
category_idІдентифікатор категоріїПовернене значення «Ідентифікатор категорії» відповідного запису, документа або підсумку ARM20.string"Приклад"
discountДисконтна картка або знижкаТочне повернене значення «Дисконтна картка або знижка» як десятковий рядок із крапкою.string · decimal-string · currency-of-operation"100.00"
hour_fromHour fromПовернений час «Hour from» у форматі HH:MM:SS.string · time"12:00:00"
hour_toHour toПовернений час «Hour to» у форматі HH:MM:SS.string · time"12:00:00"
Точна схема результату
{
    "mode": "rows",
    "columns": [
        "id",
        "action_type",
        "category_id",
        "discount",
        "hour_from",
        "hour_to"
    ],
    "field_specs": {
        "id": {
            "title": "Ідентифікатор запису",
            "description": "Повернене значення «Ідентифікатор запису» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "action_type": {
            "title": "Тип операції",
            "description": "Повернене значення «Тип операції» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "category_id": {
            "title": "Ідентифікатор категорії",
            "description": "Повернене значення «Ідентифікатор категорії» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "discount": {
            "title": "Дисконтна картка або знижка",
            "description": "Точне повернене значення «Дисконтна картка або знижка» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "currency-of-operation",
            "example": "100.00"
        },
        "hour_from": {
            "title": "Hour from",
            "description": "Повернений час «Hour from» у форматі HH:MM:SS.",
            "type": "string",
            "format": "time",
            "example": "12:00:00"
        },
        "hour_to": {
            "title": "Hour to",
            "description": "Повернений час «Hour to» у форматі HH:MM:SS.",
            "type": "string",
            "format": "time",
            "example": "12:00:00"
        }
    }
}

Приклад запиту

POST /v1/rpc HTTP/1.1
Host: api13.arm20.com
Authorization: Bearer Ваш ключ API
Content-Type: application/json

{
    "method": "pos.checkout_discount_actions",
    "params": {
        "include_future": true
    },
    "id": "example-pos-checkout-discount-actions"
}

Замініть демонстраційні значення даними зі своєї бази.

Приклад успішної відповіді

{
    "ok": true,
    "data": {
        "method": "pos.checkout_discount_actions",
        "result": {
            "upstream": {
                "name": "UPMAPI",
                "version": "1",
                "resource": "pos"
            },
            "status": {
                "code": "OK",
                "operation": "checkout_discount_actions",
                "value": "1"
            },
            "rows": [
                {
                    "id": "Приклад",
                    "action_type": "Приклад",
                    "category_id": "Приклад",
                    "discount": "100.00",
                    "hour_from": "12:00:00",
                    "hour_to": "12:00:00"
                }
            ]
        },
        "id": "example-pos-checkout-discount-actions"
    },
    "request_id": "req_example_0123456789abcdef"
}
Помилки та повтори цього методу
КодHTTPПричинаДія клієнта
INVALID_PARAMETER422Один із параметрів має неправильний тип, формат або значення.Виправити запит; автоматично не повторювати.
UPSTREAM_FAILURE502Сервер бізнес-операції недоступний або відхилив безпечний контракт.Дозволений повтор із backoff.
pos.checkout_discount_card_stateПовертає знижку, бонуси та боргові параметри дисконтної картки. читання pos.read з 0.4.0

Повертає знижку, бонуси та боргові параметри дисконтної картки.

Перевірити JSON JSON Schema
Стабільність: стабільний Scope: pos.read Idempotency-Key: не потрібен

Параметри params

ПолеЩо означаєТип і форматПравила
Додаткові
cardНомер дисконтної картки

Поле «Номер дисконтної картки» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

string
необов’язковийПриклад: "990000001"За замовчуванням: ""
Точна схема параметрів
{
    "card": {
        "type": "string",
        "max": 512,
        "default": "",
        "title": "Номер дисконтної картки",
        "description": "Поле «Номер дисконтної картки» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": "990000001"
    }
}

Результат

Форма відповіді: rows
ПолеЗмістТипПриклад
last_nameПрізвищеПовернене значення «Прізвище» відповідного запису, документа або підсумку ARM20.string"Приклад"
first_nameІм’яПовернене значення «Ім’я» відповідного запису, документа або підсумку ARM20.string"Приклад"
is_debtПродаж у боргПовернене значення «Продаж у борг» відповідного запису, документа або підсумку ARM20.string"Приклад"
debt_limitDebt limitТочне повернене значення «Debt limit» як десятковий рядок із крапкою.string · decimal-string · currency-of-operation"100.00"
bonus_balanceБаланс бонусівТочне повернене значення «Баланс бонусів» як десятковий рядок із крапкою.string · decimal-string · currency-of-operation"100.00"
bonus_percentBonus percentПовернене значення «Bonus percent» відповідного запису, документа або підсумку ARM20.string"Приклад"
current_debtCurrent debtТочне повернене значення «Current debt» як десятковий рядок із крапкою.string · decimal-string · currency-of-operation"100.00"
discount_percentDiscount percentТочне повернене значення «Discount percent» як десятковий рядок із крапкою.string · decimal-string · percent"100.00"
Точна схема результату
{
    "mode": "rows",
    "columns": [
        "last_name",
        "first_name",
        "is_debt",
        "debt_limit",
        "bonus_balance",
        "bonus_percent",
        "current_debt",
        "discount_percent"
    ],
    "field_specs": {
        "last_name": {
            "title": "Прізвище",
            "description": "Повернене значення «Прізвище» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "first_name": {
            "title": "Ім’я",
            "description": "Повернене значення «Ім’я» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "is_debt": {
            "title": "Продаж у борг",
            "description": "Повернене значення «Продаж у борг» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "debt_limit": {
            "title": "Debt limit",
            "description": "Точне повернене значення «Debt limit» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "currency-of-operation",
            "example": "100.00"
        },
        "bonus_balance": {
            "title": "Баланс бонусів",
            "description": "Точне повернене значення «Баланс бонусів» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "currency-of-operation",
            "example": "100.00"
        },
        "bonus_percent": {
            "title": "Bonus percent",
            "description": "Повернене значення «Bonus percent» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "current_debt": {
            "title": "Current debt",
            "description": "Точне повернене значення «Current debt» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "currency-of-operation",
            "example": "100.00"
        },
        "discount_percent": {
            "title": "Discount percent",
            "description": "Точне повернене значення «Discount percent» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "percent",
            "example": "100.00"
        }
    }
}

Приклад запиту

POST /v1/rpc HTTP/1.1
Host: api13.arm20.com
Authorization: Bearer Ваш ключ API
Content-Type: application/json

{
    "method": "pos.checkout_discount_card_state",
    "params": {
        "card": "990000001"
    },
    "id": "example-pos-checkout-discount-card-state"
}

Замініть демонстраційні значення даними зі своєї бази.

Приклад успішної відповіді

{
    "ok": true,
    "data": {
        "method": "pos.checkout_discount_card_state",
        "result": {
            "upstream": {
                "name": "UPMAPI",
                "version": "1",
                "resource": "pos"
            },
            "status": {
                "code": "OK",
                "operation": "checkout_discount_card_state",
                "value": "1"
            },
            "rows": [
                {
                    "last_name": "Приклад",
                    "first_name": "Приклад",
                    "is_debt": "Приклад",
                    "debt_limit": "100.00",
                    "bonus_balance": "100.00",
                    "bonus_percent": "Приклад",
                    "current_debt": "100.00",
                    "discount_percent": "100.00"
                }
            ]
        },
        "id": "example-pos-checkout-discount-card-state"
    },
    "request_id": "req_example_0123456789abcdef"
}
Помилки та повтори цього методу
КодHTTPПричинаДія клієнта
INVALID_PARAMETER422Один із параметрів має неправильний тип, формат або значення.Виправити запит; автоматично не повторювати.
UPSTREAM_FAILURE502Сервер бізнес-операції недоступний або відхилив безпечний контракт.Дозволений повтор із backoff.
pos.checkout_discount_restrictionsПовертає обмеження на застосування знижок до позицій продажу. читання pos.read з 0.4.0

Повертає обмеження на застосування знижок до позицій продажу.

Перевірити JSON JSON Schema
Стабільність: стабільний Scope: pos.read Idempotency-Key: не потрібен

Параметри params

ПолеЩо означаєТип і форматПравила
Суми та кількості
discountДисконтна картка або знижка

Точне числове значення «Дисконтна картка або знижка» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.

string · decimal-string · currency-of-operation
необов’язковийПриклад: "100.00"За замовчуванням: ""
Колекції
codesКоди товарів

Масив кодів товарів. Порядок елементів зберігається під час передавання до операції.

array<string>
обов’язковийПриклад: []
Точна схема параметрів
{
    "discount": {
        "type": "string",
        "max": 512,
        "default": "",
        "title": "Дисконтна картка або знижка",
        "description": "Точне числове значення «Дисконтна картка або знижка» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "currency-of-operation",
        "example": "100.00"
    },
    "codes": {
        "type": "array",
        "required": true,
        "min_items": 1,
        "max_items": 200,
        "unique": true,
        "items": {
            "type": "string",
            "required": true,
            "max": 190,
            "pattern": "/^[^\\x00-\\x1F\\x7F]{1,190}$/uD",
            "title": "Codes item",
            "description": "Поле «Codes item» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
            "group": "Додаткові",
            "example": "Приклад"
        },
        "title": "Коди товарів",
        "description": "Масив кодів товарів. Порядок елементів зберігається під час передавання до операції.",
        "group": "Колекції",
        "example": []
    }
}

Результат

Форма відповіді: rows
ПолеЗмістТипПриклад
codeНомер дисконтної карткиПовернене значення «Номер дисконтної картки» відповідного запису, документа або підсумку ARM20.string"1001"
limit_quantityLimit quantityПовернене значення «Limit quantity» відповідного запису, документа або підсумку ARM20.string"Приклад"
used_quantityUsed quantityТочне повернене значення «Used quantity» як десятковий рядок із крапкою.string · decimal-string · product-unit"100.00"
Точна схема результату
{
    "mode": "rows",
    "columns": [
        "code",
        "limit_quantity",
        "used_quantity"
    ],
    "field_specs": {
        "code": {
            "title": "Номер дисконтної картки",
            "description": "Повернене значення «Номер дисконтної картки» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "1001"
        },
        "limit_quantity": {
            "title": "Limit quantity",
            "description": "Повернене значення «Limit quantity» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "used_quantity": {
            "title": "Used quantity",
            "description": "Точне повернене значення «Used quantity» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "product-unit",
            "example": "100.00"
        }
    }
}

Приклад запиту

POST /v1/rpc HTTP/1.1
Host: api13.arm20.com
Authorization: Bearer Ваш ключ API
Content-Type: application/json

{
    "method": "pos.checkout_discount_restrictions",
    "params": {
        "discount": "990000001",
        "codes": [
            "1001",
            "1002"
        ]
    },
    "id": "example-pos-checkout-discount-restrictions"
}

Замініть демонстраційні значення даними зі своєї бази.

Приклад успішної відповіді

{
    "ok": true,
    "data": {
        "method": "pos.checkout_discount_restrictions",
        "result": {
            "upstream": {
                "name": "UPMAPI",
                "version": "1",
                "resource": "pos"
            },
            "status": {
                "code": "OK",
                "operation": "checkout_discount_restrictions",
                "value": "1"
            },
            "rows": [
                {
                    "code": "1001",
                    "limit_quantity": "Приклад",
                    "used_quantity": "100.00"
                }
            ]
        },
        "id": "example-pos-checkout-discount-restrictions"
    },
    "request_id": "req_example_0123456789abcdef"
}
Помилки та повтори цього методу
КодHTTPПричинаДія клієнта
INVALID_PARAMETER422Один із параметрів має неправильний тип, формат або значення.Виправити запит; автоматично не повторювати.
UPSTREAM_FAILURE502Сервер бізнес-операції недоступний або відхилив безпечний контракт.Дозволений повтор із backoff.
pos.checkout_mixed_paymentПовертає склад змішаної оплати поточного чека. читання pos.read з 0.4.0

Повертає склад змішаної оплати поточного чека.

Перевірити JSON JSON Schema
Стабільність: стабільний Scope: pos.read Idempotency-Key: не потрібен

Параметри params

ПолеЩо означаєТип і форматПравила
Додаткові
ndocНомер документа

Номер службового, касового або фіскального документа у відповідному журналі.

string
необов’язковийПриклад: ""За замовчуванням: ""
Точна схема параметрів
{
    "ndoc": {
        "type": "string",
        "max": 4096,
        "default": "",
        "title": "Номер документа",
        "description": "Номер службового, касового або фіскального документа у відповідному журналі.",
        "group": "Додаткові",
        "example": ""
    }
}

Результат

Форма відповіді: rows
ПолеЗмістТипПриклад
cashГотівкова сумаТочне повернене значення «Готівкова сума» як десятковий рядок із крапкою.string · decimal-string · currency-of-operation"100.00"
cashlessCashlessТочне повернене значення «Cashless» як десятковий рядок із крапкою.string · decimal-string · currency-of-operation"100.00"
debtОплата в боргТочне повернене значення «Оплата в борг» як десятковий рядок із крапкою.string · decimal-string · currency-of-operation"100.00"
bonusОплата бонусамиТочне повернене значення «Оплата бонусами» як десятковий рядок із крапкою.string · decimal-string · currency-of-operation"100.00"
cardНомер дисконтної карткиПовернене значення «Номер дисконтної картки» відповідного запису, документа або підсумку ARM20.string"990000001"
certificateСертифікатТочне повернене значення «Сертифікат» як десятковий рядок із крапкою.string · decimal-string · currency-of-operation"100.00"
certificate_numberНомер сертифікатаПовернене значення «Номер сертифіката» відповідного запису, документа або підсумку ARM20.string"Приклад"
commentCommentПовернене значення «Comment» відповідного запису, документа або підсумку ARM20.string"Приклад"
Точна схема результату
{
    "mode": "rows",
    "columns": [
        "cash",
        "cashless",
        "debt",
        "bonus",
        "card",
        "certificate",
        "certificate_number",
        "comment"
    ],
    "field_specs": {
        "cash": {
            "title": "Готівкова сума",
            "description": "Точне повернене значення «Готівкова сума» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "currency-of-operation",
            "example": "100.00"
        },
        "cashless": {
            "title": "Cashless",
            "description": "Точне повернене значення «Cashless» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "currency-of-operation",
            "example": "100.00"
        },
        "debt": {
            "title": "Оплата в борг",
            "description": "Точне повернене значення «Оплата в борг» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "currency-of-operation",
            "example": "100.00"
        },
        "bonus": {
            "title": "Оплата бонусами",
            "description": "Точне повернене значення «Оплата бонусами» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "currency-of-operation",
            "example": "100.00"
        },
        "card": {
            "title": "Номер дисконтної картки",
            "description": "Повернене значення «Номер дисконтної картки» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "990000001"
        },
        "certificate": {
            "title": "Сертифікат",
            "description": "Точне повернене значення «Сертифікат» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "currency-of-operation",
            "example": "100.00"
        },
        "certificate_number": {
            "title": "Номер сертифіката",
            "description": "Повернене значення «Номер сертифіката» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "comment": {
            "title": "Comment",
            "description": "Повернене значення «Comment» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        }
    }
}

Приклад запиту

POST /v1/rpc HTTP/1.1
Host: api13.arm20.com
Authorization: Bearer Ваш ключ API
Content-Type: application/json

{
    "method": "pos.checkout_mixed_payment",
    "params": {
        "ndoc": "Приклад"
    },
    "id": "example-pos-checkout-mixed-payment"
}

Замініть демонстраційні значення даними зі своєї бази.

Приклад успішної відповіді

{
    "ok": true,
    "data": {
        "method": "pos.checkout_mixed_payment",
        "result": {
            "upstream": {
                "name": "UPMAPI",
                "version": "1",
                "resource": "pos"
            },
            "status": {
                "code": "OK",
                "operation": "checkout_mixed_payment",
                "value": "1"
            },
            "rows": [
                {
                    "cash": "100.00",
                    "cashless": "100.00",
                    "debt": "100.00",
                    "bonus": "100.00",
                    "card": "990000001",
                    "certificate": "100.00",
                    "certificate_number": "Приклад",
                    "comment": "Приклад"
                }
            ]
        },
        "id": "example-pos-checkout-mixed-payment"
    },
    "request_id": "req_example_0123456789abcdef"
}
Помилки та повтори цього методу
КодHTTPПричинаДія клієнта
INVALID_PARAMETER422Один із параметрів має неправильний тип, формат або значення.Виправити запит; автоматично не повторювати.
UPSTREAM_FAILURE502Сервер бізнес-операції недоступний або відхилив безпечний контракт.Дозволений повтор із backoff.
pos.checkout_store_mixed_paymentЗберігає розподіл суми чека між способами оплати. запис pos.write з 0.4.0

Зберігає розподіл суми чека між способами оплати.

Перевірити JSON JSON Schema
Стабільність: стабільний Scope: pos.write Idempotency-Key: потрібен

Параметри params

ПолеЩо означаєТип і форматПравила
Суми та кількості
bnБезготівкова оплата

Точне числове значення «Безготівкова оплата» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.

string · decimal-string · currency-of-operation
необов’язковийПриклад: "100.00"
bonusОплата бонусами

Точне числове значення «Оплата бонусами» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.

string · decimal-string · currency-of-operation
необов’язковийПриклад: "100.00"
debtОплата в борг

Точне числове значення «Оплата в борг» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.

string · decimal-string · currency-of-operation
необов’язковийПриклад: "100.00"
nalГотівкова сума

Точне числове значення «Готівкова сума» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.

string · decimal-string · currency-of-operation
необов’язковийПриклад: "100.00"
ncertНомер сертифіката

Точне числове значення «Номер сертифіката» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.

string · decimal-string · currency-of-operation
необов’язковийПриклад: "100.00"За замовчуванням: ""
Додаткові
cardНомер дисконтної картки

Поле «Номер дисконтної картки» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

string
необов’язковийПриклад: "990000001"За замовчуванням: ""
com1Основний коментар

Основний текстовий коментар, який буде збережено разом з операцією.

string
необов’язковийПриклад: ""За замовчуванням: ""
ndocНомер документа

Номер службового, касового або фіскального документа у відповідному журналі.

string
необов’язковийПриклад: ""За замовчуванням: ""
Оплата
certОплата сертифікатом

Поле «Оплата сертифікатом» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

string
необов’язковийПриклад: "Приклад"
Точна схема параметрів
{
    "bn": {
        "type": "string",
        "max": 4096,
        "title": "Безготівкова оплата",
        "description": "Точне числове значення «Безготівкова оплата» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "currency-of-operation",
        "example": "100.00"
    },
    "bonus": {
        "type": "string",
        "max": 4096,
        "title": "Оплата бонусами",
        "description": "Точне числове значення «Оплата бонусами» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "currency-of-operation",
        "example": "100.00"
    },
    "card": {
        "type": "string",
        "max": 512,
        "default": "",
        "title": "Номер дисконтної картки",
        "description": "Поле «Номер дисконтної картки» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": "990000001"
    },
    "cert": {
        "type": "string",
        "max": 4096,
        "title": "Оплата сертифікатом",
        "description": "Поле «Оплата сертифікатом» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Оплата",
        "example": "Приклад"
    },
    "com1": {
        "type": "string",
        "max": 512,
        "default": "",
        "title": "Основний коментар",
        "description": "Основний текстовий коментар, який буде збережено разом з операцією.",
        "group": "Додаткові",
        "example": ""
    },
    "debt": {
        "type": "string",
        "max": 4096,
        "title": "Оплата в борг",
        "description": "Точне числове значення «Оплата в борг» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "currency-of-operation",
        "example": "100.00"
    },
    "nal": {
        "type": "string",
        "max": 4096,
        "title": "Готівкова сума",
        "description": "Точне числове значення «Готівкова сума» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "currency-of-operation",
        "example": "100.00"
    },
    "ncert": {
        "type": "string",
        "max": 4096,
        "default": "",
        "title": "Номер сертифіката",
        "description": "Точне числове значення «Номер сертифіката» у JSON-рядку; десятковий роздільник — крапка, символ одиниці не додається.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "currency-of-operation",
        "example": "100.00"
    },
    "ndoc": {
        "type": "string",
        "max": 4096,
        "default": "",
        "title": "Номер документа",
        "description": "Номер службового, касового або фіскального документа у відповідному журналі.",
        "group": "Додаткові",
        "example": ""
    }
}

Результат

Форма відповіді: status
ПолеЗмістТипПриклад
affectedЗмінено записівКількість записів, які upstream фактично змінив.string"Приклад"
Точна схема результату
{
    "mode": "status",
    "fields": [
        "affected"
    ],
    "field_specs": {
        "affected": {
            "title": "Змінено записів",
            "description": "Кількість записів, які upstream фактично змінив.",
            "type": "string",
            "example": "Приклад"
        }
    }
}

Приклад запиту

POST /v1/rpc HTTP/1.1
Host: api13.arm20.com
Authorization: Bearer Ваш ключ API
Content-Type: application/json
Idempotency-Key: example-pos-checkout-store-mixed-payment-0001

{
    "method": "pos.checkout_store_mixed_payment",
    "params": {
        "card": "990000001",
        "ndoc": "Приклад"
    },
    "id": "example-pos-checkout-store-mixed-payment"
}

Замініть демонстраційні значення даними зі своєї бази.

Приклад успішної відповіді

{
    "ok": true,
    "data": {
        "method": "pos.checkout_store_mixed_payment",
        "result": {
            "upstream": {
                "name": "UPMAPI",
                "version": "1",
                "resource": "pos"
            },
            "status": {
                "code": "OK",
                "operation": "checkout_store_mixed_payment",
                "affected": "Приклад"
            },
            "rows": []
        },
        "id": "example-pos-checkout-store-mixed-payment"
    },
    "request_id": "req_example_0123456789abcdef"
}
Помилки та повтори цього методу
КодHTTPПричинаДія клієнта
INVALID_PARAMETER422Один із параметрів має неправильний тип, формат або значення.Виправити запит; автоматично не повторювати.
UPSTREAM_FAILURE502Сервер бізнес-операції недоступний або відхилив безпечний контракт.Не створювати новий Idempotency-Key; перевірити журнал і бізнес-об’єкт.
IDEMPOTENCY_KEY_REQUIRED422Для виконання запису не передано Idempotency-Key.Створити ключ для цієї бізнес-операції та повторити.
IDEMPOTENCY_RESULT_UNKNOWN409Результат попередньої спроби невідомий; gateway не виконав запис повторно.Звірити документ, чек або платіж; не створювати новий ключ автоматично.
pos.checkout_uktzed_rowsПовертає коди УКТ ЗЕД для фіскальних позицій чека. читання pos.read з 0.4.0

Повертає коди УКТ ЗЕД для фіскальних позицій чека.

Перевірити JSON JSON Schema
Стабільність: стабільний Scope: pos.read Idempotency-Key: не потрібен

Параметри params

ПолеЩо означаєТип і форматПравила
Колекції
codesКоди товарів

Масив кодів товарів. Порядок елементів зберігається під час передавання до операції.

array<string>
обов’язковийПриклад: []
Точна схема параметрів
{
    "codes": {
        "type": "array",
        "required": true,
        "min_items": 1,
        "max_items": 200,
        "unique": true,
        "items": {
            "type": "string",
            "required": true,
            "max": 190,
            "pattern": "/^[^\\x00-\\x1F\\x7F]{1,190}$/uD",
            "title": "Codes item",
            "description": "Поле «Codes item» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
            "group": "Додаткові",
            "example": "Приклад"
        },
        "title": "Коди товарів",
        "description": "Масив кодів товарів. Порядок елементів зберігається під час передавання до операції.",
        "group": "Колекції",
        "example": []
    }
}

Результат

Форма відповіді: rows
ПолеЗмістТипПриклад
codeКод товаруПовернене значення «Код товару» відповідного запису, документа або підсумку ARM20.string"1001"
nameНазваПовернене значення «Назва» відповідного запису, документа або підсумку ARM20.string"Тестовий товар"
uktzedКод УКТ ЗЕДПовернене значення «Код УКТ ЗЕД» відповідного запису, документа або підсумку ARM20.string"Приклад"
Точна схема результату
{
    "mode": "rows",
    "columns": [
        "code",
        "name",
        "uktzed"
    ],
    "field_specs": {
        "code": {
            "title": "Код товару",
            "description": "Повернене значення «Код товару» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "1001"
        },
        "name": {
            "title": "Назва",
            "description": "Повернене значення «Назва» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Тестовий товар"
        },
        "uktzed": {
            "title": "Код УКТ ЗЕД",
            "description": "Повернене значення «Код УКТ ЗЕД» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        }
    }
}

Приклад запиту

POST /v1/rpc HTTP/1.1
Host: api13.arm20.com
Authorization: Bearer Ваш ключ API
Content-Type: application/json

{
    "method": "pos.checkout_uktzed_rows",
    "params": {
        "codes": [
            "1001",
            "1002"
        ]
    },
    "id": "example-pos-checkout-uktzed-rows"
}

Замініть демонстраційні значення даними зі своєї бази.

Приклад успішної відповіді

{
    "ok": true,
    "data": {
        "method": "pos.checkout_uktzed_rows",
        "result": {
            "upstream": {
                "name": "UPMAPI",
                "version": "1",
                "resource": "pos"
            },
            "status": {
                "code": "OK",
                "operation": "checkout_uktzed_rows",
                "value": "1"
            },
            "rows": [
                {
                    "code": "1001",
                    "name": "Тестовий товар",
                    "uktzed": "Приклад"
                }
            ]
        },
        "id": "example-pos-checkout-uktzed-rows"
    },
    "request_id": "req_example_0123456789abcdef"
}
Помилки та повтори цього методу
КодHTTPПричинаДія клієнта
INVALID_PARAMETER422Один із параметрів має неправильний тип, формат або значення.Виправити запит; автоматично не повторювати.
UPSTREAM_FAILURE502Сервер бізнес-операції недоступний або відхилив безпечний контракт.Дозволений повтор із backoff.
pos.find_codeРозпізнає товарний, ваговий, додатковий або дисконтний код у касі. читання pos.read з 0.4.0

Розпізнає товарний, ваговий, додатковий або дисконтний код у касі.

Перевірити JSON JSON Schema
Стабільність: стабільний Scope: pos.read Idempotency-Key: не потрібен

Параметри params

ПолеЩо означаєТип і форматПравила
Додаткові
allow_alphaДозволити літерний код

Якщо true, пошук приймає коди, що містять літери.

bool
необов’язковийПриклад: falseЗа замовчуванням: false
pref_discПрефікс дисконтної картки

Префікс, за яким відсканований код розпізнається як дисконтна картка.

string
необов’язковийПриклад: ""За замовчуванням: ""
pref_vesПрефікс вагового штрихкоду

Префікс, за яким штрихкод розпізнається як ваговий.

string
необов’язковийПриклад: ""За замовчуванням: ""
Основні
codeКод товару

Публічний код товару, картки або іншого запису, як він відображається у програмі.

string
необов’язковийПриклад: "1001"За замовчуванням: ""
Точна схема параметрів
{
    "allow_alpha": {
        "type": "bool",
        "default": false,
        "title": "Дозволити літерний код",
        "description": "Якщо true, пошук приймає коди, що містять літери.",
        "group": "Додаткові",
        "example": false
    },
    "code": {
        "type": "string",
        "max": 512,
        "default": "",
        "title": "Код товару",
        "description": "Публічний код товару, картки або іншого запису, як він відображається у програмі.",
        "group": "Основні",
        "example": "1001"
    },
    "pref_disc": {
        "type": "string",
        "max": 4096,
        "default": "",
        "title": "Префікс дисконтної картки",
        "description": "Префікс, за яким відсканований код розпізнається як дисконтна картка.",
        "group": "Додаткові",
        "example": ""
    },
    "pref_ves": {
        "type": "string",
        "max": 4096,
        "default": "",
        "title": "Префікс вагового штрихкоду",
        "description": "Префікс, за яким штрихкод розпізнається як ваговий.",
        "group": "Додаткові",
        "example": ""
    }
}

Результат

Форма відповіді: rows
ПолеЗмістТипПриклад
typeТип операціїПовернене значення «Тип операції» відповідного запису, документа або підсумку ARM20.string"Приклад"
ei_flagОзнака одиниці виміруПовернене значення «Ознака одиниці виміру» відповідного запису, документа або підсумку ARM20.string"Приклад"
codeКод товаруПовернене значення «Код товару» відповідного запису, документа або підсумку ARM20.string"1001"
quantityКількістьТочне повернене значення «Кількість» як десятковий рядок із крапкою.string · decimal-string · product-unit"1.000"
Точна схема результату
{
    "mode": "rows",
    "columns": [
        "type",
        "ei_flag",
        "code",
        "quantity"
    ],
    "field_specs": {
        "type": {
            "title": "Тип операції",
            "description": "Повернене значення «Тип операції» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "ei_flag": {
            "title": "Ознака одиниці виміру",
            "description": "Повернене значення «Ознака одиниці виміру» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "code": {
            "title": "Код товару",
            "description": "Повернене значення «Код товару» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "1001"
        },
        "quantity": {
            "title": "Кількість",
            "description": "Точне повернене значення «Кількість» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "product-unit",
            "example": "1.000"
        }
    }
}

Приклад запиту

POST /v1/rpc HTTP/1.1
Host: api13.arm20.com
Authorization: Bearer Ваш ключ API
Content-Type: application/json

{
    "method": "pos.find_code",
    "params": {
        "code": "1001",
        "pref_ves": "20",
        "pref_disc": "99"
    },
    "id": "example-pos-find-code"
}

Замініть демонстраційні значення даними зі своєї бази.

Приклад успішної відповіді

{
    "ok": true,
    "data": {
        "method": "pos.find_code",
        "result": {
            "upstream": {
                "name": "UPMAPI",
                "version": "1",
                "resource": "pos"
            },
            "status": {
                "code": "OK",
                "operation": "find_code",
                "value": "1"
            },
            "rows": [
                {
                    "type": "Приклад",
                    "ei_flag": "Приклад",
                    "code": "1001",
                    "quantity": "1.000"
                }
            ]
        },
        "id": "example-pos-find-code"
    },
    "request_id": "req_example_0123456789abcdef"
}
Помилки та повтори цього методу
КодHTTPПричинаДія клієнта
INVALID_PARAMETER422Один із параметрів має неправильний тип, формат або значення.Виправити запит; автоматично не повторювати.
UPSTREAM_FAILURE502Сервер бізнес-операції недоступний або відхилив безпечний контракт.Дозволений повтор із backoff.
pos.pos_return_apply_lineЗаписує одну повернену товарну позицію до чека повернення. запис pos.write з 0.4.0

Записує одну повернену товарну позицію до чека повернення.

Перевірити JSON JSON Schema
Стабільність: стабільний Scope: pos.write Idempotency-Key: потрібен

Параметри params

ПолеЩо означаєТип і форматПравила
Основні
codeКод товару

Публічний код товару, картки або іншого запису, як він відображається у програмі.

string
обов’язковийПриклад: "1001"
storageСклад

Логічний склад: main — основний, branch — філіальний.

  • main — основний склад
  • branch — філіальний склад
enum
необов’язковийПриклад: "main"За замовчуванням: "main"
Додаткові
filНомер філії

Поле «Номер філії» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

int
необов’язковийПриклад: 1За замовчуванням: 0
return_checkНомер чека повернення

Поле «Номер чека повернення» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

int
обов’язковийПриклад: 1
skНомер складу або філії

Номер складу/філії відповідно до налаштувань бази; 0 зазвичай означає основний склад.

int
необов’язковийПриклад: 1За замовчуванням: 0
source_checkНомер початкового чека

Поле «Номер початкового чека» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

int
обов’язковийПриклад: 1
Суми та кількості
quantКількість

Кількість товару як десятковий рядок; для вагового товару дозволена дробова частина.

decimal · decimal-string · product-unit
обов’язковийПриклад: "1.000"
Точна схема параметрів
{
    "code": {
        "type": "string",
        "max": 512,
        "required": true,
        "title": "Код товару",
        "description": "Публічний код товару, картки або іншого запису, як він відображається у програмі.",
        "group": "Основні",
        "example": "1001"
    },
    "fil": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Номер філії",
        "description": "Поле «Номер філії» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": 1
    },
    "quant": {
        "type": "decimal",
        "required": true,
        "max": 32,
        "scale": 3,
        "numeric_min": 0.0001,
        "exclusive_min": true,
        "numeric_max": 1000000,
        "title": "Кількість",
        "description": "Кількість товару як десятковий рядок; для вагового товару дозволена дробова частина.",
        "group": "Суми та кількості",
        "format": "decimal-string",
        "unit": "product-unit",
        "example": "1.000"
    },
    "return_check": {
        "type": "int",
        "required": true,
        "min": 1,
        "max": 2147483647,
        "title": "Номер чека повернення",
        "description": "Поле «Номер чека повернення» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": 1
    },
    "sk": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Номер складу або філії",
        "description": "Номер складу/філії відповідно до налаштувань бази; 0 зазвичай означає основний склад.",
        "group": "Додаткові",
        "example": 1
    },
    "source_check": {
        "type": "int",
        "required": true,
        "min": 1,
        "max": 2147483647,
        "title": "Номер початкового чека",
        "description": "Поле «Номер початкового чека» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": 1
    },
    "storage": {
        "type": "enum",
        "values": [
            "main",
            "branch"
        ],
        "default": "main",
        "title": "Склад",
        "description": "Логічний склад: main — основний, branch — філіальний.",
        "group": "Основні",
        "example": "main",
        "enum_labels": {
            "main": "основний склад",
            "branch": "філіальний склад"
        }
    }
}

Результат

Форма відповіді: rows
ПолеЗмістТипПриклад
return_check_numberReturn check numberПовернене значення «Return check number» відповідного запису, документа або підсумку ARM20.string"Приклад"
restored_quantityRestored quantityТочне повернене значення «Restored quantity» як десятковий рядок із крапкою.string · decimal-string · product-unit"100.00"
Точна схема результату
{
    "mode": "rows",
    "columns": [
        "return_check_number",
        "restored_quantity"
    ],
    "field_specs": {
        "return_check_number": {
            "title": "Return check number",
            "description": "Повернене значення «Return check number» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "restored_quantity": {
            "title": "Restored quantity",
            "description": "Точне повернене значення «Restored quantity» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "product-unit",
            "example": "100.00"
        }
    }
}

Приклад запиту

POST /v1/rpc HTTP/1.1
Host: api13.arm20.com
Authorization: Bearer Ваш ключ API
Content-Type: application/json
Idempotency-Key: example-pos-pos-return-apply-line-0001

{
    "method": "pos.pos_return_apply_line",
    "params": {
        "code": "1001",
        "quant": "1.000",
        "return_check": 1,
        "source_check": 1
    },
    "id": "example-pos-pos-return-apply-line"
}

Замініть демонстраційні значення даними зі своєї бази.

Приклад успішної відповіді

{
    "ok": true,
    "data": {
        "method": "pos.pos_return_apply_line",
        "result": {
            "upstream": {
                "name": "UPMAPI",
                "version": "1",
                "resource": "pos"
            },
            "status": {
                "code": "OK",
                "operation": "pos_return_apply_line",
                "value": "1"
            },
            "rows": [
                {
                    "return_check_number": "Приклад",
                    "restored_quantity": "100.00"
                }
            ]
        },
        "id": "example-pos-pos-return-apply-line"
    },
    "request_id": "req_example_0123456789abcdef"
}
Помилки та повтори цього методу
КодHTTPПричинаДія клієнта
INVALID_PARAMETER422Один із параметрів має неправильний тип, формат або значення.Виправити запит; автоматично не повторювати.
UPSTREAM_FAILURE502Сервер бізнес-операції недоступний або відхилив безпечний контракт.Не створювати новий Idempotency-Key; перевірити журнал і бізнес-об’єкт.
IDEMPOTENCY_KEY_REQUIRED422Для виконання запису не передано Idempotency-Key.Створити ключ для цієї бізнес-операції та повторити.
IDEMPOTENCY_RESULT_UNKNOWN409Результат попередньої спроби невідомий; gateway не виконав запис повторно.Звірити документ, чек або платіж; не створювати новий ключ автоматично.
pos.precheck_deleteВидаляє збережений попередній чек. запис pos.write з 0.4.0

Видаляє збережений попередній чек.

Перевірити JSON JSON Schema
Стабільність: стабільний Scope: pos.write Idempotency-Key: потрібен

Параметри params

ПолеЩо означаєТип і форматПравила
Додаткові
kasmНомер каси

Числовий номер каси, налаштований у Windows Касі.

int
необов’язковийПриклад: 1За замовчуванням: 0
nocНомер чека

Поле «Номер чека» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

int
необов’язковийПриклад: 1За замовчуванням: 0
only_current_kasmЛише поточна каса

Визначає, чи застосовувати параметр «Лише поточна каса». Передавайте JSON true або false.

bool
необов’язковийПриклад: falseЗа замовчуванням: false
Точна схема параметрів
{
    "kasm": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Номер каси",
        "description": "Числовий номер каси, налаштований у Windows Касі.",
        "group": "Додаткові",
        "example": 1
    },
    "noc": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Номер чека",
        "description": "Поле «Номер чека» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": 1
    },
    "only_current_kasm": {
        "type": "bool",
        "default": false,
        "title": "Лише поточна каса",
        "description": "Визначає, чи застосовувати параметр «Лише поточна каса». Передавайте JSON true або false.",
        "group": "Додаткові",
        "example": false
    }
}

Результат

Форма відповіді: status
ПолеЗмістТипПриклад
affectedЗмінено записівКількість записів, які upstream фактично змінив.string"Приклад"
Точна схема результату
{
    "mode": "status",
    "fields": [
        "affected"
    ],
    "field_specs": {
        "affected": {
            "title": "Змінено записів",
            "description": "Кількість записів, які upstream фактично змінив.",
            "type": "string",
            "example": "Приклад"
        }
    }
}

Приклад запиту

POST /v1/rpc HTTP/1.1
Host: api13.arm20.com
Authorization: Bearer Ваш ключ API
Content-Type: application/json
Idempotency-Key: example-pos-precheck-delete-0001

{
    "method": "pos.precheck_delete",
    "params": {
        "kasm": 1,
        "noc": 1,
        "only_current_kasm": true
    },
    "id": "example-pos-precheck-delete"
}

Замініть демонстраційні значення даними зі своєї бази.

Приклад успішної відповіді

{
    "ok": true,
    "data": {
        "method": "pos.precheck_delete",
        "result": {
            "upstream": {
                "name": "UPMAPI",
                "version": "1",
                "resource": "pos"
            },
            "status": {
                "code": "OK",
                "operation": "precheck_delete",
                "affected": "Приклад"
            },
            "rows": []
        },
        "id": "example-pos-precheck-delete"
    },
    "request_id": "req_example_0123456789abcdef"
}
Помилки та повтори цього методу
КодHTTPПричинаДія клієнта
INVALID_PARAMETER422Один із параметрів має неправильний тип, формат або значення.Виправити запит; автоматично не повторювати.
UPSTREAM_FAILURE502Сервер бізнес-операції недоступний або відхилив безпечний контракт.Не створювати новий Idempotency-Key; перевірити журнал і бізнес-об’єкт.
IDEMPOTENCY_KEY_REQUIRED422Для виконання запису не передано Idempotency-Key.Створити ключ для цієї бізнес-операції та повторити.
IDEMPOTENCY_RESULT_UNKNOWN409Результат попередньої спроби невідомий; gateway не виконав запис повторно.Звірити документ, чек або платіж; не створювати новий ключ автоматично.
pos.precheck_kas_countsПовертає кількість попередніх чеків за касами. читання pos.read з 0.4.0

Повертає кількість попередніх чеків за касами.

Перевірити JSON JSON Schema
Стабільність: стабільний Scope: pos.read Idempotency-Key: не потрібен

Параметри params

ПолеЩо означаєТип і форматПравила
Додаткові
nocНомер чека

Поле «Номер чека» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

int
необов’язковийПриклад: 1За замовчуванням: 0
Точна схема параметрів
{
    "noc": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Номер чека",
        "description": "Поле «Номер чека» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": 1
    }
}

Результат

Форма відповіді: rows
ПолеЗмістТипПриклад
cashdesk_numberНомер касиПовернене значення «Номер каси» відповідного запису, документа або підсумку ARM20.string"Приклад"
countCountКількість рядків або об’єктів у результаті операції.string"Приклад"
Точна схема результату
{
    "mode": "rows",
    "columns": [
        "cashdesk_number",
        "count"
    ],
    "field_specs": {
        "cashdesk_number": {
            "title": "Номер каси",
            "description": "Повернене значення «Номер каси» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "count": {
            "title": "Count",
            "description": "Кількість рядків або об’єктів у результаті операції.",
            "type": "string",
            "example": "Приклад"
        }
    }
}

Приклад запиту

POST /v1/rpc HTTP/1.1
Host: api13.arm20.com
Authorization: Bearer Ваш ключ API
Content-Type: application/json

{
    "method": "pos.precheck_kas_counts",
    "params": {
        "noc": 1
    },
    "id": "example-pos-precheck-kas-counts"
}

Замініть демонстраційні значення даними зі своєї бази.

Приклад успішної відповіді

{
    "ok": true,
    "data": {
        "method": "pos.precheck_kas_counts",
        "result": {
            "upstream": {
                "name": "UPMAPI",
                "version": "1",
                "resource": "pos"
            },
            "status": {
                "code": "OK",
                "operation": "precheck_kas_counts",
                "value": "1"
            },
            "rows": [
                {
                    "cashdesk_number": "Приклад",
                    "count": "Приклад"
                }
            ]
        },
        "id": "example-pos-precheck-kas-counts"
    },
    "request_id": "req_example_0123456789abcdef"
}
Помилки та повтори цього методу
КодHTTPПричинаДія клієнта
INVALID_PARAMETER422Один із параметрів має неправильний тип, формат або значення.Виправити запит; автоматично не повторювати.
UPSTREAM_FAILURE502Сервер бізнес-операції недоступний або відхилив безпечний контракт.Дозволений повтор із backoff.
pos.precheck_linesПовертає товарні позиції збереженого попереднього чека. читання pos.read з 0.4.0

Повертає товарні позиції збереженого попереднього чека.

Перевірити JSON JSON Schema
Стабільність: стабільний Scope: pos.read Idempotency-Key: не потрібен

Параметри params

ПолеЩо означаєТип і форматПравила
Додаткові
kasmНомер каси

Числовий номер каси, налаштований у Windows Касі.

int
необов’язковийПриклад: 1За замовчуванням: 0
nocНомер чека

Поле «Номер чека» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

int
необов’язковийПриклад: 1За замовчуванням: 0
only_current_kasmЛише поточна каса

Визначає, чи застосовувати параметр «Лише поточна каса». Передавайте JSON true або false.

bool
необов’язковийПриклад: falseЗа замовчуванням: false
Точна схема параметрів
{
    "kasm": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Номер каси",
        "description": "Числовий номер каси, налаштований у Windows Касі.",
        "group": "Додаткові",
        "example": 1
    },
    "noc": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Номер чека",
        "description": "Поле «Номер чека» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": 1
    },
    "only_current_kasm": {
        "type": "bool",
        "default": false,
        "title": "Лише поточна каса",
        "description": "Визначає, чи застосовувати параметр «Лише поточна каса». Передавайте JSON true або false.",
        "group": "Додаткові",
        "example": false
    }
}

Результат

Форма відповіді: rows
ПолеЗмістТипПриклад
codeКод товаруПовернене значення «Код товару» відповідного запису, документа або підсумку ARM20.string"1001"
nameНазваПовернене значення «Назва» відповідного запису, документа або підсумку ARM20.string"Тестовий товар"
quantityКількістьТочне повернене значення «Кількість» як десятковий рядок із крапкою.string · decimal-string · product-unit"1.000"
priceЦінаТочне повернене значення «Ціна» як десятковий рядок із крапкою.string · decimal-string · currency-of-operation"100.00"
line_totalLine totalТочне повернене значення «Line total» як десятковий рядок із крапкою.string · decimal-string · currency-of-operation"100.00"
stock_quantityStock quantityТочне повернене значення «Stock quantity» як десятковий рядок із крапкою.string · decimal-string · product-unit"100.00"
remaining_quantityRemaining quantityТочне повернене значення «Remaining quantity» як десятковий рядок із крапкою.string · decimal-string · product-unit"100.00"
Точна схема результату
{
    "mode": "rows",
    "columns": [
        "code",
        "name",
        "quantity",
        "price",
        "line_total",
        "stock_quantity",
        "remaining_quantity"
    ],
    "field_specs": {
        "code": {
            "title": "Код товару",
            "description": "Повернене значення «Код товару» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "1001"
        },
        "name": {
            "title": "Назва",
            "description": "Повернене значення «Назва» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Тестовий товар"
        },
        "quantity": {
            "title": "Кількість",
            "description": "Точне повернене значення «Кількість» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "product-unit",
            "example": "1.000"
        },
        "price": {
            "title": "Ціна",
            "description": "Точне повернене значення «Ціна» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "currency-of-operation",
            "example": "100.00"
        },
        "line_total": {
            "title": "Line total",
            "description": "Точне повернене значення «Line total» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "currency-of-operation",
            "example": "100.00"
        },
        "stock_quantity": {
            "title": "Stock quantity",
            "description": "Точне повернене значення «Stock quantity» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "product-unit",
            "example": "100.00"
        },
        "remaining_quantity": {
            "title": "Remaining quantity",
            "description": "Точне повернене значення «Remaining quantity» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "product-unit",
            "example": "100.00"
        }
    }
}

Приклад запиту

POST /v1/rpc HTTP/1.1
Host: api13.arm20.com
Authorization: Bearer Ваш ключ API
Content-Type: application/json

{
    "method": "pos.precheck_lines",
    "params": {
        "kasm": 1,
        "noc": 1,
        "only_current_kasm": true
    },
    "id": "example-pos-precheck-lines"
}

Замініть демонстраційні значення даними зі своєї бази.

Приклад успішної відповіді

{
    "ok": true,
    "data": {
        "method": "pos.precheck_lines",
        "result": {
            "upstream": {
                "name": "UPMAPI",
                "version": "1",
                "resource": "pos"
            },
            "status": {
                "code": "OK",
                "operation": "precheck_lines",
                "value": "1"
            },
            "rows": [
                {
                    "code": "1001",
                    "name": "Тестовий товар",
                    "quantity": "1.000",
                    "price": "100.00",
                    "line_total": "100.00",
                    "stock_quantity": "100.00",
                    "remaining_quantity": "100.00"
                }
            ]
        },
        "id": "example-pos-precheck-lines"
    },
    "request_id": "req_example_0123456789abcdef"
}
Помилки та повтори цього методу
КодHTTPПричинаДія клієнта
INVALID_PARAMETER422Один із параметрів має неправильний тип, формат або значення.Виправити запит; автоматично не повторювати.
UPSTREAM_FAILURE502Сервер бізнес-операції недоступний або відхилив безпечний контракт.Дозволений повтор із backoff.
pos.precheck_listПовертає список збережених попередніх чеків. читання pos.read з 0.4.0

Повертає список збережених попередніх чеків.

Перевірити JSON JSON Schema
Стабільність: стабільний Scope: pos.read Idempotency-Key: не потрібен

Параметри params

Параметри не потрібні. Передайте порожній об’єкт {}.
Точна схема параметрів
{}

Результат

Форма відповіді: rows
ПолеЗмістТипПриклад
precheck_numberPrecheck numberПовернене значення «Precheck number» відповідного запису, документа або підсумку ARM20.string"Приклад"
totalTotalКількість рядків або об’єктів у результаті операції.string · decimal-string · currency-of-operation"100.00"
Точна схема результату
{
    "mode": "rows",
    "columns": [
        "precheck_number",
        "total"
    ],
    "field_specs": {
        "precheck_number": {
            "title": "Precheck number",
            "description": "Повернене значення «Precheck number» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "total": {
            "title": "Total",
            "description": "Кількість рядків або об’єктів у результаті операції.",
            "type": "string",
            "format": "decimal-string",
            "unit": "currency-of-operation",
            "example": "100.00"
        }
    }
}

Приклад запиту

POST /v1/rpc HTTP/1.1
Host: api13.arm20.com
Authorization: Bearer Ваш ключ API
Content-Type: application/json

{
    "method": "pos.precheck_list",
    "params": [],
    "id": "example-pos-precheck-list"
}

Замініть демонстраційні значення даними зі своєї бази.

Приклад успішної відповіді

{
    "ok": true,
    "data": {
        "method": "pos.precheck_list",
        "result": {
            "upstream": {
                "name": "UPMAPI",
                "version": "1",
                "resource": "pos"
            },
            "status": {
                "code": "OK",
                "operation": "precheck_list",
                "value": "1"
            },
            "rows": [
                {
                    "precheck_number": "Приклад",
                    "total": "100.00"
                }
            ]
        },
        "id": "example-pos-precheck-list"
    },
    "request_id": "req_example_0123456789abcdef"
}
Помилки та повтори цього методу
КодHTTPПричинаДія клієнта
INVALID_PARAMETER422Один із параметрів має неправильний тип, формат або значення.Виправити запит; автоматично не повторювати.
UPSTREAM_FAILURE502Сервер бізнес-операції недоступний або відхилив безпечний контракт.Дозволений повтор із backoff.
pos.precheck_next_numberПовертає наступний номер попереднього чека. читання pos.read з 0.4.0

Повертає наступний номер попереднього чека.

Перевірити JSON JSON Schema
Стабільність: стабільний Scope: pos.read Idempotency-Key: не потрібен

Параметри params

Параметри не потрібні. Передайте порожній об’єкт {}.
Точна схема параметрів
{}

Результат

Форма відповіді: scalar
ПолеЗмістТипПриклад
valueЗначенняПовернене значення «Значення» відповідного запису, документа або підсумку ARM20.string"Приклад"
Точна схема результату
{
    "mode": "scalar",
    "value_type": "string",
    "value_spec": {
        "title": "Значення",
        "description": "Повернене значення «Значення» відповідного запису, документа або підсумку ARM20.",
        "type": "string",
        "example": "Приклад"
    }
}

Приклад запиту

POST /v1/rpc HTTP/1.1
Host: api13.arm20.com
Authorization: Bearer Ваш ключ API
Content-Type: application/json

{
    "method": "pos.precheck_next_number",
    "params": [],
    "id": "example-pos-precheck-next-number"
}

Замініть демонстраційні значення даними зі своєї бази.

Приклад успішної відповіді

{
    "ok": true,
    "data": {
        "method": "pos.precheck_next_number",
        "result": {
            "upstream": {
                "name": "UPMAPI",
                "version": "1",
                "resource": "pos"
            },
            "status": {
                "code": "OK",
                "operation": "precheck_next_number",
                "value": "Приклад"
            },
            "rows": []
        },
        "id": "example-pos-precheck-next-number"
    },
    "request_id": "req_example_0123456789abcdef"
}
Помилки та повтори цього методу
КодHTTPПричинаДія клієнта
INVALID_PARAMETER422Один із параметрів має неправильний тип, формат або значення.Виправити запит; автоматично не повторювати.
UPSTREAM_FAILURE502Сервер бізнес-операції недоступний або відхилив безпечний контракт.Дозволений повтор із backoff.
pos.precheck_saveЗберігає поточний продаж як попередній чек. запис pos.write з 0.4.0

Зберігає поточний продаж як попередній чек.

Перевірити JSON JSON Schema
Стабільність: стабільний Scope: pos.write Idempotency-Key: потрібен

Параметри params

ПолеЩо означаєТип і форматПравила
Додаткові
filНомер філії

Поле «Номер філії» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

int
необов’язковийПриклад: 1За замовчуванням: 0
kasmНомер каси

Числовий номер каси, налаштований у Windows Касі.

int
необов’язковийПриклад: 1За замовчуванням: 0
nocНомер чека

Поле «Номер чека» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

int
необов’язковийПриклад: 1За замовчуванням: 0
pref_discПрефікс дисконтної картки

Префікс, за яким відсканований код розпізнається як дисконтна картка.

string
необов’язковийПриклад: ""За замовчуванням: ""
Основні
modeРежим операції

Вибирає один із підтримуваних сценаріїв операції. Значення та їх зміст наведено у списку варіантів.

  • slot — зберегти у вибрану комірку попереднього чека
  • preorder — зберегти як попереднє замовлення
enum
необов’язковийПриклад: "slot"За замовчуванням: "slot"
Колекції
rowsРядки операції

Структурований масив рядків. Невідомі поля та порушення схеми відхиляються gateway.

array<object>
обов’язковийПриклад: []
Точна схема параметрів
{
    "fil": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Номер філії",
        "description": "Поле «Номер філії» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": 1
    },
    "kasm": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Номер каси",
        "description": "Числовий номер каси, налаштований у Windows Касі.",
        "group": "Додаткові",
        "example": 1
    },
    "mode": {
        "type": "enum",
        "values": [
            "slot",
            "preorder"
        ],
        "default": "slot",
        "title": "Режим операції",
        "description": "Вибирає один із підтримуваних сценаріїв операції. Значення та їх зміст наведено у списку варіантів.",
        "group": "Основні",
        "example": "slot",
        "enum_labels": {
            "slot": "зберегти у вибрану комірку попереднього чека",
            "preorder": "зберегти як попереднє замовлення"
        }
    },
    "noc": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Номер чека",
        "description": "Поле «Номер чека» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": 1
    },
    "pref_disc": {
        "type": "string",
        "max": 4096,
        "default": "",
        "title": "Префікс дисконтної картки",
        "description": "Префікс, за яким відсканований код розпізнається як дисконтна картка.",
        "group": "Додаткові",
        "example": ""
    },
    "rows": {
        "type": "array",
        "required": true,
        "min_items": 1,
        "max_items": 220,
        "items": {
            "type": "object",
            "fields": {
                "code": {
                    "type": "string",
                    "required": true,
                    "max": 190,
                    "pattern": "/^[^\\x00-\\x1F\\x7F]{1,190}$/uD",
                    "title": "Код товару",
                    "description": "Публічний код товару, картки або іншого запису, як він відображається у програмі.",
                    "group": "Основні",
                    "example": "1001"
                },
                "nt": {
                    "type": "string",
                    "max": 512,
                    "pattern": "/^[^\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F]*$/uD",
                    "title": "Назва товару",
                    "description": "Поле «Назва товару» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
                    "group": "Основні",
                    "example": "Тестовий товар"
                },
                "quant": {
                    "type": "decimal",
                    "required": true,
                    "max": 32,
                    "scale": 3,
                    "numeric_min": 0,
                    "exclusive_min": true,
                    "numeric_max": 1000000,
                    "title": "Кількість",
                    "description": "Кількість товару як десятковий рядок; для вагового товару дозволена дробова частина.",
                    "group": "Суми та кількості",
                    "format": "decimal-string",
                    "unit": "product-unit",
                    "example": "1.000"
                },
                "price": {
                    "type": "decimal",
                    "required": true,
                    "max": 32,
                    "scale": 2,
                    "numeric_min": 0,
                    "numeric_max": 999999999999.99,
                    "title": "Ціна",
                    "description": "Ціна за одиницю товару як десятковий рядок без символу валюти.",
                    "group": "Суми та кількості",
                    "format": "decimal-string",
                    "unit": "currency-of-operation",
                    "example": "100.00"
                }
            }
        },
        "title": "Рядки операції",
        "description": "Структурований масив рядків. Невідомі поля та порушення схеми відхиляються gateway.",
        "group": "Колекції",
        "example": []
    }
}

Результат

Форма відповіді: rows
ПолеЗмістТипПриклад
precheck_numberPrecheck numberПовернене значення «Precheck number» відповідного запису, документа або підсумку ARM20.string"Приклад"
insertedInsertedПовернене значення «Inserted» відповідного запису, документа або підсумку ARM20.string"Приклад"
Точна схема результату
{
    "mode": "rows",
    "columns": [
        "precheck_number",
        "inserted"
    ],
    "field_specs": {
        "precheck_number": {
            "title": "Precheck number",
            "description": "Повернене значення «Precheck number» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "inserted": {
            "title": "Inserted",
            "description": "Повернене значення «Inserted» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        }
    }
}

Приклад запиту

POST /v1/rpc HTTP/1.1
Host: api13.arm20.com
Authorization: Bearer Ваш ключ API
Content-Type: application/json
Idempotency-Key: example-pos-precheck-save-0001

{
    "method": "pos.precheck_save",
    "params": {
        "mode": "slot",
        "rows": [
            {
                "code": "1001",
                "nt": "Тестовий товар",
                "quant": "1.000",
                "price": "12.50"
            }
        ]
    },
    "id": "example-pos-precheck-save"
}

Замініть демонстраційні значення даними зі своєї бази.

Приклад успішної відповіді

{
    "ok": true,
    "data": {
        "method": "pos.precheck_save",
        "result": {
            "upstream": {
                "name": "UPMAPI",
                "version": "1",
                "resource": "pos"
            },
            "status": {
                "code": "OK",
                "operation": "precheck_save",
                "value": "1"
            },
            "rows": [
                {
                    "precheck_number": "Приклад",
                    "inserted": "Приклад"
                }
            ]
        },
        "id": "example-pos-precheck-save"
    },
    "request_id": "req_example_0123456789abcdef"
}
Помилки та повтори цього методу
КодHTTPПричинаДія клієнта
INVALID_PARAMETER422Один із параметрів має неправильний тип, формат або значення.Виправити запит; автоматично не повторювати.
UPSTREAM_FAILURE502Сервер бізнес-операції недоступний або відхилив безпечний контракт.Не створювати новий Idempotency-Key; перевірити журнал і бізнес-об’єкт.
IDEMPOTENCY_KEY_REQUIRED422Для виконання запису не передано Idempotency-Key.Створити ключ для цієї бізнес-операції та повторити.
IDEMPOTENCY_RESULT_UNKNOWN409Результат попередньої спроби невідомий; gateway не виконав запис повторно.Звірити документ, чек або платіж; не створювати новий ключ автоматично.
pos.precheck_slotsПовертає доступні комірки для збереження попередніх чеків. читання pos.read з 0.4.0

Повертає доступні комірки для збереження попередніх чеків.

Перевірити JSON JSON Schema
Стабільність: стабільний Scope: pos.read Idempotency-Key: не потрібен

Параметри params

ПолеЩо означаєТип і форматПравила
Додаткові
kasmНомер каси

Числовий номер каси, налаштований у Windows Касі.

int
необов’язковийПриклад: 1За замовчуванням: 0
Точна схема параметрів
{
    "kasm": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Номер каси",
        "description": "Числовий номер каси, налаштований у Windows Касі.",
        "group": "Додаткові",
        "example": 1
    }
}

Результат

Форма відповіді: rows
ПолеЗмістТипПриклад
slot_numberSlot numberПовернене значення «Slot number» відповідного запису, документа або підсумку ARM20.string"Приклад"
Точна схема результату
{
    "mode": "rows",
    "columns": [
        "slot_number"
    ],
    "field_specs": {
        "slot_number": {
            "title": "Slot number",
            "description": "Повернене значення «Slot number» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        }
    }
}

Приклад запиту

POST /v1/rpc HTTP/1.1
Host: api13.arm20.com
Authorization: Bearer Ваш ключ API
Content-Type: application/json

{
    "method": "pos.precheck_slots",
    "params": {
        "kasm": 1
    },
    "id": "example-pos-precheck-slots"
}

Замініть демонстраційні значення даними зі своєї бази.

Приклад успішної відповіді

{
    "ok": true,
    "data": {
        "method": "pos.precheck_slots",
        "result": {
            "upstream": {
                "name": "UPMAPI",
                "version": "1",
                "resource": "pos"
            },
            "status": {
                "code": "OK",
                "operation": "precheck_slots",
                "value": "1"
            },
            "rows": [
                {
                    "slot_number": "Приклад"
                }
            ]
        },
        "id": "example-pos-precheck-slots"
    },
    "request_id": "req_example_0123456789abcdef"
}
Помилки та повтори цього методу
КодHTTPПричинаДія клієнта
INVALID_PARAMETER422Один із параметрів має неправильний тип, формат або значення.Виправити запит; автоматично не повторювати.
UPSTREAM_FAILURE502Сервер бізнес-операції недоступний або відхилив безпечний контракт.Дозволений повтор із backoff.
pos.precheck_update_pricesОновлює ціни товарних позицій у збереженому попередньому чеку. запис pos.write з 0.4.0

Оновлює ціни товарних позицій у збереженому попередньому чеку.

Перевірити JSON JSON Schema
Стабільність: стабільний Scope: pos.write Idempotency-Key: потрібен

Параметри params

ПолеЩо означаєТип і форматПравила
Додаткові
nocНомер чека

Поле «Номер чека» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

int
необов’язковийПриклад: 1За замовчуванням: 0
Точна схема параметрів
{
    "noc": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Номер чека",
        "description": "Поле «Номер чека» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": 1
    }
}

Результат

Форма відповіді: status
ПолеЗмістТипПриклад
affectedЗмінено записівКількість записів, які upstream фактично змінив.string"Приклад"
Точна схема результату
{
    "mode": "status",
    "fields": [
        "affected"
    ],
    "field_specs": {
        "affected": {
            "title": "Змінено записів",
            "description": "Кількість записів, які upstream фактично змінив.",
            "type": "string",
            "example": "Приклад"
        }
    }
}

Приклад запиту

POST /v1/rpc HTTP/1.1
Host: api13.arm20.com
Authorization: Bearer Ваш ключ API
Content-Type: application/json
Idempotency-Key: example-pos-precheck-update-prices-0001

{
    "method": "pos.precheck_update_prices",
    "params": {
        "noc": 1
    },
    "id": "example-pos-precheck-update-prices"
}

Замініть демонстраційні значення даними зі своєї бази.

Приклад успішної відповіді

{
    "ok": true,
    "data": {
        "method": "pos.precheck_update_prices",
        "result": {
            "upstream": {
                "name": "UPMAPI",
                "version": "1",
                "resource": "pos"
            },
            "status": {
                "code": "OK",
                "operation": "precheck_update_prices",
                "affected": "Приклад"
            },
            "rows": []
        },
        "id": "example-pos-precheck-update-prices"
    },
    "request_id": "req_example_0123456789abcdef"
}
Помилки та повтори цього методу
КодHTTPПричинаДія клієнта
INVALID_PARAMETER422Один із параметрів має неправильний тип, формат або значення.Виправити запит; автоматично не повторювати.
UPSTREAM_FAILURE502Сервер бізнес-операції недоступний або відхилив безпечний контракт.Не створювати новий Idempotency-Key; перевірити журнал і бізнес-об’єкт.
IDEMPOTENCY_KEY_REQUIRED422Для виконання запису не передано Idempotency-Key.Створити ключ для цієї бізнес-операції та повторити.
IDEMPOTENCY_RESULT_UNKNOWN409Результат попередньої спроби невідомий; gateway не виконав запис повторно.Звірити документ, чек або платіж; не створювати новий ключ автоматично.
pos.product_rowПовертає дані одного товару, потрібні касі для продажу. читання pos.read з 0.4.0

Повертає дані одного товару, потрібні касі для продажу.

Перевірити JSON JSON Schema
Стабільність: стабільний Scope: pos.read Idempotency-Key: не потрібен

Параметри params

ПолеЩо означаєТип і форматПравила
Основні
codeКод товару

Публічний код товару, картки або іншого запису, як він відображається у програмі.

string
необов’язковийПриклад: "1001"За замовчуванням: ""
storageСклад

Логічний склад: main — основний, branch — філіальний.

  • main — основний склад
  • branch — філіальний склад
enum
необов’язковийПриклад: "main"За замовчуванням: "main"
Додаткові
skНомер складу або філії

Номер складу/філії відповідно до налаштувань бази; 0 зазвичай означає основний склад.

int
необов’язковийПриклад: 1За замовчуванням: 0
Точна схема параметрів
{
    "code": {
        "type": "string",
        "max": 512,
        "default": "",
        "title": "Код товару",
        "description": "Публічний код товару, картки або іншого запису, як він відображається у програмі.",
        "group": "Основні",
        "example": "1001"
    },
    "sk": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Номер складу або філії",
        "description": "Номер складу/філії відповідно до налаштувань бази; 0 зазвичай означає основний склад.",
        "group": "Додаткові",
        "example": 1
    },
    "storage": {
        "type": "enum",
        "values": [
            "main",
            "branch"
        ],
        "default": "main",
        "title": "Склад",
        "description": "Логічний склад: main — основний, branch — філіальний.",
        "group": "Основні",
        "example": "main",
        "enum_labels": {
            "main": "основний склад",
            "branch": "філіальний склад"
        }
    }
}

Результат

Форма відповіді: rows
ПолеЗмістТипПриклад
codeКод товаруПовернене значення «Код товару» відповідного запису, документа або підсумку ARM20.string"1001"
nameНазваПовернене значення «Назва» відповідного запису, документа або підсумку ARM20.string"Тестовий товар"
unit_typeОдиниця виміруПовернене значення «Одиниця виміру» відповідного запису, документа або підсумку ARM20.string"Приклад"
priceЦінаТочне повернене значення «Ціна» як десятковий рядок із крапкою.string · decimal-string · currency-of-operation"100.00"
category_idІдентифікатор категоріїПовернене значення «Ідентифікатор категорії» відповідного запису, документа або підсумку ARM20.string"Приклад"
category_nameНазва категоріїПовернене значення «Назва категорії» відповідного запису, документа або підсумку ARM20.string"Приклад"
parent_category_idParent category idПовернене значення «Parent category id» відповідного запису, документа або підсумку ARM20.string"Приклад"
no_discountЗаборонити знижкуПовернене значення «Заборонити знижку» відповідного запису, документа або підсумку ARM20.string"Приклад"
c2C2Повернене значення «C2» відповідного запису, документа або підсумку ARM20.string"Приклад"
quantityКількістьТочне повернене значення «Кількість» як десятковий рядок із крапкою.string · decimal-string · product-unit"1.000"
additional_infoДодаткова інформаціяПовернене значення «Додаткова інформація» відповідного запису, документа або підсумку ARM20.string"Приклад"
excise_inputExcise inputПовернене значення «Excise input» відповідного запису, документа або підсумку ARM20.string"Приклад"
Точна схема результату
{
    "mode": "rows",
    "columns": [
        "code",
        "name",
        "unit_type",
        "price",
        "category_id",
        "category_name",
        "parent_category_id",
        "no_discount",
        "c2",
        "quantity",
        "additional_info",
        "excise_input"
    ],
    "field_specs": {
        "code": {
            "title": "Код товару",
            "description": "Повернене значення «Код товару» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "1001"
        },
        "name": {
            "title": "Назва",
            "description": "Повернене значення «Назва» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Тестовий товар"
        },
        "unit_type": {
            "title": "Одиниця виміру",
            "description": "Повернене значення «Одиниця виміру» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "price": {
            "title": "Ціна",
            "description": "Точне повернене значення «Ціна» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "currency-of-operation",
            "example": "100.00"
        },
        "category_id": {
            "title": "Ідентифікатор категорії",
            "description": "Повернене значення «Ідентифікатор категорії» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "category_name": {
            "title": "Назва категорії",
            "description": "Повернене значення «Назва категорії» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "parent_category_id": {
            "title": "Parent category id",
            "description": "Повернене значення «Parent category id» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "no_discount": {
            "title": "Заборонити знижку",
            "description": "Повернене значення «Заборонити знижку» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "c2": {
            "title": "C2",
            "description": "Повернене значення «C2» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "quantity": {
            "title": "Кількість",
            "description": "Точне повернене значення «Кількість» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "product-unit",
            "example": "1.000"
        },
        "additional_info": {
            "title": "Додаткова інформація",
            "description": "Повернене значення «Додаткова інформація» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "excise_input": {
            "title": "Excise input",
            "description": "Повернене значення «Excise input» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        }
    }
}

Приклад запиту

POST /v1/rpc HTTP/1.1
Host: api13.arm20.com
Authorization: Bearer Ваш ключ API
Content-Type: application/json

{
    "method": "pos.product_row",
    "params": {
        "code": "1001",
        "sk": 1,
        "storage": "main"
    },
    "id": "example-pos-product-row"
}

Замініть демонстраційні значення даними зі своєї бази.

Приклад успішної відповіді

{
    "ok": true,
    "data": {
        "method": "pos.product_row",
        "result": {
            "upstream": {
                "name": "UPMAPI",
                "version": "1",
                "resource": "pos"
            },
            "status": {
                "code": "OK",
                "operation": "product_row",
                "value": "1"
            },
            "rows": [
                {
                    "code": "1001",
                    "name": "Тестовий товар",
                    "unit_type": "Приклад",
                    "price": "100.00",
                    "category_id": "Приклад",
                    "category_name": "Приклад",
                    "parent_category_id": "Приклад",
                    "no_discount": "Приклад",
                    "c2": "Приклад",
                    "quantity": "1.000",
                    "additional_info": "Приклад",
                    "excise_input": "Приклад"
                }
            ]
        },
        "id": "example-pos-product-row"
    },
    "request_id": "req_example_0123456789abcdef"
}
Помилки та повтори цього методу
КодHTTPПричинаДія клієнта
INVALID_PARAMETER422Один із параметрів має неправильний тип, формат або значення.Виправити запит; автоматично не повторювати.
UPSTREAM_FAILURE502Сервер бізнес-операції недоступний або відхилив безпечний контракт.Дозволений повтор із backoff.
pos.scan_analogsПовертає аналоги відсканованого товару. читання pos.read з 0.4.0

Повертає аналоги відсканованого товару.

Перевірити JSON JSON Schema
Стабільність: стабільний Scope: pos.read Idempotency-Key: не потрібен

Параметри params

ПолеЩо означаєТип і форматПравила
Основні
codeКод товару

Публічний код товару, картки або іншого запису, як він відображається у програмі.

string
необов’язковийПриклад: "1001"За замовчуванням: ""
storageСклад

Логічний склад: main — основний, branch — філіальний.

  • main — основний склад
  • branch — філіальний склад
enum
необов’язковийПриклад: "main"За замовчуванням: "main"
Додаткові
skНомер складу або філії

Номер складу/філії відповідно до налаштувань бази; 0 зазвичай означає основний склад.

int
необов’язковийПриклад: 1За замовчуванням: 0
Точна схема параметрів
{
    "code": {
        "type": "string",
        "max": 512,
        "default": "",
        "title": "Код товару",
        "description": "Публічний код товару, картки або іншого запису, як він відображається у програмі.",
        "group": "Основні",
        "example": "1001"
    },
    "sk": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Номер складу або філії",
        "description": "Номер складу/філії відповідно до налаштувань бази; 0 зазвичай означає основний склад.",
        "group": "Додаткові",
        "example": 1
    },
    "storage": {
        "type": "enum",
        "values": [
            "main",
            "branch"
        ],
        "default": "main",
        "title": "Склад",
        "description": "Логічний склад: main — основний, branch — філіальний.",
        "group": "Основні",
        "example": "main",
        "enum_labels": {
            "main": "основний склад",
            "branch": "філіальний склад"
        }
    }
}

Результат

Форма відповіді: rows
ПолеЗмістТипПриклад
codeКод товаруПовернене значення «Код товару» відповідного запису, документа або підсумку ARM20.string"1001"
nameНазваПовернене значення «Назва» відповідного запису, документа або підсумку ARM20.string"Тестовий товар"
unit_typeОдиниця виміруПовернене значення «Одиниця виміру» відповідного запису, документа або підсумку ARM20.string"Приклад"
quantityКількістьТочне повернене значення «Кількість» як десятковий рядок із крапкою.string · decimal-string · product-unit"1.000"
priceЦінаТочне повернене значення «Ціна» як десятковий рядок із крапкою.string · decimal-string · currency-of-operation"100.00"
Точна схема результату
{
    "mode": "rows",
    "columns": [
        "code",
        "name",
        "unit_type",
        "quantity",
        "price"
    ],
    "field_specs": {
        "code": {
            "title": "Код товару",
            "description": "Повернене значення «Код товару» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "1001"
        },
        "name": {
            "title": "Назва",
            "description": "Повернене значення «Назва» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Тестовий товар"
        },
        "unit_type": {
            "title": "Одиниця виміру",
            "description": "Повернене значення «Одиниця виміру» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "quantity": {
            "title": "Кількість",
            "description": "Точне повернене значення «Кількість» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "product-unit",
            "example": "1.000"
        },
        "price": {
            "title": "Ціна",
            "description": "Точне повернене значення «Ціна» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "currency-of-operation",
            "example": "100.00"
        }
    }
}

Приклад запиту

POST /v1/rpc HTTP/1.1
Host: api13.arm20.com
Authorization: Bearer Ваш ключ API
Content-Type: application/json

{
    "method": "pos.scan_analogs",
    "params": {
        "code": "1001",
        "sk": 1,
        "storage": "main"
    },
    "id": "example-pos-scan-analogs"
}

Замініть демонстраційні значення даними зі своєї бази.

Приклад успішної відповіді

{
    "ok": true,
    "data": {
        "method": "pos.scan_analogs",
        "result": {
            "upstream": {
                "name": "UPMAPI",
                "version": "1",
                "resource": "pos"
            },
            "status": {
                "code": "OK",
                "operation": "scan_analogs",
                "value": "1"
            },
            "rows": [
                {
                    "code": "1001",
                    "name": "Тестовий товар",
                    "unit_type": "Приклад",
                    "quantity": "1.000",
                    "price": "100.00"
                }
            ]
        },
        "id": "example-pos-scan-analogs"
    },
    "request_id": "req_example_0123456789abcdef"
}
Помилки та повтори цього методу
КодHTTPПричинаДія клієнта
INVALID_PARAMETER422Один із параметрів має неправильний тип, формат або значення.Виправити запит; автоматично не повторювати.
UPSTREAM_FAILURE502Сервер бізнес-операції недоступний або відхилив безпечний контракт.Дозволений повтор із backoff.
pos.scan_pictureПовертає зображення відсканованого товару. читання pos.read з 0.4.0

Повертає зображення відсканованого товару.

Перевірити JSON JSON Schema
Стабільність: стабільний Scope: pos.read Idempotency-Key: не потрібен

Параметри params

ПолеЩо означаєТип і форматПравила
Основні
codeКод товару

Публічний код товару, картки або іншого запису, як він відображається у програмі.

string
необов’язковийПриклад: "1001"За замовчуванням: ""
Точна схема параметрів
{
    "code": {
        "type": "string",
        "max": 512,
        "default": "",
        "title": "Код товару",
        "description": "Публічний код товару, картки або іншого запису, як він відображається у програмі.",
        "group": "Основні",
        "example": "1001"
    }
}

Результат

Форма відповіді: rows
ПолеЗмістТипПриклад
folderFolderПовернене значення «Folder» відповідного запису, документа або підсумку ARM20.string"Приклад"
picturePictureПовернене значення «Picture» відповідного запису, документа або підсумку ARM20.string"Приклад"
Точна схема результату
{
    "mode": "rows",
    "columns": [
        "folder",
        "picture"
    ],
    "field_specs": {
        "folder": {
            "title": "Folder",
            "description": "Повернене значення «Folder» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "picture": {
            "title": "Picture",
            "description": "Повернене значення «Picture» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        }
    }
}

Приклад запиту

POST /v1/rpc HTTP/1.1
Host: api13.arm20.com
Authorization: Bearer Ваш ключ API
Content-Type: application/json

{
    "method": "pos.scan_picture",
    "params": {
        "code": "1001"
    },
    "id": "example-pos-scan-picture"
}

Замініть демонстраційні значення даними зі своєї бази.

Приклад успішної відповіді

{
    "ok": true,
    "data": {
        "method": "pos.scan_picture",
        "result": {
            "upstream": {
                "name": "UPMAPI",
                "version": "1",
                "resource": "pos"
            },
            "status": {
                "code": "OK",
                "operation": "scan_picture",
                "value": "1"
            },
            "rows": [
                {
                    "folder": "Приклад",
                    "picture": "Приклад"
                }
            ]
        },
        "id": "example-pos-scan-picture"
    },
    "request_id": "req_example_0123456789abcdef"
}
Помилки та повтори цього методу
КодHTTPПричинаДія клієнта
INVALID_PARAMETER422Один із параметрів має неправильний тип, формат або значення.Виправити запит; автоматично не повторювати.
UPSTREAM_FAILURE502Сервер бізнес-операції недоступний або відхилив безпечний контракт.Дозволений повтор із backoff.
pos.scan_product_infoПовертає дані відсканованого товару для додавання до чека. читання pos.read з 0.4.0

Повертає дані відсканованого товару для додавання до чека.

Перевірити JSON JSON Schema
Стабільність: стабільний Scope: pos.read Idempotency-Key: не потрібен

Параметри params

ПолеЩо означаєТип і форматПравила
Основні
codeКод товару

Публічний код товару, картки або іншого запису, як він відображається у програмі.

string
необов’язковийПриклад: "1001"За замовчуванням: ""
storageСклад

Логічний склад: main — основний, branch — філіальний.

  • main — основний склад
  • branch — філіальний склад
enum
необов’язковийПриклад: "main"За замовчуванням: "main"
Додаткові
skНомер складу або філії

Номер складу/філії відповідно до налаштувань бази; 0 зазвичай означає основний склад.

int
необов’язковийПриклад: 1За замовчуванням: 0
Точна схема параметрів
{
    "code": {
        "type": "string",
        "max": 512,
        "default": "",
        "title": "Код товару",
        "description": "Публічний код товару, картки або іншого запису, як він відображається у програмі.",
        "group": "Основні",
        "example": "1001"
    },
    "sk": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Номер складу або філії",
        "description": "Номер складу/філії відповідно до налаштувань бази; 0 зазвичай означає основний склад.",
        "group": "Додаткові",
        "example": 1
    },
    "storage": {
        "type": "enum",
        "values": [
            "main",
            "branch"
        ],
        "default": "main",
        "title": "Склад",
        "description": "Логічний склад: main — основний, branch — філіальний.",
        "group": "Основні",
        "example": "main",
        "enum_labels": {
            "main": "основний склад",
            "branch": "філіальний склад"
        }
    }
}

Результат

Форма відповіді: variable_rows
ПолеЗмістТипПриклад
tagTagПовернене значення «Tag» відповідного запису, документа або підсумку ARM20.string"Приклад"
codeКод товаруПовернене значення «Код товару» відповідного запису, документа або підсумку ARM20.string"1001"
nameНазваПовернене значення «Назва» відповідного запису, документа або підсумку ARM20.string"Тестовий товар"
unit_typeОдиниця виміруПовернене значення «Одиниця виміру» відповідного запису, документа або підсумку ARM20.string"Приклад"
priceЦінаТочне повернене значення «Ціна» як десятковий рядок із крапкою.string · decimal-string · currency-of-operation"100.00"
no_discountЗаборонити знижкуПовернене значення «Заборонити знижку» відповідного запису, документа або підсумку ARM20.string"Приклад"
quantityКількістьТочне повернене значення «Кількість» як десятковий рядок із крапкою.string · decimal-string · product-unit"1.000"
descriptionОписПовернене значення «Опис» відповідного запису, документа або підсумку ARM20.string"Приклад"
extra_valuesExtra valuesПовернене значення «Extra values» відповідного запису, документа або підсумку ARM20.string"Приклад"
field_idField idПовернене значення «Field id» відповідного запису, документа або підсумку ARM20.string"Приклад"
field_nameНазва поляПовернене значення «Назва поля» відповідного запису, документа або підсумку ARM20.string"Приклад"
Точна схема результату
{
    "mode": "variable_rows",
    "contract": "pos_scan_product_info",
    "row_shapes": {
        "product": [
            "tag",
            "code",
            "name",
            "unit_type",
            "price",
            "no_discount",
            "quantity",
            "description",
            "extra_values"
        ],
        "extra": [
            "tag",
            "field_id",
            "field_name"
        ]
    },
    "constraints": [
        "Необов’язковий рядок товару завжди перший.",
        "Його додаткові значення відповідають наступним рядкам додаткових полів один до одного."
    ],
    "field_specs": {
        "tag": {
            "title": "Tag",
            "description": "Повернене значення «Tag» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "code": {
            "title": "Код товару",
            "description": "Повернене значення «Код товару» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "1001"
        },
        "name": {
            "title": "Назва",
            "description": "Повернене значення «Назва» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Тестовий товар"
        },
        "unit_type": {
            "title": "Одиниця виміру",
            "description": "Повернене значення «Одиниця виміру» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "price": {
            "title": "Ціна",
            "description": "Точне повернене значення «Ціна» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "currency-of-operation",
            "example": "100.00"
        },
        "no_discount": {
            "title": "Заборонити знижку",
            "description": "Повернене значення «Заборонити знижку» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "quantity": {
            "title": "Кількість",
            "description": "Точне повернене значення «Кількість» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "product-unit",
            "example": "1.000"
        },
        "description": {
            "title": "Опис",
            "description": "Повернене значення «Опис» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "extra_values": {
            "title": "Extra values",
            "description": "Повернене значення «Extra values» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "field_id": {
            "title": "Field id",
            "description": "Повернене значення «Field id» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "field_name": {
            "title": "Назва поля",
            "description": "Повернене значення «Назва поля» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        }
    }
}

Приклад запиту

POST /v1/rpc HTTP/1.1
Host: api13.arm20.com
Authorization: Bearer Ваш ключ API
Content-Type: application/json

{
    "method": "pos.scan_product_info",
    "params": {
        "code": "1001",
        "sk": 1,
        "storage": "main"
    },
    "id": "example-pos-scan-product-info"
}

Замініть демонстраційні значення даними зі своєї бази.

Приклад успішної відповіді

{
    "ok": true,
    "data": {
        "method": "pos.scan_product_info",
        "result": {
            "upstream": {
                "name": "UPMAPI",
                "version": "1",
                "resource": "pos"
            },
            "status": {
                "code": "OK",
                "operation": "scan_product_info",
                "value": "1"
            },
            "rows": [
                [
                    "Приклад",
                    "1001",
                    "Тестовий товар",
                    "Приклад",
                    "100.00",
                    "Приклад",
                    "1.000",
                    "Приклад",
                    "Приклад"
                ]
            ]
        },
        "id": "example-pos-scan-product-info"
    },
    "request_id": "req_example_0123456789abcdef"
}
Помилки та повтори цього методу
КодHTTPПричинаДія клієнта
INVALID_PARAMETER422Один із параметрів має неправильний тип, формат або значення.Виправити запит; автоматично не повторювати.
UPSTREAM_FAILURE502Сервер бізнес-операції недоступний або відхилив безпечний контракт.Дозволений повтор із backoff.
pos.search_productsШукає товари за кодом, штрихкодом або частиною назви. читання pos.read з 0.4.0

Шукає товари за кодом, штрихкодом або частиною назви.

Перевірити JSON JSON Schema
Стабільність: стабільний Scope: pos.read Idempotency-Key: не потрібен

Параметри params

ПолеЩо означаєТип і форматПравила
Додаткові
limitМаксимальна кількість рядків

Максимальна кількість рядків, яку потрібно повернути. Менше значення зменшує відповідь.

int
необов’язковийПриклад: 1За замовчуванням: 1001
searchПошуковий запит

Поле «Пошуковий запит» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.

string
необов’язковийПриклад: ""За замовчуванням: ""
skНомер складу або філії

Номер складу/філії відповідно до налаштувань бази; 0 зазвичай означає основний склад.

int
необов’язковийПриклад: 1За замовчуванням: 0
Основні
modeРежим операції

Вибирає один із підтримуваних сценаріїв операції. Значення та їх зміст наведено у списку варіантів.

  • abc — сортувати за назвою
  • num — сортувати за номером
enum
необов’язковийПриклад: "abc"За замовчуванням: "abc"
storageСклад

Логічний склад: main — основний, branch — філіальний.

  • main — основний склад
  • branch — філіальний склад
enum
необов’язковийПриклад: "main"За замовчуванням: "main"
Точна схема параметрів
{
    "limit": {
        "type": "int",
        "min": 1,
        "max": 1001,
        "default": 1001,
        "title": "Максимальна кількість рядків",
        "description": "Максимальна кількість рядків, яку потрібно повернути. Менше значення зменшує відповідь.",
        "group": "Додаткові",
        "example": 1
    },
    "mode": {
        "type": "enum",
        "values": [
            "abc",
            "num"
        ],
        "default": "abc",
        "title": "Режим операції",
        "description": "Вибирає один із підтримуваних сценаріїв операції. Значення та їх зміст наведено у списку варіантів.",
        "group": "Основні",
        "example": "abc",
        "enum_labels": {
            "abc": "сортувати за назвою",
            "num": "сортувати за номером"
        }
    },
    "search": {
        "type": "string",
        "max": 512,
        "default": "",
        "title": "Пошуковий запит",
        "description": "Поле «Пошуковий запит» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows.",
        "group": "Додаткові",
        "example": ""
    },
    "sk": {
        "type": "int",
        "min": -2147483648,
        "max": 2147483647,
        "default": 0,
        "title": "Номер складу або філії",
        "description": "Номер складу/філії відповідно до налаштувань бази; 0 зазвичай означає основний склад.",
        "group": "Додаткові",
        "example": 1
    },
    "storage": {
        "type": "enum",
        "values": [
            "main",
            "branch"
        ],
        "default": "main",
        "title": "Склад",
        "description": "Логічний склад: main — основний, branch — філіальний.",
        "group": "Основні",
        "example": "main",
        "enum_labels": {
            "main": "основний склад",
            "branch": "філіальний склад"
        }
    }
}

Результат

Форма відповіді: variable_rows
ПолеЗмістТипПриклад
codeКод товаруПовернене значення «Код товару» відповідного запису, документа або підсумку ARM20.string"1001"
nameНазваПовернене значення «Назва» відповідного запису, документа або підсумку ARM20.string"Тестовий товар"
priceЦінаТочне повернене значення «Ціна» як десятковий рядок із крапкою.string · decimal-string · currency-of-operation"100.00"
extra_valuesExtra valuesПовернене значення «Extra values» відповідного запису, документа або підсумку ARM20.string"Приклад"
quantityКількістьТочне повернене значення «Кількість» як десятковий рядок із крапкою.string · decimal-string · product-unit"1.000"
Точна схема результату
{
    "mode": "variable_rows",
    "contract": "pos_search_products",
    "row_shapes": {
        "product": [
            "code",
            "name",
            "price",
            "extra_values",
            "quantity"
        ]
    },
    "constraints": [
        "Не більше 1001 рядка; усі мають однакову ширину та від нуля до двадцяти додаткових значень."
    ],
    "field_specs": {
        "code": {
            "title": "Код товару",
            "description": "Повернене значення «Код товару» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "1001"
        },
        "name": {
            "title": "Назва",
            "description": "Повернене значення «Назва» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Тестовий товар"
        },
        "price": {
            "title": "Ціна",
            "description": "Точне повернене значення «Ціна» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "currency-of-operation",
            "example": "100.00"
        },
        "extra_values": {
            "title": "Extra values",
            "description": "Повернене значення «Extra values» відповідного запису, документа або підсумку ARM20.",
            "type": "string",
            "example": "Приклад"
        },
        "quantity": {
            "title": "Кількість",
            "description": "Точне повернене значення «Кількість» як десятковий рядок із крапкою.",
            "type": "string",
            "format": "decimal-string",
            "unit": "product-unit",
            "example": "1.000"
        }
    }
}

Приклад запиту

POST /v1/rpc HTTP/1.1
Host: api13.arm20.com
Authorization: Bearer Ваш ключ API
Content-Type: application/json

{
    "method": "pos.search_products",
    "params": {
        "mode": "abc",
        "search": "кава",
        "storage": "main",
        "limit": 20
    },
    "id": "example-pos-search-products"
}

Замініть демонстраційні значення даними зі своєї бази.

Приклад успішної відповіді

{
    "ok": true,
    "data": {
        "method": "pos.search_products",
        "result": {
            "upstream": {
                "name": "UPMAPI",
                "version": "1",
                "resource": "pos"
            },
            "status": {
                "code": "OK",
                "operation": "search_products",
                "value": "1"
            },
            "rows": [
                [
                    "1001",
                    "Тестовий товар",
                    "100.00",
                    "Приклад",
                    "1.000"
                ]
            ]
        },
        "id": "example-pos-search-products"
    },
    "request_id": "req_example_0123456789abcdef"
}
Помилки та повтори цього методу
КодHTTPПричинаДія клієнта
INVALID_PARAMETER422Один із параметрів має неправильний тип, формат або значення.Виправити запит; автоматично не повторювати.
UPSTREAM_FAILURE502Сервер бізнес-операції недоступний або відхилив безпечний контракт.Дозволений повтор із backoff.