Перейти до основного вмісту

Webhook

інформація

Webhook — це посилання, що вказує клієнт для кожної каси. Коли по касі відбувається транзакція, то на вказану URL-адресу відправляється Json файл з інформацією про транзакцію та посилання на чек

Загальна інформація

  1. Реєстрація

Клієнт самостійно налаштовує свій сервер для прийому інформації про транзакції згідно опису параметрів JSON (див. Отримати JSON представлення чека), та вказує посилання на Webhook для кожної каси (див. Налаштування обраної каси).

image1

  1. Подія

Відбувається транзакція по касі.

  1. Відправка інформації

CashDesk автоматично відправляє запит у форматі JSON на Webhook (URL-адресу). Якщо інформацію про чек не було прийнято, то CashDesk буде повторно відправляти запит протягом 24 годин.

  1. Обробка

Сервер клієнт отримує запит і обробляє дані, що надійшли.

інформація

Техпідтримка може допомогти клієнту в налаштуванні Webhook.

Актуальний приклад і параметри JSON описано в Отримати JSON представлення чека

Параметри JSON

Ім'яТипОпис
num_fiscalintegerТак
check_typestringТип чека
hashstringХеш-сума чека
ORDERNUMstringНомер чека
ORDERDATEstringДата формування чека
ORDERTIMEstringЧас формування чека
is_offlinebooleanОзнака офлайн чека
check_dataobjectДані чека
check_data.total_sumfloatЗагальна сума чека
check_data.paymentslist[object]Містить параметри методів оплати
check_data.payments.codeintegerКод платежу (0 - готівка, інші значення - безготівка)
check_data.payments.namestringНазва методу оплати
check_data.payments.sumfloatСума оплати
check_data.payments.sum_providedfloatФактично надана сума
check_data.payments.sum_remainsfloatСума решти після оплати
check_data.payments.pay_terminallist[object]Параметри термінала при оплаті карткою
check_data.taxlist[object]Дані податку
check_data.tax.namestringНазва податку
check_data.tax.letterstringЛітера податку
check_data.tax.prcintegerВідсоткова ставка податку
check_data.tax.turnoverfloatОборот по податку
check_data.tax.sumfloatСума податку
check_data.tax.excise_prcstringВідсоток акцизного податку
check_data.tax.excise_sumintegerСума акцизного податку
check_data.tax.excise_letterintegerЛітера акцизного податку
check_data.tax.excise_turnoverintegerОборот акцизного податку
check_data.productslist[object]Містить параметри товарів в чека
check_data.products.codestringКод товару
check_data.products.uktzedstringКод УКТ ЗЕД (якщо застосовується)
check_data.products.unit_codestringКод одиниці виміру кількості товару
check_data.products.unit_namestringНазва одиниці виміру кількості товару
check_data.products.amountfloatКількість товару
Не більше трьох знаків після коми
check_data.products.namestringНазва товару
check_data.products.pricefloatЦіна за одиницю товару
check_data.products.lettersstringЛітера податку
check_data.products.costfloatПідсумок по даній позиції
Не більше двох знаків після коми
check_data.products.sum_discountintegerСума знижки
check_data.products.bar_codestringШтрих-код товару
products.excise_barcodestringАкцизний штрих-код
products.excise_letterstringАкцизна літера
check_data.offline_idstring
check_data.datestringДата формування чека
check_data.local_numberintegerЛокальний номер операції, який клієнт передає з кожним чеком
check_data.footerstringТекст в нижній частині чека
check_data.round_sumfloatСума округлення
check_data.global_discountintegerЗагальна сума знижки для чека
qrstringQR код чека
qr_datastringДані для генерації QR кода
linkstringПосилання на електронний чек
pdfstringPDF представлення чека
text_printstringТекстове представлення чека
uuidstringІдентифікатор чека
local_numberintegerЛокальний номер операції, який клієнт передає з кожним чеком
cash_in_boxfloatПоточна кількість грошей в касі

Приклад JSON

{
"num_fiscal": "50037129",
"check_type": "Z_SALE",
"hash": "f10a3d17e947b3cfcf13a3df0a458c37f164283ef45a13f20c2a1c0c54c067bd",
"ORDERNUM": "DEV_6672cb7749378",
"ORDERDATE": "2024-06-19",
"ORDERTIME": "15:13:41",
"is_offline": false,
"check_data": {
"total_sum": 24.2,
"payments": [
{
"code": 0,
"name": "ГОТІВКА",
"sum": 24.2,
"sum_provided": 24.2,
"sum_remains": 0,
"pay_terminal": null
}
],
"tax": [
{
"name": "БЕЗ ПДВ",
"letter": null,
"prc": 0,
"turnover": 24.22,
"sum": 0,
"excise_prc": null,
"excise_sum": null,
"excise_letter": null,
"excise_turnover": null
}
],
"products": [
{
"code": null,
"uktzed": null,
"unit_code": "1,0053",
"unit_name": "кг",
"amount": 1.053,
"name": "Морква",
"price": 23,
"letters": "",
"cost": 24.22,
"sum_discount": 0,
"bar_code": null,
"excise_barcode": null,
"excise_letter": ""
}
],
"offline_id": null,
"date": null,
"local_number": 1,
"footer": null,
"round_sum": -0.02,
"global_discount": 0
},
"qr": "base64_string",
"qr_data": "https://test.cashdesk.com.ua/wc/DEV_6672cb7749378?mac=f10a3d17e947b3cfcf13a3df0a458c37f164283ef45a13f20c2a1c0c54c067bd&date=20240619&time=15%3A13%3A41&fn=50037129&id=DEV_6672cb7749378&sum=24.2",
"link": "https://test.cashdesk.com.ua/check/189ac039-409e-428f-a088-b1b69c21971b/html",
"pdf": "base64_string",
"text_print": "base64_string",
"uuid": "189ac039-409e-428f-a088-b1b69c21971b",
"local_number": 1,
"cash_in_box": 195.21
}