Внесення і видача готівки – службові (нефіскальні) операції, коли ви вносите розмінні гроші в касу або інкасуєте готівку.
Метод /api/v1/receipts/service дозволяє створити чек службового внесення або вилучення готівки. Для коректного створення такого чеку потрібно обов'язково передати у тілі запиту параметри "id" (UUID чека), "type" (має бути CASH
за замовчуванням) та "value" (сума в копійках). Назва типу оплати проставляється автоматично за замовчуванням як "Готівка".
accept: application/json
X-Client-Name: <назва інтеграції (обов`язково)>
X-Client-Version: <версія інтеграції (обов`язково)>
Authorization: <токен авторизації>
Content-Type: application/json
{
"id": "<генерація та передача UUID чека на стороні інтеграції є обов'язковою>",
"payment": {
"type": "CASH",
"value": <сума у копійках, для створення чеку службового вилучення перед сумою має бути - >
},
"custom": {
"html_global_header": "<глобальний хедер для чеків html/pdf візуалізацій>",
"html_global_footer": "<глобальний футер для чеків html/pdf візуалізацій>",
"html_body_style": "<фон сторінки з чеком>",
"html_receipt_style": "<стиль блоку з чеком>",
"html_ruler_style": "<стиль роздільника з зірочками між блоками чеку",
"html_light_block_style": "<стиль світлих блоків, це весь підвал чеку та клітинки з вартістю та кількістю>",
"text_global_header": "<глобальний хедер для чеків png/txt візуалізацій>",
"text_global_footer": "<глобальний футер для чеків png/txt візуалізацій>"
}
}
curl -X 'POST' \ 'https://api.checkbox.ua/api/v1/receipts/service' \ -H 'accept: application/json' \ -H 'X-Client-Name: Test-Client-Name' \ -H 'X-Client-Version: Test-Client-Version' \ -H 'Authorization: Bearer token' \ -H 'Content-Type: application/json' \ -d '{ "id": "a694a13a-aaa9-46bb-930b-8bc206311111", "payment": { "type": "CASH", "value": 10000}, "custom": { "html_body_style": "background: rgb(35,32,87);\nbackground: linear-gradient(45deg, rgba(35,32,87,1) 0%, rgba(62,62,138,1) 44%, rgba(0,212,255,1) 100%);"}}'
{
"id": "a694a13a-aaa9-46bb-930b-8bc206311111",
"type": "SERVICE_IN",
"transaction": null,
"serial": 84,
"status": "DONE",
"goods": [],
"payments": [
{
"type": "CASH",
"pawnshop_is_return": null,
"value": 10000,
"label": "Готівка"
}
],
"total_sum": 10000,
"sum": 10000,
"total_payment": 10000,
"total_rest": 0,
"rest": 0,
"round_sum": null,
"fiscal_code": null,
"fiscal_date": null,
"delivered_at": null,
"created_at": "2023-11-06T14:51:03.221535+00:00",
"updated_at": "2023-11-06T14:51:03.221535+00:00",
"taxes": [],
"discounts": [],
"order_id": null,
"header": null,
"footer": null,
"barcode": null,
"custom": null,
"context": null,
"is_created_offline": false,
"is_sent_dps": false,
"sent_dps_at": null,
"tax_url": null,
"related_receipt_id": null,
"technical_return": false,
"stock_code": null,
"currency_exchange": null,
"shift": {
"id": "cec5dd7e-837c-46c6-a0ba-03a61cd11111",
"serial": 43,
"status": "OPENED",
"z_report": null,
"opened_at": "2023-11-06T14:41:30.108678+00:00",
"closed_at": null,
"initial_transaction": {
"id": "1bde6e04-31e6-41d3-9a65-4b8d46511111",
"type": "SHIFT_OPEN",
"serial": 157,
"status": "DONE",
"request_signed_at": "2023-11-06T14:41:30.171706+00:00",
"request_received_at": "2023-11-06T14:41:30.214959+00:00",
"response_status": "OK",
"response_error_message": null,
"response_id": "TEST-DQYjfj",
"offline_id": null,
"created_at": "2023-11-06T14:41:30.108678+00:00",
"updated_at": "2023-11-06T14:41:30.240628+00:00",
"original_datetime": "2023-11-06T14:41:30.108678+00:00",
"previous_hash": "01bec2834cba96d53bd8f930a3d6acc8a29789a70dce728ea28aa991b7111111"
},
"closing_transaction": null,
"created_at": "2023-11-06T14:41:30.108678+00:00",
"updated_at": "2023-11-06T14:41:30.244566+00:00",
"balance": {
"initial": 0,
"balance": 10000,
"cash_sales": 0,
"card_sales": 0,
"discounts_sum": 0,
"extra_charge_sum": 0,
"cash_returns": 0,
"card_returns": 0,
"service_in": 10000,
"service_out": 0,
"updated_at": "2023-11-06T14:51:03.221535+00:00"
},
"taxes": [
{
"id": "b3820b97-9c13-4b6f-aa5b-98cdb3411111",
"code": 1,
"label": "ПДВ + Акцизний збір",
"symbol": "А",
"rate": 20,
"extra_rate": 5,
"included": true,
"created_at": "2023-09-27T07:57:17.436553+00:00",
"updated_at": null,
"no_vat": false,
"advanced_code": null,
"sales": 0,
"returns": 0,
"sales_turnover": 0,
"returns_turnover": 0
},
{
"id": "ccf0e3cb-0286-423f-a278-df9f3c611111",
"code": 2,
"label": "Акцизний збір",
"symbol": "Б",
"rate": 0,
"extra_rate": 5,
"included": true,
"created_at": "2023-11-03T10:19:06.625503+00:00",
"updated_at": null,
"no_vat": false,
"advanced_code": null,
"sales": 0,
"returns": 0,
"sales_turnover": 0,
"returns_turnover": 0
},
{
"id": "22abcf11-e9b2-4f40-8c46-1a3b5cb11111",
"code": 5,
"label": "ПДВ 20%",
"symbol": "Є",
"rate": 20,
"extra_rate": null,
"included": true,
"created_at": "2023-09-27T07:57:32.979471+00:00",
"updated_at": null,
"no_vat": false,
"advanced_code": null,
"sales": 0,
"returns": 0,
"sales_turnover": 0,
"returns_turnover": 0
},
{
"id": "4828cb2f-db1f-4174-acce-77e056111111",
"code": 8,
"label": "Без ПДВ",
"symbol": "З",
"rate": 0,
"extra_rate": null,
"included": true,
"created_at": "2023-09-27T07:57:34.983722+00:00",
"updated_at": null,
"no_vat": true,
"advanced_code": null,
"sales": 0,
"returns": 0,
"sales_turnover": 0,
"returns_turnover": 0
}
],
"emergency_close": null,
"emergency_close_details": null,
"cash_register": {
"id": "c13876dd-e51e-433f-a61c-f2c426311111",
"fiscal_number": "TEST511111",
"active": true,
"created_at": "2022-07-26T19:54:09+00:00",
"updated_at": "2023-11-04T22:55:04+00:00",
"number": "1"
},
"cashier": {
"id": "04da40aa-e28e-42b7-8d51-6cb6ee811111",
"full_name": "Тестовий касир",
"nin": "000000000",
"key_id": "test_jrdulZ77cjg11111",
"signature_type": "TEST",
"permissions": {
"orders": true,
"add_discounts": true,
"editing_goods_sum": true,
"deferred_receipt": true,
"editing_good_price": true,
"can_add_manual_good": true,
"service_in": true,
"service_out": true,
"returns": true,
"sales": true,
"card_payment": true,
"cash_payment": true,
"other_payment": true,
"mixed_payment": true,
"branch_params": false,
"reports_history": true,
"additional_service_receipt": false,
"free_return": false
},
"created_at": "2022-06-01T14:23:04+00:00",
"updated_at": "2022-07-19T14:13:58+00:00",
"certificate_end": null,
"blocked": null
}
},
"control_number": null
}
"id" - унікальний ідентифікатор чека у форматі UUID
"type" - тип чека (SERVICE_IN
/SERVICE_OUT
(СЛУЖБОВЕ ВНЕСЕННЯ
/СЛУЖБОВЕ ВИЛУЧЕННЯ
)
"transaction" - інформація про транзакцію чека (має значення null, оскільки не стосується службових чеків або не відправляється в Податкову Службу)
"serial" - порядковий номер чека
"status" - статус чека
"goods" - блок даних з переліком товарів (для службового чека перелік буде пустим)
"payments" - блок даних з інформацією про платежі:
CASH
)null
)-
"total_sum" та "sum" - сума вартості товарів у чеку
"total_rest" та "rest" - сума здачі
"total_payment" - сума оплати за товари у чеку
"round_sum" - сума округлення
"fiscal_code" - фіскальний номер чека (має значення null, оскільки не стосується службових чеків або не відправляється в Податкову Службу)
"fiscal_date" - фіскальна дата, з якою чек буде зареєстровано у ДПС (має значення null, оскільки не стосується службових чеків або не відправляється в Податкову Службу)
"delivered_at" - мітка часу у форматі ISO 8601 за шаблоном YYYY-MM-DDThh:mm:ss.ssssss±hh:mm, яка відмічає дату/час доставки чека у ДПС (має значення null, оскільки не стосується службових чеків або не відправляється в Податкову Службу)
"created_at" - мітка часу у форматі ISO 8601 за шаблоном YYYY-MM-DDThh:mm:ss.ssssss±hh:mm, яка відмічає дату/час створення чека
"updated_at" - мітка часу у форматі ISO 8601 за шаблоном YYYY-MM-DDThh:mm:ss.ssssss±hh:mm, яка відмічає дату/час останнього оновлення даних чека (якщо чек щойно створено або інформація по ньому не оновлювалась, то дане значення буде null)
"taxes" - блок даних про податки (для чека внесення/вилучення готівки за замовчуванням null, оскільки операція нефіскальна і до неї не застосовуються податки)
"discounts" - блок даних про знижки (для чека внесення/вилучення готівки за замовчуванням null, оскільки операція нефіскальна і до неї не застосовуються знижки)
"order_id" - ідентифікатор замовлення у форматі UUID (для чека внесення/вилучення готівки за замовчуванням null, оскільки операція не являє собою замовлення)
"header" - хедер чека (для службового чека внесення/вилучення готівки за замовчуванням null)
"footer" - футер чека (для службового чека внесення/вилучення готівки за замовчуванням null)
"barcode" - штрих-код (для службового чека внесення/вилучення готівки за замовчуванням null)
"custom" - блок з даними кастомізації чека (lокладніше про параметри, які можуть відображатись в даному блоці можете дізнатись в розділі Візуалізація чека)
"is_created_offline" - ознака режиму (онлайн/офлайн) у якому був створений чек. true - чек створений у офлайні, false - чек створений у онлайні.
"is_sent_dps" - ознака відправки чека у ДПС (для чека внесення/вилучення готівки за замовчуванням false, оскільки службові чеки нефіскальні та у ДПС не відправляються)
"sent_dps_at" - мітка часу у форматі ISO 8601 за шаблоном YYYY-MM-DDThh:mm:ss.ssssss±hh:mm, яка відмічає дату/час відправки чека у ДПС (для чека внесення/вилучення готівки за замовчуванням null, оскільки службові чеки нефіскальні та у ДПС не відправляються)
"tax_url" - посилання на чек у кабінеті ДПС (для чека внесення/вилучення готівки за замовчуванням null, оскільки службові чеки нефіскальні та у ДПС не відправляються)
"related_receipt_id" - id пов'язаного чека у форматі UUID. Цим параметром можна пов'язати між собою чек продажу та повернення, щоб завжди мати змогу дізнатися, на основі якого конкретно чека продажу ви робили повернення (для службового чека даний параметр не актуальний та за замовчуванням null)
"technical_return" - параметр, який відповідає за мітку технічного повернення на чеку. Технічне повернення - це повернення чеку продажу у випадку, коли чек продажу сформований невірно і для коригування балансу виникає змога провести повернення (для службового чека даний параметр не актуальний та за замовчуванням null)
"stock_code" - блок даних, який стосується операцій валютного обміну (не актуально для службового чека)
"currency_exchange" - блок даних, який стосується операцій валютного обміну (не актуально для службового чека)
"control_number" - контрольне число. Заповнюється сервером для фіскальних чеків (службовий матиме за замовчуванням даний параметр null)
Блоки даних з інформацією про:
Чек можна створити як у офлайн, так і у онлайн режимі. Метод /api/v1/receipts/sell призначений для створення чека як у онлайн, так і у офлайн режимі (але без можливості явно вказати офлайн фіскальний код або офлайн фіскальну дату. Якщо каса у офлайні, то сервер автоматично підставить поточну дату та вільний офлайн код). Метод /api/v1/receipts/sell-offline призначений для створення чека у офлайні і дозволяє явно вказати як фіскальну дату, так і фіскальний код.
Мінімальний набір даних для створення чека продажу включає в себе UUID чека, код товару, назву товару, ціну, кількість, тип оплати та суму оплати. Але взагалі чек може містити багато додаткових параметрів, які будуть описані у прикладі.
Запит на отримання інформації про чек необхідно виконувати не раніше, ніж за 50 мс після отримання сервером Checkbox запиту на його створення та обробку.
Для створення чека повернення використовується той самий метод, що і для чека продажу, але при цьому в блоці даних про товар передається значення "is_return": true, яке визначає, що цей товар має бути повернуто. Додатково при цьому можна передавати UUID чека продажу в полі "related_receipt_id".
Наявний rate-limit дозволяє передавати не більше 2х чеків за одну секунду. При перевищені ліміту - передача чеків по касі буде заблоковано на 5 секунд, після чого відновиться робота каси та rate-limit. Він діє індивідуально на кожну окрему касу, а не на IP-адресу.
При систематичному порушенні ліміту ми зв'яжемось за контактами, вказаними в налаштуваннях особистого кабінету організації для вирішення питання порушення наявних лімітів.
Для створення чека з оплатою за посиланням рекомендуємо скористатись методами створення інвойсу на оплату із подальшою фіскалізацією.
Для участі в Національному кешбеці обовʼязковою умовою є передача:
...
"barcode": "<Штрих-код товару>"
...
...
"rrn": "<Reference Retrieval Number - унікальний ідентифікатор банківської транзакції>",
"terminal": "<інформація про платіжний термінал>",
"acquirer_and_seller": "<ідентифікатор еквайра та торгівця, або інші реквізити, що дають змогу їх ідентифікувати>",
...
accept: application/json
X-Client-Name: <назва інтеграції (обов`язково)>
X-Client-Version: <версія інтеграції (обов`язково)>
Authorization: <токен авторизації>
Content-Type: application/json
{
"id": "<генерація та передача UUID v4 чека на стороні інтеграції є обовʼязковою>",
"cashier_name": "<Імʼя касира>",
"departament": "<Назва відділу>",
"goods":[
{
"good":{
"code": "<Код товару>",
"name": "<Назва товару>",
"price": <ціна у копійках>,
"tax": [<цифровий або літерний код ставки податку (попередньо програмується у особистому кабінеті). Якщо до товару потрібно застосувати декілька податків - вказати через кому>],
"barcode": "<Штрих-код товару>",
"excise_barcodes": ["<цифрове позначення штрих-коду акцизної марки 1>","<цифрове позначення штрих-коду акцизної марки 2>"],
"header": "<Хедер товару 1>",
"footer": "<Футер товару 1>",
"uktzed": "<код УКТЗЕД>"
},
"good_id": "<UUID v4 товару (якщо ви користуєтесь залишками на сайті checkbox)>",
"quantity": <кількість у тисячах, 1 шт = 1000>,
"is_return": <флаг true/false, що визначає, чи це чек повернення>,
"is_winnings_payout": <флаг true/false, що визначає, чи це виплата виграшу>,
"discounts":[{
"type": "<тип знижки - "DISCOUNT"/"EXTRA_CHARGE" (ЗНИЖКА/НАДБАВКА)>",
"mode": "<режим знижки "VALUE"/"PERCENT" (АБСОЛЮТНЕ ЗНАЧЕННЯ/ВІДСОТКОВА ЗНИЖКА - рекомендуємо відмовлятись від вказування відсоткової знижки та передавати у фіскальний чек абсолютне значення)>",
"value": <значення знижки>,
"tax_code": <код податку, який застосовується для товару. Потрібно вказувати для коректного обрахунку знижки, якщо товар має податкову ставку>,
"tax_codes": [<коди податкових ставок, що застосовуються для товару (якщо їх >1). Потрібно вказувати через кому для коректного обрахунку знижки, якщо товар має податкову ставку>],
"name": "<назва знижки або надбавки>"
"privilege": "<номер підтвердження пільгової знижки. Отримується від серверу пільгових знижок. Вказується при використані соціальної знижки>"
}],
"total_sum":<сума вартості товару>
},
{
"good":
{<блок з даними про другий товар, за структурою аналогічний попередньому. блоки good потрібно повторювати стільки разів, скільки у вас товарів у чеку>}
}],
"delivery":{
"email": "<e-mail клієнта для відправки копії чека>",
"emails": ["<e-mail клієнта для відправки копії чека 1>","<e-mail клієнта для відправки копії чека 2>"],
"phone": "<номер телефона клієнта для відправки копії чека по SMS/Viber (для роботи функції має бути налаштована та підключена відповідна послуга)>. Формат 380..."
},
"discounts":[{
"type": "<тип знижки - "DISCOUNT"/"EXTRA_CHARGE" (ЗНИЖКА/НАДБАВКА)>",
"mode": "<режим знижки "VALUE"/"PERCENT" (АБСОЛЮТНЕ ЗНАЧЕННЯ/ВІДСОТКОВА ЗНИЖКА - рекомендуємо відмовлятись від вказування відсоткової знижки та передавати у фіскальний чек абсолютне значення)>",
"value": <значення знижки>,
"tax_code": <код податку, який застосовується для товару. Потрібно вказувати для коректного обрахунку знижки, якщо товар має податкову ставку>,
"tax_codes": [<коди податкових ставок через кому, що застосовуються для товару (якщо їх >1). Потрібно вказувати для коректного обрахунку знижки, якщо товар має податкову ставку>],
"name": "<назва знижки або надбавки>",
"privilege": "<номер підтвердження пільгової знижки. Отримується від серверу пільгових знижок. Вказується при використані соціальної знижки>"
}],
"bonuses":[
{
"bonus_card": <інформація про бонусну картку покупця, НЕ ДРУКУЄТЬСЯ В ЧЕКУ>,
"value": <інформація про накопичені бонуси, НЕ ДРУКУЄТЬСЯ В ЧЕКУ>,
"additional_info": <додаткова інформація про бонуси, НЕ ДРУКУЄТЬСЯ В ЧЕКУ>
}],
"payments":[{
"type": "<"CASH"/"CASHLESS" (ГОТІВКА/БЕЗГОТІВКОВИЙ РОЗРАХУНОК (картка, сертифікати, бонуси тощо))>",
"pawnshop_is_return": <true/false Ознака того, що даний чек є видатковим чеком ломбарду. Для звичайного чека параметр вказувати не потрібно>,
"provider_type": "<у разі застосування технології TAPXPHONE, дане поле буде заповнено автоматично. Можливі значення: `TAPXPHONE`, `POSCONTROL`, `TERMINAL`>",
"value": <сума оплати у копійках>,
"commission": <комісія (тільки для безготівкових платежів)>,
"label": "<текстова назва форми оплати>",
"card_mask": "<маска карти (не більше 19 символів) (тільки для безготівкових платежів)>",
"bank_name": "<назва банку (тільки для безготівкових платежів)>",
"auth_code": "<код авторизації банківської операції (тільки для безготівкових платежів)>",
"rrn": "<Reference Retrieval Number - унікальний ідентифікатор банківської транзакції (тільки для безготівкових платежів)>",
"payment_system": "<платіжна система (тільки для безготівкових платежів)>",
"owner_name": "<імʼя власника електронного платіжного засобу (тільки для безготівкових платежів)>",
"terminal": "<інформація про платіжний термінал (тільки для безготівкових платежів)>",
"acquirer_and_seller": "<ідентифікатор еквайра та торгівця, або інші реквізити, що дають змогу їх ідентифікувати (тільки для безготівкових платежів)>",
"receipt_no": "<номер банківського чека (тільки для безготівкових платежів)>",
"signature_required": <true/false флаг, який визначає, чи має бути доступною графа для підпису власника картки та касира>
"tapxphone_terminal": <унікальний ідентифікатор інтеграції технології TAPXPHONE у форм UUID>
},
{<блок з даними по додатковій формі оплати за шаблоном, який описаний вище (якщо в чеку декілька форм оплати)>}],
"rounding": <true/false активація режиму заокруглення (для його роботи у блоці payments має бути вказана сума вже заокруглена за правилами НБУ>,
"header": "<хедер чека>",
"footer": "<футер чека>",
"barcode": "<штрих-код чека>",
"order_id": "<UUID v4 замовлення (вказується у випадку роботи з API у режимі замовлень). НЕ ДЛЯ ПЕРЕДАЧІ НОМЕРУ ЗАМОВЛЕНЬ ІЗ ФРОНТ-СИСТЕМ>",
"related_receipt_id": "<UUID v4 повʼязаного фіскального чеку (використовується опціонально для контролю послідовності)>",
"previous_receipt_id": "<UUID v4 попереднього фіскального чеку (використовується опціонально для контролю послідовності)>",
"technical_return": <true/false флаг, яким можна позначити, що даний чек є чеком технічного (помилкового) повернення>,
"is_pawnshop": <true/false флаг, яким можна позначити, що даний чек є чеком ломбарду>,
"custom": {
"html_global_header": "<глобальний хедер для чеків html/pdf візуалізацій>",
"html_global_footer": "<глобальний футер для чеків html/pdf візуалізацій>",
"html_body_style": "<фон сторінки з чеком>",
"html_receipt_style": "<стиль блоку з чеком>",
"html_ruler_style": "<стиль роздільника з зірочками між блоками чеку>",
"html_light_block_style": "<стиль світлих блоків, це весь підвал чеку та клітинки з вартістю та кількістю>",
"text_global_header": "<глобальний хедер для чеків png/txt візуалізацій>",
"text_global_footer": "<глобальний футер для чеків png/txt візуалізацій>"
}
}
curl -X 'POST' \ 'https://api.checkbox.ua/api/v1/receipts/sell' \ -H 'accept: application/json' \ -H 'X-Client-Name: Test-Client-Name' \ -H 'X-Client-Version: Test-Client-Version' \ -H 'Authorization: Bearer token' \ -H 'Content-Type: application/json' \ -d '{ "id": "e51c07c6-8e8a-44bf-b594-750f7e9e3a95", "cashier_name": "Тестовий касир", "departament": "Тестова каса", "goods":[ { "good":{ "code": "500", "name": "Вино ігристе біле Вінтаж де Локсарел БН Резерва, Loxarel брют 0,125", "price": 19500, "tax": [1], "barcode": "2000000000009", "excise_barcode": "AENX936821", "uktzed": "2204109300" }, "good_id": "94433d09-c47e-48a1-8010-570099ee52e4", "quantity": 1000 }, { "good":{ "code": "501", "name": "Ромовий напій Captain Morgan Spiced Gold, 35%, 0,5 л (437392)", "price": 20900, "tax": [1], "barcode": "5000281025360", "excise_barcodes": ["ACVI735229","ACVE735293"], "uktzed": "2208906900" }, "good_id": "ce7a84e9-ff67-4c25-8d12-875134d650fe", "quantity": 2000 }], "delivery":{ "email": "[email protected]", "phone": "380500521111" }, "discounts":[{ "type": "DISCOUNT", "mode": "VALUE", "value": 5000, "tax_code": 1, "name": "Знижка" }], "payments":[{ "type": "CASHLESS", "value": 56300, "label": "Картка", "card_mask": "XXXXXXXXXXXX6734", "bank_name": "PrivetBank", "auth_code": "078111", "rrn": "305817547111", "payment_system": "VISA", "owner_name": "CHEREZPLETINNOHUZADYRAISHCHENKO PETRO", "terminal": "S1LF0EUR", "acquirer_and_seller": "PrivetBank", "receipt_no": "1", "signature_required": false }], "rounding": false, "header": "Якийсь хедер", "footer": "Якийсь футер", "custom": { "html_body_style": "background: rgb(35,32,87);\nbackground: linear-gradient(45deg, rgba(35,32,87,1) 0%, rgba(62,62,138,1) 44%, rgba(0,212,255,1) 100%);"}}'
{
"id": "36ba6627-379d-4fe9-bcce-7e06ad511111",
"type": "SELL",
"transaction": {
"id": "058542fc-7437-40a4-9d8a-e44480411111",
"type": "RECEIPT",
"serial": 185,
"status": "PENDING",
"request_signed_at": null,
"request_received_at": null,
"response_status": null,
"response_error_message": null,
"response_id": null,
"offline_id": null,
"created_at": "2023-11-29T12:07:27.008327+00:00",
"updated_at": "2023-11-29T12:07:27.008327+00:00",
"original_datetime": "2023-11-29T12:07:27.008327+00:00",
"previous_hash": "cf0e47fef12156bd8b21a77610951cb2928c83dabea47e6b3b5d1cb31a211111"
},
"serial": 92,
"status": "CREATED",
"goods": [
{
"good": {
"code": "500",
"barcode": "2000000000009",
"name": "Вино ігристе біле Вінтаж де Локсарел БН Резерва, Loxarel брют 0,125",
"excise_barcodes": [
"AENX936821"
],
"header": null,
"footer": null,
"uktzed": "2204109300",
"price": 19500
},
"good_id": "94433d09-c47e-48a1-8010-570099e11111",
"sum": 19500,
"quantity": 1000,
"is_return": false,
"taxes": [
{
"id": "f6dddf31-fefd-437b-9c9f-75083d11111",
"code": 1,
"label": "ПДВ + Акцизний збір",
"symbol": "А",
"rate": 20,
"extra_rate": 5,
"included": true,
"created_at": "2023-09-27T07:57:17.436553+00:00",
"updated_at": null,
"no_vat": false,
"advanced_code": null,
"value": 3095,
"extra_value": 929
}
],
"discounts": []
},
{
"good": {
"code": "501",
"barcode": "5000281025360",
"name": "Ромовий напій Captain Morgan Spiced Gold, 35%, 0,5 л (437392)",
"excise_barcodes": [
"ACVI735229",
"ACVE735293"
],
"header": null,
"footer": null,
"uktzed": "2208906900",
"price": 20900
},
"good_id": "ce7a84e9-ff67-4c25-8d12-875134d11111",
"sum": 41800,
"quantity": 2000,
"is_return": false,
"taxes": [
{
"id": "e74a8795-2b05-4024-aaf9-bf385b11111",
"code": 1,
"label": "ПДВ + Акцизний збір",
"symbol": "А",
"rate": 20,
"extra_rate": 5,
"included": true,
"created_at": "2023-09-27T07:57:17.436553+00:00",
"updated_at": null,
"no_vat": false,
"advanced_code": null,
"value": 6635,
"extra_value": 1990
}
],
"discounts": []
}
],
"payments": [
{
"type": "CASHLESS",
"pawnshop_is_return": null,
"provider_type": null,
"code": null,
"value": 56300,
"commission": null,
"label": "Картка",
"card_mask": "XXXXXXXXXXXX6734",
"bank_name": "PrivetBank",
"auth_code": "078111",
"rrn": "305817547111",
"payment_system": "VISA",
"owner_name": "CHEREZPLETINNOHUZADYRAISHCHENKO PETRO",
"terminal": "S1LF0EUR",
"acquiring": "PrivetBank",
"acquirer_and_seller": "PrivetBank",
"receipt_no": "1",
"signature_required": false,
"tapxphone_terminal": null
}
],
"total_sum": 56300,
"sum": 56300,
"total_payment": 56300,
"total_rest": 0,
"rest": 0,
"round_sum": 0,
"fiscal_code": null,
"fiscal_date": null,
"delivered_at": null,
"created_at": "2023-11-29T12:07:27.008327+00:00",
"updated_at": null,
"taxes": [
{
"id": "42fd6c01-0d82-468a-ab78-9269e10111111",
"code": 1,
"label": "ПДВ + Акцизний збір",
"symbol": "А",
"rate": 20,
"extra_rate": 5,
"included": true,
"created_at": "2023-09-27T07:57:17.436553+00:00",
"updated_at": null,
"no_vat": false,
"advanced_code": null,
"value": 8936,
"extra_value": 2680
}
],
"discounts": [
{
"type": "DISCOUNT",
"mode": "VALUE",
"value": 5000,
"tax_code": null,
"tax_codes": [
1
],
"name": "Знижка",
"privilege": null,
"sum": -5000
}
],
"order_id": null,
"header": "Якийсь хедер",
"footer": "Якийсь футер",
"barcode": null,
"custom": null,
"context": null,
"is_created_offline": false,
"is_sent_dps": false,
"sent_dps_at": null,
"tax_url": null,
"related_receipt_id": null,
"technical_return": false,
"stock_code": null,
"currency_exchange": null,
"service_currency_exchange": [],
"shift": {
"id": "16a4caf5-abf7-46b3-9729-1aab84f11111",
"serial": 47,
"status": "OPENED",
"z_report": null,
"opened_at": "2023-11-29T12:04:20.574746+00:00",
"closed_at": null,
"initial_transaction": {
"id": "08c48ca9-9a6d-4c70-b114-febf46f11111",
"type": "SHIFT_OPEN",
"serial": 182,
"status": "DONE",
"request_signed_at": "2023-11-29T12:04:20.651192+00:00",
"request_received_at": "2023-11-29T12:07:11.634244+00:00",
"response_status": "OK",
"response_error_message": null,
"response_id": "TEST-Z11111",
"offline_id": "TEST-Z11111",
"created_at": "2023-11-29T12:04:20.574746+00:00",
"updated_at": "2023-11-29T12:07:11.665850+00:00",
"original_datetime": "2023-11-29T12:04:20.574746+00:00",
"previous_hash": "f282bba44d4396cb7fc611ac3ac87d2b861e554dc97c755ac7b9ef2783311111"
},
"closing_transaction": null,
"created_at": "2023-11-29T12:04:20.574746+00:00",
"updated_at": "2023-11-29T12:04:20.685550+00:00",
"balance": {
"initial": 6420,
"balance": 6420,
"cash_sales": 0,
"card_sales": 112600,
"discounts_sum": 10000,
"extra_charge_sum": 0,
"cash_returns": 0,
"card_returns": 0,
"service_in": 0,
"service_out": 0,
"updated_at": "2023-11-29T12:07:27.008327+00:00"
},
"taxes": [
{
"id": "42fd6c01-0d82-468a-ab78-9269e1011111",
"code": 1,
"label": "ПДВ + Акцизний збір",
"symbol": "А",
"rate": 20,
"extra_rate": 5,
"included": true,
"created_at": "2023-09-27T07:57:17.436553+00:00",
"updated_at": null,
"no_vat": false,
"advanced_code": null,
"sales": 23234,
"returns": 0,
"sales_turnover": 112600,
"returns_turnover": 0
},
{
"id": "ee78ddd7-979f-419b-990e-529871211111",
"code": 2,
"label": "Акцизний збір",
"symbol": "Б",
"rate": 0,
"extra_rate": 5,
"included": true,
"created_at": "2023-11-03T10:19:06.625503+00:00",
"updated_at": null,
"no_vat": false,
"advanced_code": null,
"sales": 0,
"returns": 0,
"sales_turnover": 0,
"returns_turnover": 0
},
{
"id": "2df43a8c-be79-41b8-9f78-1bb1c0c11111",
"code": 5,
"label": "ПДВ 20%",
"symbol": "Є",
"rate": 20,
"extra_rate": null,
"included": true,
"created_at": "2023-09-27T07:57:32.979471+00:00",
"updated_at": null,
"no_vat": false,
"advanced_code": null,
"sales": 0,
"returns": 0,
"sales_turnover": 0,
"returns_turnover": 0
},
{
"id": "351551ce-4be2-4581-8184-df53b7011111",
"code": 8,
"label": "Без ПДВ",
"symbol": "З",
"rate": 0,
"extra_rate": null,
"included": true,
"created_at": "2023-09-27T07:57:34.983722+00:00",
"updated_at": null,
"no_vat": true,
"advanced_code": null,
"sales": 0,
"returns": 0,
"sales_turnover": 0,
"returns_turnover": 0
}
],
"emergency_close": null,
"emergency_close_details": null,
"cash_register": {
"id": "c13876dd-e51e-433f-a61c-f2c426311111",
"fiscal_number": "TEST51111",
"active": true,
"created_at": "2022-07-26T19:54:09+00:00",
"updated_at": "2023-11-14T22:55:08+00:00",
"number": "1"
},
"cashier": {
"id": "04da40aa-e28e-42b7-8d51-6cb6ee811111",
"full_name": "Тестовий касир",
"nin": "000000000",
"key_id": "test_jrdulZ77cjg11111",
"signature_type": "TEST",
"permissions": {
"orders": true,
"add_discounts": true,
"editing_goods_sum": true,
"deferred_receipt": true,
"editing_good_price": true,
"can_add_manual_good": true,
"service_in": true,
"service_out": true,
"returns": true,
"sales": true,
"card_payment": true,
"cash_payment": true,
"other_payment": true,
"mixed_payment": true,
"branch_params": false,
"reports_history": true,
"additional_service_receipt": false,
"free_return": false
},
"created_at": "2022-06-01T14:23:04+00:00",
"updated_at": "2022-07-19T14:13:58+00:00",
"certificate_end": null,
"blocked": null
}
},
"control_number": null
}
"id" - унікальний ідентифікатор чека у форматі UUID
"type" - тип чека, SERVICE_IN/SERVICE_OUT (СЛУЖБОВЕ ВНЕСЕННЯ/СЛУЖБОВЕ ВИЛУЧЕННЯ)
"transaction" - інформація про транзакцію чека.
"taxes" - блок даних з інформацією про податкові ставки, які використовувались для товару в чеку
"discounts" - блок даних про знижки по товару.
"payments" - блок даних з інформацією про платежі
"total_sum" та "sum" - сума вартості товарів у чеку
"total_payment" - сума оплати за товари у чеку
"rest" та "total_rest" - сума здачі
"fiscal_code" - фіскальний номер чека. При створенні чека у онлайні чек отримує фіскальний код згодом, після обробки та передачі його у ДПС, яка у відповідь призначає чеку офлайн код
"fiscal_date" - фіскальна дата, з якою чек буде зареєстровано у ДПС. Чек отримає фіскальну дату після завершення обробки.
"delivered_at" - мітка часу у форматі ISO 8601 за шаблоном YYYY-MM-DDThh:mm:ss.ssssss±hh:mm, яка відмічає дату/час доставки чека у ДПС.
"created_at" - мітка часу у форматі ISO 8601 за шаблоном YYYY-MM-DDThh:mm:ss.ssssss±hh:mm, яка відмічає дату/час створення чека
"updated_at" - мітка часу у форматі ISO 8601 за шаблоном YYYY-MM-DDThh:mm:ss.ssssss±hh:mm, яка відмічає дату/час останнього оновлення даних чека. Якщо чек тільки що створено або якщо інформація по ньому не оновлювалась, то дане значення буде null
"taxes" - блок даних про податки, які використовувались для всього чеку
"discounts" - блок даних про знижки, які застосовувались до всього чеку.
"order_id" - ідентифікатор замовлення у форматі UUID (використовується при роботі з API замовлень).
"header" - хедер чека.
"footer" - футер чека.
"barcode" - штрих-код чека.
"custom" - блок з даними кастомізації чека. Докладніше про параметри, які можуть відображатись в даному блоці можете дізнатись тутcustom_check
"is_created_offline" - ознака режиму (онлайн/офлайн) у якому був створений чек. true - чек створений у офлайні, false - чек створений у онлайні.
"is_sent_dps" - ознака відправки чека у ДПС.
"sent_dps_at" - мітка часу у форматі ISO 8601 за шаблоном YYYY-MM-DDThh:mm:ss.ssssss±hh:mm, яка відмічає дату/час відправки чека у ДПС.
"tax_url" - посилання на чек у кабінеті ДПС.
"related_receipt_id" - id пов'язаного чека у форматі UUID. Цим параметром можна пов'язати між собою чек продажу та повернення, щоб завжди мати змогу дізнатися, на основі якого конкретно чека продажу ви робили повернення.
"technical_return" - параметр, який відповідає за мітку технічного повернення на чеку. Технічне повернення - це повернення чеку продажу у випадку, коли чек продажу сформований невірно і для коригування балансу виникає змога провести повернення.
"currency_exchange" - блок даних, який стосується операцій валютного обміну. Не є актуальним для звичайного чека.
"shift" - блок з даними про поточну зміну
"initial_transaction" - блок з інформацією про першу транзакцію обраної зміни
"closing_transaction" - блок даних про останню транзакцію у зміні. Для відкритої зміни прийматиме значення null. Якщо зміна закрита, то даний блок міститиме набір даних стосовно останньої транзакції у зміні аналогічний до "initial_transaction"
"created_at" - мітка часу створення зміни у форматі ISO 8601 за шаблоном YYYY-MM-DDThh:mm:ss.ssssss±hh:mm
"updated_at" - мітка часу останнього оновлення даних зміни у форматі ISO 8601 за шаблоном YYYY-MM-DDThh:mm:ss.ssssss±hh:mm
"balance" - блок даних по грошовому балансу обраної зміни. Всі значення передаються у копійках.
"taxes" - блок даних з інформацією про податкові ставки, які діють у рамках обраної зміни. Для кожної податкової ставки набір даних складається з наступних пунктів:
"cash_register" - блок даних з інформацією про касу, на якій було створено чек
"cashier" - блок даних з інформацією про касира, який створив чек
"control_number" - контрольне число, яке отримує офлайн чек після обробки сервером
Метод /api/v1/receipts/sell-offline призначений для створення чека у офлайні і дозволяє явно вказати як фіскальну дату, так і фіскальний код.
Перед створенням офлайн чеку касу потрібно перевести у офлайн режим, інакше ви отримаєте від API помилку виду "message": "Cash register should be in manual offline mode!". Метод переходу у офлайн описаний у відповідному розділі сторінки.
Від методу /api/v1/receipts/sell метод /api/v1/receipts/sell-offline відрізняється наявністю полів "fiscal_code" та "fiscal_date", які є обов'язковими та вказуються наприкінці пейлоаду чеку.
accept: application/json
X-Client-Name: <назва інтеграції (обов`язково)>
X-Client-Version: <версія інтеграції (обов`язково)>
Authorization: <токен авторизації>
Content-Type: application/json
{
"id": "<генерація та передача UUID чека на стороні інтеграції є обовʼязковою>",
"cashier_name": "<Імʼя касира>",
"departament": "<Назва відділу>",
"goods":[
{
"good":{
"code": "<Код товару>",
"name": "<Назва товару>",
"price": <ціна у копійках>,
"tax": [<цифровий або літерний код ставки податку (попередньо програмується у особистому кабінеті). Якщо до товару потрібно застосувати декілька податків - вказати через кому>],
"barcode": "<Штрих-код товару>",
"excise_barcodes": ["<цифрове позначення штрих-коду акцизної марки 1>","<цифрове позначення штрих-коду акцизної марки 2>"],
"header": "<Хедер товару 1>",
"footer": "<Футер товару 1>",
"uktzed": "<код УКТЗЕД>"
},
"good_id": "<UUID товару>",
"quantity": <кількість у тисячах, 1 шт = 1000>,
"is_return": <флаг true/false, що визначає, чи це чек повернення>,
"is_winnings_payout": <флаг true/false, що визначає, чи це виплата виграшу>,
"discounts":[{
"type": "<тип знижки - "DISCOUNT"/"EXTRA_CHARGE" (ЗНИЖКА/НАДБАВКА)>",
"mode": "<режим знижки "VALUE"/"PERCENT" (АБСОЛЮТНЕ ЗНАЧЕННЯ/ВІДСОТКОВА ЗНИЖКА - рекомендуємо відмовлятись від вказування відсоткової знижки та передавати у фіскальний чек абсолютне значення)>",
"value": <значення знижки>,
"tax_code": [<код податку, який застосовується для товару. Потрібно вказувати для коректного обрахунку знижки, якщо товар має податкову ставку>],
"tax_codes": [<коди податкових ставок, що застосовуються для товару (якщо їх >1). Потрібно вказувати через кому для коректного обрахунку знижки, якщо товар має податкову ставку>],
"name": "<назва знижки або надбавки>"
"privilege": "<номер підтвердження пільгової знижки. Отримується від серверу пільгових знижок. Вказується при використані соціальної знижки>"
}],
"total_sum":<сума вартості товару>
},
{
"good":
{<блок з даними про другий товар, за структурою аналогічний попередньому. блоки good потрібно повторювати стільки разів, скільки у вас товарів у чеку>}
}],
"delivery":{
"email": "<e-mail клієнта для відправки копії чека>",
"emails": ["<e-mail клієнта для відправки копії чека 1>","<e-mail клієнта для відправки копії чека 2>"],
"phone": "<номер телефона клієнта для відправки копії чека по SMS/Viber (для роботи функції має бути налаштована та підключена відповідна послуга)>. Формат 380..."
},
"discounts":[{
"type": "<тип знижки - "DISCOUNT"/"EXTRA_CHARGE" (ЗНИЖКА/НАДБАВКА)>",
"mode": "<режим знижки "VALUE"/"PERCENT" (АБСОЛЮТНЕ ЗНАЧЕННЯ/ВІДСОТКОВА ЗНИЖКА - рекомендуємо відмовлятись від вказування відсоткової знижки та передавати у фіскальний чек абсолютне значення)>",
"value": <значення знижки>,
"tax_code": [<код податку, який застосовується для товару. Потрібно вказувати для коректного обрахунку знижки, якщо товар має податкову ставку>],
"tax_codes": [<коди податкових ставок через кому, що застосовуються для товару (якщо їх >1). Потрібно вказувати для коректного обрахунку знижки, якщо товар має податкову ставку>],
"name": "<назва знижки або надбавки>",
"privilege": "<номер підтвердження пільгової знижки. Отримується від серверу пільгових знижок. Вказується при використані соціальної знижки>"
}],
"bonuses":[
{
"bonus_card": <інформація про бонусну картку покупця, НЕ ДРУКУЄТЬСЯ В ЧЕКУ>,
"value": <інформація про накопичені бонуси, НЕ ДРУКУЄТЬСЯ В ЧЕКУ>,
"additional_info": <додаткова інформація про бонуси, НЕ ДРУКУЄТЬСЯ В ЧЕКУ>
}],
"payments":[{
"type": "<"CASH"/"CASHLESS" (ГОТІВКА/БЕЗГОТІВКОВИЙ РОЗРАХУНОК (картка, сертифікати, бонуси тощо))>",
"pawnshop_is_return": <true/false Ознака того, що даний чек є видатковим чеком ломбарду. Для звичайного чека параметр вказувати не потрібно>,
"provider_type": "<у разі застосування технології TAPXPHONE, дане поле буде заповнено автоматично. Можливі значення: `TAPXPHONE`, `POSCONTROL`, `TERMINAL`>",
"value": <сума оплати у копійках>,
"commission": <комісія (тільки для безготівкових платежів)>,
"label": "<текстова назва форми оплати>",
"card_mask": "<маска карти (не більше 19 символів) (тільки для безготівкових платежів)>",
"bank_name": "<назва банку (тільки для безготівкових платежів)>",
"auth_code": "<код авторизації банківської операції (тільки для безготівкових платежів)>",
"rrn": "<Reference Retrieval Number - унікальний ідентифікатор банківської транзакції (тільки для безготівкових платежів)>",
"payment_system": "<платіжна система (тільки для безготівкових платежів)>",
"owner_name": "<імʼя власника електронного платіжного засобу (тільки для безготівкових платежів)>",
"terminal": "<інформація про платіжний термінал (тільки для безготівкових платежів)>",
"acquirer_and_seller": "<ідентифікатор еквайра та торгівця, або інші реквізити, що дають змогу їх ідентифікувати (тільки для безготівкових платежів)>",
"receipt_no": "<номер банківського чека (тільки для безготівкових платежів)>",
"signature_required": <true/false флаг, який визначає, чи має бути доступною графа для підпису власника картки та касира>
"tapxphone_terminal": <унікальний ідентифікатор інтеграції технології TAPXPHONE у форм UUID>
},
{<блок з даними по додатковій формі оплати за шаблоном, який описаний вище (якщо в чеку декілька форм оплати)>}],
"rounding": <true/false активація режиму заокруглення (для його роботи у блоці payments має бути вказана сума вже заокруглена за правилами НБУ>,
"header": "<хедер чека>",
"footer": "<футер чека>",
"barcode": "<штрих-код чека>",
"order_id": "<UUID замовлення (вказується у випадку роботи з API у режимі замовлень). НЕ ДЛЯ ПЕРЕДАЧІ НОМЕРУ ЗАМОВЛЕНЬ ІЗ ФРОНТ-СИСТЕМ>",
"related_receipt_id": "<UUID повʼязаного фіскального чеку (використовується опціонально для контролю послідовності)>",
"previous_receipt_id": "<UUID попереднього фіскального чеку (використовується опціонально для контролю послідовності)>",
"technical_return": <true/false флаг, яким можна позначити, що даний чек є чеком технічного (помилкового) повернення>,
"is_pawnshop": <true/false флаг, яким можна позначити, що даний чек є чеком ломбарду>,
"custom": {
"html_global_header": "<глобальний хедер для чеків html/pdf візуалізацій>",
"html_global_footer": "<глобальний футер для чеків html/pdf візуалізацій>",
"html_body_style": "<фон сторінки з чеком>",
"html_receipt_style": "<стиль блоку з чеком>",
"html_ruler_style": "<стиль роздільника з зірочками між блоками чеку>",
"html_light_block_style": "<стиль світлих блоків, це весь підвал чеку та клітинки з вартістю та кількістю>",
"text_global_header": "<глобальний хедер для чеків png/txt візуалізацій>",
"text_global_footer": "<глобальний футер для чеків png/txt візуалізацій>"
},
"fiscal_code": "<невикористаний офлайн код>",
"fiscal_date": "<дача/час фіскалізації чека у форматі ISO 8601 за шаблоном YYYY-MM-DDThh:mm:ss.ssssss±hh:mm>"
}
curl -X 'POST' \ 'https://api.checkbox.ua/api/v1/receipts/sell-offline' \ -H 'accept: application/json' \ -H 'X-Client-Name: Test-Client-Name' \ -H 'X-Client-Version: Test-Client-Version' \ -H 'Authorization: Bearer token' \ -H 'Content-Type: application/json' \ -d '{ "id":"44395b8e-a53d-462d-9c8c-a69d05c11111", "cashier_name":"Тестовий касир", "departament":"Тестова каса", "goods":[ { "good":{ "code":"500", "name":"Вино ігристе біле Вінтаж де Локсарел БН Резерва, Loxarel брют 0,125", "price":19500, "tax":[ 1 ], "barcode":"2000000000009", "excise_barcode":"AENX936821", "uktzed":"2204109300" }, "good_id":"94433d09-c47e-48a1-8010-570099ee52e4", "quantity":1000 }, { "good":{ "code":"501", "name":"Ромовий напій Captain Morgan Spiced Gold, 35%, 0,5 л (437392)", "price":20900, "tax":[ 1 ], "barcode":"5000281025360", "excise_barcodes":[ "ACVI735229", "ACVE735293" ], "uktzed":"2208906900" }, "good_id":"ce7a84e9-ff67-4c25-8d12-875134d650fe", "quantity":2000 } ], "delivery":{ "email":"[email protected]", "phone":"380500521111" }, "discounts":[ { "type":"DISCOUNT", "mode":"VALUE", "value":5000, "tax_code":1, "name":"Знижка" } ], "payments":[ { "type":"CASHLESS", "value":56300, "label":"Картка", "card_mask":"XXXXXXXXXXXX6734", "bank_name":"PrivetBank", "auth_code":"078111", "rrn":"305817547111", "payment_system":"VISA", "owner_name":"CHEREZPLETINNOHUZADYRAISHCHENKO PETRO", "terminal":"S1LF0EUR", "acquirer_and_seller":"PrivetBank", "receipt_no":"1", "signature_required":false } ], "rounding":false, "header":"Якийсь хедер", "footer":"Якийсь футер", "custom":{ "html_body_style":"background: rgb(35,32,87);\nbackground: linear-gradient(45deg, rgba(35,32,87,1) 0%, rgba(62,62,138,1) 44%, rgba(0,212,255,1) 100%);" },"fiscal_code":"TEST-i11111", "fiscal_date":"2023-11-29T14:07:28.000000"}'
{
"id": "77ccd2a5-a0c6-4328-bb84-b829574bed74",
"type": "SELL",
"transaction": {
"id": "6bd73d21-2a4e-49ab-9471-108b95d48286",
"type": "RECEIPT",
"serial": 187,
"status": "PENDING",
"request_signed_at": null,
"request_received_at": null,
"response_status": null,
"response_error_message": null,
"response_id": null,
"offline_id": "TEST-iA5fmb",
"created_at": "2023-11-29T12:11:28.569137+00:00",
"updated_at": "2023-11-29T12:11:28.569137+00:00",
"original_datetime": "2023-11-29T14:07:28+00:00",
"previous_hash": "5db006ff9126fcb39146c017f4f8d7e8668dee4220dce5136ff795716c483f73"
},
"serial": 93,
"status": "DONE",
"goods": [
{
"good": {
"code": "500",
"barcode": "2000000000009",
"name": "Вино ігристе біле Вінтаж де Локсарел БН Резерва, Loxarel брют 0,125",
"excise_barcodes": [
"AENX936821"
],
"header": null,
"footer": null,
"uktzed": "2204109300",
"price": 19500
},
"good_id": "94433d09-c47e-48a1-8010-570099ee52e4",
"sum": 19500,
"quantity": 1000,
"is_return": false,
"taxes": [
{
"id": "2dffc3b9-b638-406d-ad14-408ff0df1671",
"code": 1,
"label": "ПДВ + Акцизний збір",
"symbol": "А",
"rate": 20,
"extra_rate": 5,
"included": true,
"created_at": "2023-09-27T07:57:17.436553+00:00",
"updated_at": null,
"no_vat": false,
"advanced_code": null,
"value": 3095,
"extra_value": 929
}
],
"discounts": []
},
{
"good": {
"code": "501",
"barcode": "5000281025360",
"name": "Ромовий напій Captain Morgan Spiced Gold, 35%, 0,5 л (437392)",
"excise_barcodes": [
"ACVI735229",
"ACVE735293"
],
"header": null,
"footer": null,
"uktzed": "2208906900",
"price": 20900
},
"good_id": "ce7a84e9-ff67-4c25-8d12-875134d650fe",
"sum": 41800,
"quantity": 2000,
"is_return": false,
"taxes": [
{
"id": "3319723e-8eba-4c04-ae70-a9221de3a43f",
"code": 1,
"label": "ПДВ + Акцизний збір",
"symbol": "А",
"rate": 20,
"extra_rate": 5,
"included": true,
"created_at": "2023-09-27T07:57:17.436553+00:00",
"updated_at": null,
"no_vat": false,
"advanced_code": null,
"value": 6635,
"extra_value": 1990
}
],
"discounts": []
}
],
"payments": [
{
"type": "CASHLESS",
"pawnshop_is_return": null,
"provider_type": null,
"code": null,
"value": 56300,
"commission": null,
"label": "Картка",
"card_mask": "XXXXXXXXXXXX6734",
"bank_name": "PrivetBank",
"auth_code": "078111",
"rrn": "305817547111",
"payment_system": "VISA",
"owner_name": "CHEREZPLETINNOHUZADYRAISHCHENKO PETRO",
"terminal": "S1LF0EUR",
"acquiring": "PrivetBank",
"acquirer_and_seller": "PrivetBank",
"receipt_no": "1",
"signature_required": false,
"tapxphone_terminal": null
}
],
"total_sum": 56300,
"sum": 56300,
"total_payment": 56300,
"total_rest": 0,
"rest": 0,
"round_sum": 0,
"fiscal_code": "TEST-iA5fmb",
"fiscal_date": "2023-11-29T14:07:28+00:00",
"delivered_at": null,
"created_at": "2023-11-29T14:07:28+00:00",
"updated_at": "2023-11-29T12:11:28.569137+00:00",
"taxes": [
{
"id": "42fd6c01-0d82-468a-ab78-9269e1004508",
"code": 1,
"label": "ПДВ + Акцизний збір",
"symbol": "А",
"rate": 20,
"extra_rate": 5,
"included": true,
"created_at": "2023-09-27T07:57:17.436553+00:00",
"updated_at": null,
"no_vat": false,
"advanced_code": null,
"value": 8936,
"extra_value": 2680
}
],
"discounts": [
{
"type": "DISCOUNT",
"mode": "VALUE",
"value": 5000,
"tax_code": null,
"tax_codes": [
1
],
"name": "Знижка",
"privilege": null,
"sum": -5000
}
],
"order_id": null,
"header": "Якийсь хедер",
"footer": "Якийсь футер",
"barcode": null,
"custom": null,
"context": null,
"is_created_offline": true,
"is_sent_dps": false,
"sent_dps_at": null,
"tax_url": "https://cabinet.tax.gov.ua/cashregs/check?id=TEST-iA5fmb&date=20231129&time=16%3A07%3A28&fn=TEST551151&sm=563.00&mac=5db006ff9126fcb39146c017f4f8d7e8668dee4220dce5136ff795716c483f73",
"related_receipt_id": null,
"technical_return": false,
"stock_code": null,
"currency_exchange": null,
"service_currency_exchange": [],
"shift": {
"id": "16a4caf5-abf7-46b3-9729-1aab84fae33d",
"serial": 47,
"status": "OPENED",
"z_report": null,
"opened_at": "2023-11-29T12:04:20.574746+00:00",
"closed_at": null,
"initial_transaction": {
"id": "08c48ca9-9a6d-4c70-b114-febf46fc871a",
"type": "SHIFT_OPEN",
"serial": 182,
"status": "DONE",
"request_signed_at": "2023-11-29T12:04:20.651192+00:00",
"request_received_at": "2023-11-29T12:07:11.634244+00:00",
"response_status": "OK",
"response_error_message": null,
"response_id": "TEST-ZBt1ku",
"offline_id": "TEST-ZBt1ku",
"created_at": "2023-11-29T12:04:20.574746+00:00",
"updated_at": "2023-11-29T12:07:11.665850+00:00",
"original_datetime": "2023-11-29T12:04:20.574746+00:00",
"previous_hash": "f282bba44d4396cb7fc611ac3ac87d2b861e554dc97c755ac7b9ef27833a4676"
},
"closing_transaction": null,
"created_at": "2023-11-29T12:04:20.574746+00:00",
"updated_at": "2023-11-29T12:04:20.685550+00:00",
"balance": {
"initial": 6420,
"balance": 6420,
"cash_sales": 0,
"card_sales": 168900,
"discounts_sum": 15000,
"extra_charge_sum": 0,
"cash_returns": 0,
"card_returns": 0,
"service_in": 0,
"service_out": 0,
"updated_at": "2023-11-29T12:11:28.569137+00:00"
},
"taxes": [
{
"id": "42fd6c01-0d82-468a-ab78-9269e1004508",
"code": 1,
"label": "ПДВ + Акцизний збір",
"symbol": "А",
"rate": 20,
"extra_rate": 5,
"included": true,
"created_at": "2023-09-27T07:57:17.436553+00:00",
"updated_at": null,
"no_vat": false,
"advanced_code": null,
"sales": 34852,
"returns": 0,
"sales_turnover": 168900,
"returns_turnover": 0
},
{
"id": "ee78ddd7-979f-419b-990e-529871241874",
"code": 2,
"label": "Акцизний збір",
"symbol": "Б",
"rate": 0,
"extra_rate": 5,
"included": true,
"created_at": "2023-11-03T10:19:06.625503+00:00",
"updated_at": null,
"no_vat": false,
"advanced_code": null,
"sales": 0,
"returns": 0,
"sales_turnover": 0,
"returns_turnover": 0
},
{
"id": "2df43a8c-be79-41b8-9f78-1bb1c0c9d731",
"code": 5,
"label": "ПДВ 20%",
"symbol": "Є",
"rate": 20,
"extra_rate": null,
"included": true,
"created_at": "2023-09-27T07:57:32.979471+00:00",
"updated_at": null,
"no_vat": false,
"advanced_code": null,
"sales": 0,
"returns": 0,
"sales_turnover": 0,
"returns_turnover": 0
},
{
"id": "351551ce-4be2-4581-8184-df53b70e9604",
"code": 8,
"label": "Без ПДВ",
"symbol": "З",
"rate": 0,
"extra_rate": null,
"included": true,
"created_at": "2023-09-27T07:57:34.983722+00:00",
"updated_at": null,
"no_vat": true,
"advanced_code": null,
"sales": 0,
"returns": 0,
"sales_turnover": 0,
"returns_turnover": 0
}
],
"emergency_close": null,
"emergency_close_details": null,
"cash_register": {
"id": "c13876dd-e51e-433f-a61c-f2c4263fbaad",
"fiscal_number": "TEST551151",
"active": true,
"created_at": "2022-07-26T19:54:09+00:00",
"updated_at": "2023-11-14T22:55:08+00:00",
"number": "1"
},
"cashier": {
"id": "04da40aa-e28e-42b7-8d51-6cb6ee800245",
"full_name": "Тестовий касир",
"nin": "000000000",
"key_id": "test_jrdulZ77cjgjuwNd",
"signature_type": "TEST",
"permissions": {
"orders": true,
"add_discounts": true,
"editing_goods_sum": true,
"deferred_receipt": true,
"editing_good_price": true,
"can_add_manual_good": true,
"service_in": true,
"service_out": true,
"returns": true,
"sales": true,
"card_payment": true,
"cash_payment": true,
"other_payment": true,
"mixed_payment": true,
"branch_params": false,
"reports_history": true,
"additional_service_receipt": false,
"free_return": false
},
"created_at": "2022-06-01T14:23:04+00:00",
"updated_at": "2022-07-19T14:13:58+00:00",
"certificate_end": null,
"blocked": null
}
},
"control_number": "9933"
}
Параметри відповіді співпадають із параметрами відповіді методу /api/v1/receipts/sell.
Метод /api/v1/receipts/cash-withdrawal призначений для створення чека видачі готівкових коштів держателю ЕПЗ (видача готівки на касі) згідно форми ФКЧ-4. Обов'язковими полями для заповнення в тілі запиту "id" та блок "payments" із даними терміналу.
accept: application/json
X-Client-Name: <назва інтеграції (обов`язково)>
X-Client-Version: <версія інтеграції (обов`язково)>
Authorization: <токен авторизації>
Content-Type: application/json
{
"id":"<генерація та передача UUID чека на стороні інтеграції є обовʼязковою>",
"cashier_name":"<Імʼя касира>",
"departament":"<Назва відділу>",
"payment":{
"type":"<"CASH"/"CASHLESS" (ГОТІВКА/БЕЗГОТІВКОВИЙ РОЗРАХУНОК (картка, сертифікати, бонуси тощо))>",
"pawnshop_is_return":"<true/false Ознака того, що даний чек є видатковим чеком ломбарду. Для звичайного чека параметр вказувати не потрібно>",
"provider_type":"<у разі застосування технології `TAPXPHONE`, дане поле буде заповнено автоматично. Можливі значення:`TAPXPHONE`,`POSCONTROL`, `TERMINAL`>",
"value":"<сума оплати у копійках>",
"commission":"<комісія (тільки для безготівкових платежів)>",
"label":"<текстова назва форми оплати>",
"card_mask":"<маска карти (не більше 19 символів) (тільки для безготівкових платежів)>",
"bank_name":"<назва банку (тільки для безготівкових платежів)>",
"auth_code":"<код авторизації банківської операції (тільки для безготівкових платежів)>",
"rrn":"<Reference Retrieval Number - унікальний ідентифікатор банківської транзакції (тільки для безготівкових платежів)>",
"payment_system":"<платіжна система (тільки для безготівкових платежів)>",
"owner_name":"<імʼя власника електронного платіжного засобу (тільки для безготівкових платежів)>",
"terminal":"<інформація про платіжний термінал (тільки для безготівкових платежів)>",
"acquirer_and_seller":"<ідентифікатор еквайра та торгівця, або інші реквізити, що дають змогу їх ідентифікувати (тільки для безготівкових платежів)>",
"receipt_no":"<номер банківського чека (тільки для безготівкових платежів)>",
"signature_required":"<true/false флаг, який визначає, чи має бути доступною графа для підпису власника картки та касира>",
"tapxphone_terminal":"<унікальний ідентифікатор інтеграції технології `TAPXPHONE` у форм UUID>"
},
"fiscal_code":"<невикористаний офлайн код - у разі створення чека в офлайн режимі>",
"fiscal_date":"<дата/час фіскалізації чека у форматі ISO 8601 за шаблоном YYYY-MM-DDThh:mm:ss.ssssss±hh:mm - у разі створення чека в офлайн режимі>",
"header":"<хедер чека>",
"footer":"<футер чека>",
"barcode":"<штрих-код чека>",
"delivery":{
"email":"<e-mail клієнта для відправки копії чека>",
"emails":[
"<e-mail клієнта для відправки копії чека 1>",
"<e-mail клієнта для відправки копії чека 2>"
],
"phone":"<номер телефона клієнта для відправки копії чека по SMS/Viber (для роботи функції має бути налаштована та підключена відповідна послуга)>. Формат 380..."
},
"previous_receipt_id":"<UUID попереднього чека>"
}
curl -X 'POST' \ 'https://api.checkbox.ua/api/v1/receipts/cash-withdrawal' \ -H 'accept: application/json' \ -H 'X-Client-Name: Test-Client-Name' \ -H 'X-Client-Version: Test-Client-Version' \ -H 'Authorization: Bearer token' \ -H 'Content-Type: application/json' \ -d '{ "id":"9f24a762-ac88-474b-a524-bba683dfb6c1", "cashier_name":"Тестовий касир", "departament":"Тестова каса>", "payment":{ "type": "CASHLESS", "value": 20000, "label": "Картка", "card_mask": "XXXXXXXXXXXX6734", "bank_name": "PrivetBank", "auth_code": "078111", "rrn": "305817547111", "payment_system": "VISA", "owner_name": "CHEREZPLETINNOHUZADYRAISHCHENKO PETRO", "terminal": "S1LF0EUR", "acquirer_and_seller": "PrivetBank", "receipt_no": "1", "signature_required": false}}'
{
"id": "9f24a762-ac88-474b-a524-bba683dfb6c1",
"type": "CASH_WITHDRAWAL",
"transaction": {
"id": "1e4e3f7e-adef-4a87-b5b2-80834bc8601b",
"type": "RECEIPT",
"serial": 160,
"status": "PENDING",
"request_signed_at": null,
"request_received_at": null,
"response_status": null,
"response_error_message": null,
"response_id": null,
"offline_id": null,
"created_at": "2023-11-06T15:31:38.531434+00:00",
"updated_at": "2023-11-06T15:31:38.531434+00:00",
"original_datetime": "2023-11-06T15:31:38.531434+00:00",
"previous_hash": "52b21218b70c30a298332c897472b951603c2d874876e00dd06577c39f15aa12"
},
"serial": 87,
"status": "CREATED",
"goods": [],
"payments": [
{
"type": "CASHLESS",
"pawnshop_is_return": null,
"provider_type": null,
"code": null,
"value": 20000,
"commission": null,
"label": "Картка",
"card_mask": "XXXXXXXXXXXX6734",
"bank_name": "PrivetBank",
"auth_code": "078111",
"rrn": "305817547111",
"payment_system": "VISA",
"owner_name": "CHEREZPLETINNOHUZADYRAISHCHENKO PETRO",
"terminal": "S1LF0EUR",
"acquiring": "PrivetBank",
"acquirer_and_seller": "PrivetBank",
"receipt_no": "1",
"signature_required": false,
"tapxphone_terminal": null
}
],
"total_sum": 20000,
"total_payment": 20000,
"total_rest": 0,
"round_sum": null,
"fiscal_code": null,
"fiscal_date": null,
"delivered_at": null,
"created_at": "2023-11-06T15:31:38.531434+00:00",
"updated_at": null,
"taxes": [],
"discounts": [],
"order_id": null,
"header": null,
"footer": null,
"barcode": null,
"custom": null,
"context": null,
"is_created_offline": false,
"is_sent_dps": false,
"sent_dps_at": null,
"tax_url": null,
"related_receipt_id": null,
"technical_return": false,
"stock_code": null,
"currency_exchange": null,
"shift": {
"id": "cec5dd7e-837c-46c6-a0ba-03a61cd24c8e",
"serial": 43,
"status": "OPENED",
"z_report": null,
"opened_at": "2023-11-06T14:41:30.108678+00:00",
"closed_at": null,
"initial_transaction": {
"id": "1bde6e04-31e6-41d3-9a65-4b8d4650b87a",
"type": "SHIFT_OPEN",
"serial": 157,
"status": "DONE",
"request_signed_at": "2023-11-06T14:41:30.171706+00:00",
"request_received_at": "2023-11-06T14:41:30.214959+00:00",
"response_status": "OK",
"response_error_message": null,
"response_id": "TEST-DQYjfj",
"offline_id": null,
"created_at": "2023-11-06T14:41:30.108678+00:00",
"updated_at": "2023-11-06T14:41:30.240628+00:00",
"original_datetime": "2023-11-06T14:41:30.108678+00:00",
"previous_hash": "01bec2834cba96d53bd8f930a3d6acc8a29789a70dce728ea28aa991b7197bc8"
},
"closing_transaction": null,
"created_at": "2023-11-06T14:41:30.108678+00:00",
"updated_at": "2023-11-06T14:41:30.244566+00:00",
"balance": {
"initial": 0,
"balance": 6420,
"cash_sales": 16420,
"card_sales": 56300,
"discounts_sum": 5583,
"extra_charge_sum": 0,
"cash_returns": 0,
"card_returns": 0,
"service_in": 10000,
"service_out": 20000,
"updated_at": "2023-11-06T15:31:38.531434+00:00"
},
"taxes": [
{
"id": "b3820b97-9c13-4b6f-aa5b-98cdb34feb99",
"code": 1,
"label": "ПДВ + Акцизний збір",
"symbol": "А",
"rate": 20,
"extra_rate": 5,
"included": true,
"created_at": "2023-09-27T07:57:17.436553+00:00",
"updated_at": null,
"no_vat": false,
"advanced_code": null,
"sales": 11617,
"returns": 0,
"sales_turnover": 56300,
"returns_turnover": 0
},
{
"id": "ccf0e3cb-0286-423f-a278-df9f3c643287",
"code": 2,
"label": "Акцизний збір",
"symbol": "Б",
"rate": 0,
"extra_rate": 5,
"included": true,
"created_at": "2023-11-03T10:19:06.625503+00:00",
"updated_at": null,
"no_vat": false,
"advanced_code": null,
"sales": 0,
"returns": 0,
"sales_turnover": 0,
"returns_turnover": 0
},
{
"id": "22abcf11-e9b2-4f40-8c46-1a3b5cbe6f89",
"code": 5,
"label": "ПДВ 20%",
"symbol": "Є",
"rate": 20,
"extra_rate": null,
"included": true,
"created_at": "2023-09-27T07:57:32.979471+00:00",
"updated_at": null,
"no_vat": false,
"advanced_code": null,
"sales": 0,
"returns": 0,
"sales_turnover": 0,
"returns_turnover": 0
},
{
"id": "4828cb2f-db1f-4174-acce-77e05612db3e",
"code": 8,
"label": "Без ПДВ",
"symbol": "З",
"rate": 0,
"extra_rate": null,
"included": true,
"created_at": "2023-09-27T07:57:34.983722+00:00",
"updated_at": null,
"no_vat": true,
"advanced_code": null,
"sales": 0,
"returns": 0,
"sales_turnover": 16417,
"returns_turnover": 0
}
],
"emergency_close": null,
"emergency_close_details": null,
"cash_register": {
"id": "c13876dd-e51e-433f-a61c-f2c4263fbaad",
"fiscal_number": "TEST551151",
"active": true,
"created_at": "2022-07-26T19:54:09+00:00",
"updated_at": "2023-11-04T22:55:04+00:00",
"number": "1"
},
"cashier": {
"id": "04da40aa-e28e-42b7-8d51-6cb6ee800245",
"full_name": "Тестовий касир",
"nin": "000000000",
"key_id": "test_jrdulZ77cjgjuwNd",
"signature_type": "TEST",
"permissions": {
"orders": true,
"add_discounts": true,
"editing_goods_sum": true,
"deferred_receipt": true,
"editing_good_price": true,
"can_add_manual_good": true,
"service_in": true,
"service_out": true,
"returns": true,
"sales": true,
"card_payment": true,
"cash_payment": true,
"other_payment": true,
"mixed_payment": true,
"branch_params": false,
"reports_history": true,
"additional_service_receipt": false,
"free_return": false
},
"created_at": "2022-06-01T14:23:04+00:00",
"updated_at": "2022-07-19T14:13:58+00:00",
"certificate_end": null,
"blocked": null
}
},
"control_number": null
}
"id" - унікальний ідентифікатор чека у форматі UUID
"type" - тип чека (CASH_WITHDRAWAL
)
"transaction" - інформація про транзакцію чека (має значення null, оскільки не стосується службових чеків або не відправляється в Податкову Службу)
"serial" - порядковий номер чека
"status" - статус чека
"goods" - блок даних з переліком товарів (для службового чека перелік буде пустим)
"payments" - блок даних з інформацією про платежі:
CASH
)null
)-
"total_sum" та "sum" - сума вартості товарів у чеку
"total_rest" та "rest" - сума здачі
"total_payment" - сума оплати за товари у чеку
"round_sum" - сума округлення
"fiscal_code" - фіскальний номер чека (має значення null, оскільки не стосується службових чеків або не відправляється в Податкову Службу)
"fiscal_date" - фіскальна дата, з якою чек буде зареєстровано у ДПС (має значення null, оскільки не стосується службових чеків або не відправляється в Податкову Службу)
"delivered_at" - мітка часу у форматі ISO 8601 за шаблоном YYYY-MM-DDThh:mm:ss.ssssss±hh:mm, яка відмічає дату/час доставки чека у ДПС (має значення null, оскільки не стосується службових чеків або не відправляється в Податкову Службу)
"created_at" - мітка часу у форматі ISO 8601 за шаблоном YYYY-MM-DDThh:mm:ss.ssssss±hh:mm, яка відмічає дату/час створення чека
"updated_at" - мітка часу у форматі ISO 8601 за шаблоном YYYY-MM-DDThh:mm:ss.ssssss±hh:mm, яка відмічає дату/час останнього оновлення даних чека (якщо чек щойно створено або інформація по ньому не оновлювалась, то дане значення буде null)
"taxes" - блок даних про податки (для чека внесення/вилучення готівки за замовчуванням null, оскільки операція нефіскальна і до неї не застосовуються податки)
"discounts" - блок даних про знижки (для чека внесення/вилучення готівки за замовчуванням null, оскільки операція нефіскальна і до неї не застосовуються знижки)
"order_id" - ідентифікатор замовлення у форматі UUID (для чека внесення/вилучення готівки за замовчуванням null, оскільки операція не являє собою замовлення)
"header" - хедер чека (для службового чека внесення/вилучення готівки за замовчуванням null)
"footer" - футер чека (для службового чека внесення/вилучення готівки за замовчуванням null)
"barcode" - штрих-код (для службового чека внесення/вилучення готівки за замовчуванням null)
"custom" - блок з даними кастомізації чека (lокладніше про параметри, які можуть відображатись в даному блоці можете дізнатись в розділі Візуалізація чека)
"is_created_offline" - ознака режиму (онлайн/офлайн) у якому був створений чек. true - чек створений у офлайні, false - чек створений у онлайні.
"is_sent_dps" - ознака відправки чека у ДПС (для чека внесення/вилучення готівки за замовчуванням false, оскільки службові чеки нефіскальні та у ДПС не відправляються)
"sent_dps_at" - мітка часу у форматі ISO 8601 за шаблоном YYYY-MM-DDThh:mm:ss.ssssss±hh:mm, яка відмічає дату/час відправки чека у ДПС (для чека внесення/вилучення готівки за замовчуванням null, оскільки службові чеки нефіскальні та у ДПС не відправляються)
"tax_url" - посилання на чек у кабінеті ДПС (для чека внесення/вилучення готівки за замовчуванням null, оскільки службові чеки нефіскальні та у ДПС не відправляються)
"related_receipt_id" - id пов'язаного чека у форматі UUID. Цим параметром можна пов'язати між собою чек продажу та повернення, щоб завжди мати змогу дізнатися, на основі якого конкретно чека продажу ви робили повернення (для службового чека даний параметр не актуальний та за замовчуванням null)
"technical_return" - параметр, який відповідає за мітку технічного повернення на чеку. Технічне повернення - це повернення чеку продажу у випадку, коли чек продажу сформований невірно і для коригування балансу виникає змога провести повернення (для службового чека даний параметр не актуальний та за замовчуванням null)
"stock_code" - блок даних, який стосується операцій валютного обміну (не актуально для службового чека)
"currency_exchange" - блок даних, який стосується операцій валютного обміну (не актуально для службового чека)
"control_number" - контрольне число. Заповнюється сервером для фіскальних чеків (службовий матиме за замовчуванням даний параметр null)
Блоки даних з інформацією про:
Після створення запиту створення чека - необхідно відслідковувати статус, доки він не змінится на DONE. Статус чека можна відслідковувати за допомогою GET запиту /api/v1/receipts/{receipt_id}, де {receipt_id} - ідентифікатор чека, який ви вказували при його створенні.
Запит на отримання інформації про чек необхідно виконувати не раніше, ніж за 50 мс після отримання сервером Checkbox запиту на його створення та обробку.
accept: application/json
X-Client-Name: <назва інтеграції (обов`язково)>
X-Client-Version: <версія інтеграції (обов`язково)>
Authorization: <токен авторизації>
Тіло запиту у даному випадку має бути порожнім.
curl -X 'GET' \ 'https://api.checkbox.ua/api/v1/receipts/36ba6627-379d-4fe9-bcce-7e06ad11111' \ -H 'accept: application/json' \ -H 'X-Client-Name: Test-Client-Name' \ -H 'X-Client-Version: Test-Client-Version' \ -H 'Authorization: Bearer token'
{
"id": "36ba6627-379d-4fe9-bcce-7e06ad511111",
"type": "SELL",
"transaction": {
"id": "058542fc-7437-40a4-9d8a-e44480411111",
"type": "RECEIPT",
"serial": 185,
"status": "DONE",
"request_signed_at": "2023-11-29T12:07:27.074811+00:00",
"request_received_at": "2023-11-29T12:07:27.113181+00:00",
"response_status": "OK",
"response_error_message": null,
"response_id": "TEST-eL11111",
"offline_id": null,
"created_at": "2023-11-29T12:07:27.008327+00:00",
"updated_at": "2023-11-29T12:07:27.136771+00:00",
"original_datetime": "2023-11-29T12:07:27.008327+00:00",
"previous_hash": "cf0e47fef12156bd8b21a77610951cb2928c83dabea47e6b3b5d1cb31a211111"
},
"serial": 92,
"status": "DONE",
"goods": [
{
"good": {
"code": "500",
"barcode": "2000000000009",
"name": "Вино ігристе біле Вінтаж де Локсарел БН Резерва, Loxarel брют 0,125",
"excise_barcodes": [
"AENX936821"
],
"header": null,
"footer": null,
"uktzed": "2204109300",
"price": 19500
},
"good_id": "94433d09-c47e-48a1-8010-57009911111",
"sum": 19500,
"quantity": 1000,
"is_return": false,
"taxes": [
{
"id": "f6dddf31-fefd-437b-9c9f-75083d311111",
"code": 1,
"label": "ПДВ + Акцизний збір",
"symbol": "А",
"rate": 20,
"extra_rate": 5,
"included": true,
"created_at": "2023-09-27T07:57:17.436553+00:00",
"updated_at": null,
"no_vat": false,
"advanced_code": null,
"value": 3095,
"extra_value": 929
}
],
"discounts": []
},
{
"good": {
"code": "501",
"barcode": "5000281025360",
"name": "Ромовий напій Captain Morgan Spiced Gold, 35%, 0,5 л (437392)",
"excise_barcodes": [
"ACVI735229",
"ACVE735293"
],
"header": null,
"footer": null,
"uktzed": "2208906900",
"price": 20900
},
"good_id": "ce7a84e9-ff67-4c25-8d12-8751341111",
"sum": 41800,
"quantity": 2000,
"is_return": false,
"taxes": [
{
"id": "e74a8795-2b05-4024-aaf9-bf385b811111",
"code": 1,
"label": "ПДВ + Акцизний збір",
"symbol": "А",
"rate": 20,
"extra_rate": 5,
"included": true,
"created_at": "2023-09-27T07:57:17.436553+00:00",
"updated_at": null,
"no_vat": false,
"advanced_code": null,
"value": 6635,
"extra_value": 1990
}
],
"discounts": []
}
],
"payments": [
{
"type": "CASHLESS",
"pawnshop_is_return": null,
"provider_type": null,
"code": null,
"value": 56300,
"commission": null,
"label": "Картка",
"card_mask": "XXXXXXXXXXXX6734",
"bank_name": "PrivetBank",
"auth_code": "078111",
"rrn": "305817547111",
"payment_system": "VISA",
"owner_name": "CHEREZPLETINNOHUZADYRAISHCHENKO PETRO",
"terminal": "S1LF0EUR",
"acquiring": "PrivetBank",
"acquirer_and_seller": "PrivetBank",
"receipt_no": "1",
"signature_required": false,
"tapxphone_terminal": null
}
],
"total_sum": 56300,
"total_payment": 56300,
"total_rest": 0,
"round_sum": 0,
"fiscal_code": "TEST-e11111",
"fiscal_date": "2023-11-29T12:07:27.008327+00:00",
"delivered_at": "2023-11-29T12:07:27.851404+00:00",
"created_at": "2023-11-29T12:07:27.008327+00:00",
"updated_at": "2023-11-29T12:07:27.851404+00:00",
"taxes": [
{
"id": "42fd6c01-0d82-468a-ab78-9269e1011111",
"code": 1,
"label": "ПДВ + Акцизний збір",
"symbol": "А",
"rate": 20,
"extra_rate": 5,
"included": true,
"created_at": "2023-09-27T07:57:17.436553+00:00",
"updated_at": null,
"no_vat": false,
"advanced_code": null,
"value": 8936,
"extra_value": 2680
}
],
"discounts": [
{
"type": "DISCOUNT",
"mode": "VALUE",
"value": 5000,
"tax_code": null,
"tax_codes": [
1
],
"name": "Знижка",
"privilege": null,
"sum": -5000
}
],
"order_id": null,
"header": "Якийсь хедер",
"footer": "Якийсь футер",
"barcode": null,
"custom": null,
"context": null,
"is_created_offline": false,
"is_sent_dps": false,
"sent_dps_at": null,
"tax_url": "https://cabinet.tax.gov.ua/cashregs/check?id=TEST-e11111&date=20231129&time=14%3A07%3A27&fn=TEST511111&sm=563.00&mac=cf0e47fef12156bd8b21a77610951cb2928c83dabea47e6b3b5d1cb31a211111",
"related_receipt_id": null,
"technical_return": false,
"stock_code": null,
"currency_exchange": null,
"service_currency_exchange": [],
"shift": {
"id": "16a4caf5-abf7-46b3-9729-1aab84f11111",
"serial": 47,
"status": "OPENED",
"z_report": null,
"opened_at": "2023-11-29T12:04:20.574746+00:00",
"closed_at": null,
"initial_transaction": {
"id": "08c48ca9-9a6d-4c70-b114-febf46f11111",
"type": "SHIFT_OPEN",
"serial": 182,
"status": "DONE",
"request_signed_at": "2023-11-29T12:04:20.651192+00:00",
"request_received_at": "2023-11-29T12:07:11.634244+00:00",
"response_status": "OK",
"response_error_message": null,
"response_id": "TEST-Z11111",
"offline_id": "TEST-Z11111",
"created_at": "2023-11-29T12:04:20.574746+00:00",
"updated_at": "2023-11-29T12:07:11.665850+00:00",
"original_datetime": "2023-11-29T12:04:20.574746+00:00",
"previous_hash": "f282bba44d4396cb7fc611ac3ac87d2b861e554dc97c755ac7b9ef278311111"
},
"closing_transaction": null,
"created_at": "2023-11-29T12:04:20.574746+00:00",
"updated_at": "2023-11-29T12:04:20.685550+00:00",
"balance": {
"initial": 6420,
"balance": 10920,
"cash_sales": 4500,
"card_sales": 168900,
"discounts_sum": 15000,
"extra_charge_sum": 0,
"cash_returns": 0,
"card_returns": 0,
"service_in": 0,
"service_out": 0,
"updated_at": "2023-11-29T12:27:01.601054+00:00"
},
"taxes": [
{
"id": "42fd6c01-0d82-468a-ab78-9269e1011111",
"code": 1,
"label": "ПДВ + Акцизний збір",
"symbol": "А",
"rate": 20,
"extra_rate": 5,
"included": true,
"created_at": "2023-09-27T07:57:17.436553+00:00",
"updated_at": null,
"no_vat": false,
"advanced_code": null,
"sales": 34852,
"returns": 0,
"sales_turnover": 168900,
"returns_turnover": 0
},
{
"id": "ee78ddd7-979f-419b-990e-52987111111",
"code": 2,
"label": "Акцизний збір",
"symbol": "Б",
"rate": 0,
"extra_rate": 5,
"included": true,
"created_at": "2023-11-03T10:19:06.625503+00:00",
"updated_at": null,
"no_vat": false,
"advanced_code": null,
"sales": 0,
"returns": 0,
"sales_turnover": 0,
"returns_turnover": 0
},
{
"id": "2df43a8c-be79-41b8-9f78-1bb1c0c11111",
"code": 5,
"label": "ПДВ 20%",
"symbol": "Є",
"rate": 20,
"extra_rate": null,
"included": true,
"created_at": "2023-09-27T07:57:32.979471+00:00",
"updated_at": null,
"no_vat": false,
"advanced_code": null,
"sales": 0,
"returns": 0,
"sales_turnover": 0,
"returns_turnover": 0
},
{
"id": "351551ce-4be2-4581-8184-df53b701111",
"code": 8,
"label": "Без ПДВ",
"symbol": "З",
"rate": 0,
"extra_rate": null,
"included": true,
"created_at": "2023-09-27T07:57:34.983722+00:00",
"updated_at": null,
"no_vat": true,
"advanced_code": null,
"sales": 0,
"returns": 0,
"sales_turnover": 4500,
"returns_turnover": 0
}
],
"emergency_close": null,
"emergency_close_details": null,
"cash_register": {
"id": "c13876dd-e51e-433f-a61c-f2c426311111",
"fiscal_number": "TEST511111",
"active": true,
"created_at": "2022-07-26T19:54:09+00:00",
"updated_at": "2023-11-14T22:55:08+00:00",
"number": "1"
},
"cashier": {
"id": "04da40aa-e28e-42b7-8d51-6cb6ee11111",
"full_name": "Тестовий касир",
"nin": "000000000",
"key_id": "test_jrdulZ77cjg11111",
"signature_type": "TEST",
"permissions": {
"orders": true,
"add_discounts": true,
"editing_goods_sum": true,
"deferred_receipt": true,
"editing_good_price": true,
"can_add_manual_good": true,
"service_in": true,
"service_out": true,
"returns": true,
"sales": true,
"card_payment": true,
"cash_payment": true,
"other_payment": true,
"mixed_payment": true,
"branch_params": false,
"reports_history": true,
"additional_service_receipt": false,
"free_return": false
},
"created_at": "2022-06-01T14:23:04+00:00",
"updated_at": "2022-07-19T14:13:58+00:00",
"certificate_end": null,
"blocked": null
}
},
"control_number": "3677"
}
Параметри відповіді співпадають із параметрами відповіді методу /api/v1/receipts/sell.
Отримання зображення чеків доступне в текстовому, графчному та html форматі.
Для отримання графічного представлення чека, після виконання запиту на його створення необхідно виконати метод /api/v1/receipts/{reсeipt_id}/png. Для отримання html - /api/v1/receipts/{reсeipt_id}/html.
Для отримання текстового виду чека необхідно виконати запит /api/v1/receipts/{reсeipt_id}/text. Так як QR-код має графічний формат, тектосвий чек буде сформовано без QR-коду - його потрібно отримувати окремо методом /api/v1/receipts/{reсeipt_id}/qrcode.
Наявні rate-limits:
· 3 запити на секунду по UUID або ФН чеку = блокування на 10 секунд
· 1 запит на секунду - без додаткового блокування
Окремо доступна індивідуальна візуалізація графічного та html чека:
accept: text/plain або accept: */*
X-Client-Name: <назва інтеграції (обов`язково)>
X-Client-Version: <версія інтеграції (обов`язково)>
Тіло запиту у даному випадку має бути порожнім.
або txt
curl -X 'GET' \ 'https://api.checkbox.ua/api/v1/receipts/e51c07c6-8e8a-44bf-b594-750f7e911111/html?simple=false' \ -H 'accept: text/html' \ -H 'X-Client-Name: Test-Client-Name' \ -H 'X-Client-Version: Test-Client-Version'
або png
curl -X 'GET' \ 'https://api.checkbox.ua/api/v1/receipts/e51c07c6-8e8a-44bf-b594-750f7e911111/png?width=30&paper_width=58&qrcode_scale=75' \ -H 'accept: */*' \ -H 'X-Client-Name: Test-Client-Name' \ -H 'X-Client-Version: Test-Client-Version'
або HTML-структура для створення стилізованого вигляду чеку. Візуалізація здійснюється за допомогою каскадних таблиць стилів (CSS).
або png зображення чеку з вказаними параметрами ширини (30 пікселів), ширини паперу (58 мм) та масштабу QR-коду (75%).