Продаж, повернення та попередні чеки
Пошук товарів у касі, оформлення продажу й повернення, змішана оплата та збережені чеки.
Idempotency-Key для кожної окремої бізнес-операції.
Як сформувати ключ і повторювати запит.
Каса
pos.checkout_apply_sale_lineЗаписує одну товарну позицію під час оформлення продажу.
запис
pos.write
з 0.4.0
Записує одну товарну позицію під час оформлення продажу.
Параметри 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 — філіальний.
| 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_PARAMETER | 422 | Один із параметрів має неправильний тип, формат або значення. | Виправити запит; автоматично не повторювати. |
UPSTREAM_FAILURE | 502 | Сервер бізнес-операції недоступний або відхилив безпечний контракт. | Не створювати новий Idempotency-Key; перевірити журнал і бізнес-об’єкт. |
IDEMPOTENCY_KEY_REQUIRED | 422 | Для виконання запису не передано Idempotency-Key. | Створити ключ для цієї бізнес-операції та повторити. |
IDEMPOTENCY_RESULT_UNKNOWN | 409 | Результат попередньої спроби невідомий; gateway не виконав запис повторно. | Звірити документ, чек або платіж; не створювати новий ключ автоматично. |
pos.checkout_bonus_multiplierПовертає коефіцієнт нарахування бонусів для поточного продажу.
читання
pos.read
з 0.4.0
Повертає коефіцієнт нарахування бонусів для поточного продажу.
Параметри 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_PARAMETER | 422 | Один із параметрів має неправильний тип, формат або значення. | Виправити запит; автоматично не повторювати. |
UPSTREAM_FAILURE | 502 | Сервер бізнес-операції недоступний або відхилив безпечний контракт. | Дозволений повтор із backoff. |
pos.checkout_bonus_totalsРозраховує підсумок бонусів для поточного продажу.
читання
pos.read
з 0.4.0
Розраховує підсумок бонусів для поточного продажу.
Параметри 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_PARAMETER | 422 | Один із параметрів має неправильний тип, формат або значення. | Виправити запит; автоматично не повторювати. |
UPSTREAM_FAILURE | 502 | Сервер бізнес-операції недоступний або відхилив безпечний контракт. | Дозволений повтор із backoff. |
pos.checkout_cancel_positionСкасовує товарну позицію під час оформлення продажу.
запис
pos.write
з 0.4.0
Скасовує товарну позицію під час оформлення продажу.
Параметри 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 — філіальний.
| 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_PARAMETER | 422 | Один із параметрів має неправильний тип, формат або значення. | Виправити запит; автоматично не повторювати. |
UPSTREAM_FAILURE | 502 | Сервер бізнес-операції недоступний або відхилив безпечний контракт. | Не створювати новий Idempotency-Key; перевірити журнал і бізнес-об’єкт. |
IDEMPOTENCY_KEY_REQUIRED | 422 | Для виконання запису не передано Idempotency-Key. | Створити ключ для цієї бізнес-операції та повторити. |
IDEMPOTENCY_RESULT_UNKNOWN | 409 | Результат попередньої спроби невідомий; gateway не виконав запис повторно. | Звірити документ, чек або платіж; не створювати новий ключ автоматично. |
pos.checkout_check_client_cardПеревіряє дисконтну картку клієнта перед оплатою.
читання
pos.read
з 0.4.0
Перевіряє дисконтну картку клієнта перед оплатою.
Параметри 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_PARAMETER | 422 | Один із параметрів має неправильний тип, формат або значення. | Виправити запит; автоматично не повторювати. |
UPSTREAM_FAILURE | 502 | Сервер бізнес-операції недоступний або відхилив безпечний контракт. | Дозволений повтор із backoff. |
pos.checkout_check_totalПеревіряє підсумкову суму чека перед закриттям продажу.
читання
pos.read
з 0.4.0
Перевіряє підсумкову суму чека перед закриттям продажу.
Параметри 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_PARAMETER | 422 | Один із параметрів має неправильний тип, формат або значення. | Виправити запит; автоматично не повторювати. |
UPSTREAM_FAILURE | 502 | Сервер бізнес-операції недоступний або відхилив безпечний контракт. | Дозволений повтор із backoff. |
pos.checkout_client_bonus_deltaНараховує або списує бонуси клієнта під час продажу.
запис
pos.write
з 0.4.0
Нараховує або списує бонуси клієнта під час продажу.
Параметри 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_PARAMETER | 422 | Один із параметрів має неправильний тип, формат або значення. | Виправити запит; автоматично не повторювати. |
UPSTREAM_FAILURE | 502 | Сервер бізнес-операції недоступний або відхилив безпечний контракт. | Не створювати новий Idempotency-Key; перевірити журнал і бізнес-об’єкт. |
IDEMPOTENCY_KEY_REQUIRED | 422 | Для виконання запису не передано Idempotency-Key. | Створити ключ для цієї бізнес-операції та повторити. |
IDEMPOTENCY_RESULT_UNKNOWN | 409 | Результат попередньої спроби невідомий; gateway не виконав запис повторно. | Звірити документ, чек або платіж; не створювати новий ключ автоматично. |
pos.checkout_close_saleАтомарно закриває продаж: записує чек, позиції, оплати та консультантів.
запис
pos.write
з 0.4.0
Атомарно закриває продаж: записує чек, позиції, оплати та консультантів.
Параметри 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 — філіальний.
| 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_PARAMETER | 422 | Один із параметрів має неправильний тип, формат або значення. | Виправити запит; автоматично не повторювати. |
UPSTREAM_FAILURE | 502 | Сервер бізнес-операції недоступний або відхилив безпечний контракт. | Не створювати новий Idempotency-Key; перевірити журнал і бізнес-об’єкт. |
IDEMPOTENCY_KEY_REQUIRED | 422 | Для виконання запису не передано Idempotency-Key. | Створити ключ для цієї бізнес-операції та повторити. |
IDEMPOTENCY_RESULT_UNKNOWN | 409 | Результат попередньої спроби невідомий; gateway не виконав запис повторно. | Звірити документ, чек або платіж; не створювати новий ключ автоматично. |
pos.checkout_create_checkСтворює заголовок нового касового чека.
запис
pos.write
з 0.4.0
Створює заголовок нового касового чека.
Параметри 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_PARAMETER | 422 | Один із параметрів має неправильний тип, формат або значення. | Виправити запит; автоматично не повторювати. |
UPSTREAM_FAILURE | 502 | Сервер бізнес-операції недоступний або відхилив безпечний контракт. | Не створювати новий Idempotency-Key; перевірити журнал і бізнес-об’єкт. |
IDEMPOTENCY_KEY_REQUIRED | 422 | Для виконання запису не передано Idempotency-Key. | Створити ключ для цієї бізнес-операції та повторити. |
IDEMPOTENCY_RESULT_UNKNOWN | 409 | Результат попередньої спроби невідомий; gateway не виконав запис повторно. | Звірити документ, чек або платіж; не створювати новий ключ автоматично. |
pos.checkout_discount_actionsПовертає активні акції, які можуть застосовуватися до продажу.
читання
pos.read
з 0.4.0
Повертає активні акції, які можуть застосовуватися до продажу.
Параметри 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_PARAMETER | 422 | Один із параметрів має неправильний тип, формат або значення. | Виправити запит; автоматично не повторювати. |
UPSTREAM_FAILURE | 502 | Сервер бізнес-операції недоступний або відхилив безпечний контракт. | Дозволений повтор із backoff. |
pos.checkout_discount_card_stateПовертає знижку, бонуси та боргові параметри дисконтної картки.
читання
pos.read
з 0.4.0
Повертає знижку, бонуси та боргові параметри дисконтної картки.
Параметри 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_PARAMETER | 422 | Один із параметрів має неправильний тип, формат або значення. | Виправити запит; автоматично не повторювати. |
UPSTREAM_FAILURE | 502 | Сервер бізнес-операції недоступний або відхилив безпечний контракт. | Дозволений повтор із backoff. |
pos.checkout_discount_restrictionsПовертає обмеження на застосування знижок до позицій продажу.
читання
pos.read
з 0.4.0
Повертає обмеження на застосування знижок до позицій продажу.
Параметри 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_PARAMETER | 422 | Один із параметрів має неправильний тип, формат або значення. | Виправити запит; автоматично не повторювати. |
UPSTREAM_FAILURE | 502 | Сервер бізнес-операції недоступний або відхилив безпечний контракт. | Дозволений повтор із backoff. |
pos.checkout_mixed_paymentПовертає склад змішаної оплати поточного чека.
читання
pos.read
з 0.4.0
Повертає склад змішаної оплати поточного чека.
Параметри 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_PARAMETER | 422 | Один із параметрів має неправильний тип, формат або значення. | Виправити запит; автоматично не повторювати. |
UPSTREAM_FAILURE | 502 | Сервер бізнес-операції недоступний або відхилив безпечний контракт. | Дозволений повтор із backoff. |
pos.checkout_store_mixed_paymentЗберігає розподіл суми чека між способами оплати.
запис
pos.write
з 0.4.0
Зберігає розподіл суми чека між способами оплати.
Параметри 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_PARAMETER | 422 | Один із параметрів має неправильний тип, формат або значення. | Виправити запит; автоматично не повторювати. |
UPSTREAM_FAILURE | 502 | Сервер бізнес-операції недоступний або відхилив безпечний контракт. | Не створювати новий Idempotency-Key; перевірити журнал і бізнес-об’єкт. |
IDEMPOTENCY_KEY_REQUIRED | 422 | Для виконання запису не передано Idempotency-Key. | Створити ключ для цієї бізнес-операції та повторити. |
IDEMPOTENCY_RESULT_UNKNOWN | 409 | Результат попередньої спроби невідомий; gateway не виконав запис повторно. | Звірити документ, чек або платіж; не створювати новий ключ автоматично. |
pos.checkout_uktzed_rowsПовертає коди УКТ ЗЕД для фіскальних позицій чека.
читання
pos.read
з 0.4.0
Повертає коди УКТ ЗЕД для фіскальних позицій чека.
Параметри 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_PARAMETER | 422 | Один із параметрів має неправильний тип, формат або значення. | Виправити запит; автоматично не повторювати. |
UPSTREAM_FAILURE | 502 | Сервер бізнес-операції недоступний або відхилив безпечний контракт. | Дозволений повтор із backoff. |
pos.find_codeРозпізнає товарний, ваговий, додатковий або дисконтний код у касі.
читання
pos.read
з 0.4.0
Розпізнає товарний, ваговий, додатковий або дисконтний код у касі.
Параметри 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_PARAMETER | 422 | Один із параметрів має неправильний тип, формат або значення. | Виправити запит; автоматично не повторювати. |
UPSTREAM_FAILURE | 502 | Сервер бізнес-операції недоступний або відхилив безпечний контракт. | Дозволений повтор із backoff. |
pos.pos_return_apply_lineЗаписує одну повернену товарну позицію до чека повернення.
запис
pos.write
з 0.4.0
Записує одну повернену товарну позицію до чека повернення.
Параметри params
| Поле | Що означає | Тип і формат | Правила |
|---|---|---|---|
| Основні | |||
codeКод товару | Публічний код товару, картки або іншого запису, як він відображається у програмі. | string | обов’язковийПриклад: "1001" |
storageСклад | Логічний склад: 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_PARAMETER | 422 | Один із параметрів має неправильний тип, формат або значення. | Виправити запит; автоматично не повторювати. |
UPSTREAM_FAILURE | 502 | Сервер бізнес-операції недоступний або відхилив безпечний контракт. | Не створювати новий Idempotency-Key; перевірити журнал і бізнес-об’єкт. |
IDEMPOTENCY_KEY_REQUIRED | 422 | Для виконання запису не передано Idempotency-Key. | Створити ключ для цієї бізнес-операції та повторити. |
IDEMPOTENCY_RESULT_UNKNOWN | 409 | Результат попередньої спроби невідомий; gateway не виконав запис повторно. | Звірити документ, чек або платіж; не створювати новий ключ автоматично. |
pos.precheck_deleteВидаляє збережений попередній чек.
запис
pos.write
з 0.4.0
Видаляє збережений попередній чек.
Параметри 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_PARAMETER | 422 | Один із параметрів має неправильний тип, формат або значення. | Виправити запит; автоматично не повторювати. |
UPSTREAM_FAILURE | 502 | Сервер бізнес-операції недоступний або відхилив безпечний контракт. | Не створювати новий Idempotency-Key; перевірити журнал і бізнес-об’єкт. |
IDEMPOTENCY_KEY_REQUIRED | 422 | Для виконання запису не передано Idempotency-Key. | Створити ключ для цієї бізнес-операції та повторити. |
IDEMPOTENCY_RESULT_UNKNOWN | 409 | Результат попередньої спроби невідомий; gateway не виконав запис повторно. | Звірити документ, чек або платіж; не створювати новий ключ автоматично. |
pos.precheck_kas_countsПовертає кількість попередніх чеків за касами.
читання
pos.read
з 0.4.0
Повертає кількість попередніх чеків за касами.
Параметри 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_PARAMETER | 422 | Один із параметрів має неправильний тип, формат або значення. | Виправити запит; автоматично не повторювати. |
UPSTREAM_FAILURE | 502 | Сервер бізнес-операції недоступний або відхилив безпечний контракт. | Дозволений повтор із backoff. |
pos.precheck_linesПовертає товарні позиції збереженого попереднього чека.
читання
pos.read
з 0.4.0
Повертає товарні позиції збереженого попереднього чека.
Параметри 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_PARAMETER | 422 | Один із параметрів має неправильний тип, формат або значення. | Виправити запит; автоматично не повторювати. |
UPSTREAM_FAILURE | 502 | Сервер бізнес-операції недоступний або відхилив безпечний контракт. | Дозволений повтор із backoff. |
pos.precheck_listПовертає список збережених попередніх чеків.
читання
pos.read
з 0.4.0
Повертає список збережених попередніх чеків.
Параметри 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_PARAMETER | 422 | Один із параметрів має неправильний тип, формат або значення. | Виправити запит; автоматично не повторювати. |
UPSTREAM_FAILURE | 502 | Сервер бізнес-операції недоступний або відхилив безпечний контракт. | Дозволений повтор із backoff. |
pos.precheck_next_numberПовертає наступний номер попереднього чека.
читання
pos.read
з 0.4.0
Повертає наступний номер попереднього чека.
Параметри 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_PARAMETER | 422 | Один із параметрів має неправильний тип, формат або значення. | Виправити запит; автоматично не повторювати. |
UPSTREAM_FAILURE | 502 | Сервер бізнес-операції недоступний або відхилив безпечний контракт. | Дозволений повтор із backoff. |
pos.precheck_saveЗберігає поточний продаж як попередній чек.
запис
pos.write
з 0.4.0
Зберігає поточний продаж як попередній чек.
Параметри params
| Поле | Що означає | Тип і формат | Правила |
|---|---|---|---|
| Додаткові | |||
filНомер філії | Поле «Номер філії» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows. | int | необов’язковийПриклад: 1За замовчуванням: 0 |
kasmНомер каси | Числовий номер каси, налаштований у Windows Касі. | int | необов’язковийПриклад: 1За замовчуванням: 0 |
nocНомер чека | Поле «Номер чека» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows. | int | необов’язковийПриклад: 1За замовчуванням: 0 |
pref_discПрефікс дисконтної картки | Префікс, за яким відсканований код розпізнається як дисконтна картка. | string | необов’язковийПриклад: ""За замовчуванням: "" |
| Основні | |||
modeРежим операції | Вибирає один із підтримуваних сценаріїв операції. Значення та їх зміст наведено у списку варіантів.
| 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_PARAMETER | 422 | Один із параметрів має неправильний тип, формат або значення. | Виправити запит; автоматично не повторювати. |
UPSTREAM_FAILURE | 502 | Сервер бізнес-операції недоступний або відхилив безпечний контракт. | Не створювати новий Idempotency-Key; перевірити журнал і бізнес-об’єкт. |
IDEMPOTENCY_KEY_REQUIRED | 422 | Для виконання запису не передано Idempotency-Key. | Створити ключ для цієї бізнес-операції та повторити. |
IDEMPOTENCY_RESULT_UNKNOWN | 409 | Результат попередньої спроби невідомий; gateway не виконав запис повторно. | Звірити документ, чек або платіж; не створювати новий ключ автоматично. |
pos.precheck_slotsПовертає доступні комірки для збереження попередніх чеків.
читання
pos.read
з 0.4.0
Повертає доступні комірки для збереження попередніх чеків.
Параметри 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_PARAMETER | 422 | Один із параметрів має неправильний тип, формат або значення. | Виправити запит; автоматично не повторювати. |
UPSTREAM_FAILURE | 502 | Сервер бізнес-операції недоступний або відхилив безпечний контракт. | Дозволений повтор із backoff. |
pos.precheck_update_pricesОновлює ціни товарних позицій у збереженому попередньому чеку.
запис
pos.write
з 0.4.0
Оновлює ціни товарних позицій у збереженому попередньому чеку.
Параметри 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_PARAMETER | 422 | Один із параметрів має неправильний тип, формат або значення. | Виправити запит; автоматично не повторювати. |
UPSTREAM_FAILURE | 502 | Сервер бізнес-операції недоступний або відхилив безпечний контракт. | Не створювати новий Idempotency-Key; перевірити журнал і бізнес-об’єкт. |
IDEMPOTENCY_KEY_REQUIRED | 422 | Для виконання запису не передано Idempotency-Key. | Створити ключ для цієї бізнес-операції та повторити. |
IDEMPOTENCY_RESULT_UNKNOWN | 409 | Результат попередньої спроби невідомий; gateway не виконав запис повторно. | Звірити документ, чек або платіж; не створювати новий ключ автоматично. |
pos.product_rowПовертає дані одного товару, потрібні касі для продажу.
читання
pos.read
з 0.4.0
Повертає дані одного товару, потрібні касі для продажу.
Параметри params
| Поле | Що означає | Тип і формат | Правила |
|---|---|---|---|
| Основні | |||
codeКод товару | Публічний код товару, картки або іншого запису, як він відображається у програмі. | string | необов’язковийПриклад: "1001"За замовчуванням: "" |
storageСклад | Логічний склад: 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_PARAMETER | 422 | Один із параметрів має неправильний тип, формат або значення. | Виправити запит; автоматично не повторювати. |
UPSTREAM_FAILURE | 502 | Сервер бізнес-операції недоступний або відхилив безпечний контракт. | Дозволений повтор із backoff. |
pos.scan_analogsПовертає аналоги відсканованого товару.
читання
pos.read
з 0.4.0
Повертає аналоги відсканованого товару.
Параметри params
| Поле | Що означає | Тип і формат | Правила |
|---|---|---|---|
| Основні | |||
codeКод товару | Публічний код товару, картки або іншого запису, як він відображається у програмі. | string | необов’язковийПриклад: "1001"За замовчуванням: "" |
storageСклад | Логічний склад: 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_PARAMETER | 422 | Один із параметрів має неправильний тип, формат або значення. | Виправити запит; автоматично не повторювати. |
UPSTREAM_FAILURE | 502 | Сервер бізнес-операції недоступний або відхилив безпечний контракт. | Дозволений повтор із backoff. |
pos.scan_pictureПовертає зображення відсканованого товару.
читання
pos.read
з 0.4.0
Повертає зображення відсканованого товару.
Параметри 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_PARAMETER | 422 | Один із параметрів має неправильний тип, формат або значення. | Виправити запит; автоматично не повторювати. |
UPSTREAM_FAILURE | 502 | Сервер бізнес-операції недоступний або відхилив безпечний контракт. | Дозволений повтор із backoff. |
pos.scan_product_infoПовертає дані відсканованого товару для додавання до чека.
читання
pos.read
з 0.4.0
Повертає дані відсканованого товару для додавання до чека.
Параметри params
| Поле | Що означає | Тип і формат | Правила |
|---|---|---|---|
| Основні | |||
codeКод товару | Публічний код товару, картки або іншого запису, як він відображається у програмі. | string | необов’язковийПриклад: "1001"За замовчуванням: "" |
storageСклад | Логічний склад: 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_PARAMETER | 422 | Один із параметрів має неправильний тип, формат або значення. | Виправити запит; автоматично не повторювати. |
UPSTREAM_FAILURE | 502 | Сервер бізнес-операції недоступний або відхилив безпечний контракт. | Дозволений повтор із backoff. |
pos.search_productsШукає товари за кодом, штрихкодом або частиною назви.
читання
pos.read
з 0.4.0
Шукає товари за кодом, штрихкодом або частиною назви.
Параметри params
| Поле | Що означає | Тип і формат | Правила |
|---|---|---|---|
| Додаткові | |||
limitМаксимальна кількість рядків | Максимальна кількість рядків, яку потрібно повернути. Менше значення зменшує відповідь. | int | необов’язковийПриклад: 1За замовчуванням: 1001 |
searchПошуковий запит | Поле «Пошуковий запит» відповідного документа або довідника ARM20. Передавайте значення так, як воно зберігається у Windows. | string | необов’язковийПриклад: ""За замовчуванням: "" |
skНомер складу або філії | Номер складу/філії відповідно до налаштувань бази; 0 зазвичай означає основний склад. | int | необов’язковийПриклад: 1За замовчуванням: 0 |
| Основні | |||
modeРежим операції | Вибирає один із підтримуваних сценаріїв операції. Значення та їх зміст наведено у списку варіантів.
| enum | необов’язковийПриклад: "abc"За замовчуванням: "abc" |
storageСклад | Логічний склад: 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_PARAMETER | 422 | Один із параметрів має неправильний тип, формат або значення. | Виправити запит; автоматично не повторювати. |
UPSTREAM_FAILURE | 502 | Сервер бізнес-операції недоступний або відхилив безпечний контракт. | Дозволений повтор із backoff. |