При роботі з ПРРО доступна можливість надсилання сповіщення про чек клієнту за його даними, фактично відправка чеку покупцеві.
В даному розділі описано способи як можна здійснювати відправку при роботі через Device Manager (далі ДМ).
Детальніша інформація по умовам розміщена за посиланням:
Одна із доступних можливостей це автоматична відправка чеку одразу після його фіскалізації.
Для цього потрібно в корінь запиту на фіскалізацію чеку додати в об'єкт "userinfo"
інформацію по клієнту в значення наступних ключів:
"email"
- пошта користувача для відправки листа з чеком."phone"
- номер телефону в форматі +380*********
. Якщо вказано номер телефону відправка відбувається на viber, проте якщо у клієнта немає viber - посилання на чек надійде через смс.Можна передати як окремо тільки "email"
або "phone"
, або обидва одразу, в такому разі відправка буде і на пошту і на viber (або смс).
Приклад повного запиту на фіскалізацію чеку з даними по клієнту:
{
"source": "API",
"device": "postgres1",
"tag": "",
"userinfo": {
"email": "[email protected]",
"phone": "+380954745877"
},
"type": 1,
"fiscal": {
"task": 1,
"receipt": {
"sum": 500,
"disc": 0,
"disc_type": 0,
"comment_down": "",
"rows": [
{
"code": "01",
"name": "Товар1",
"cnt": 3,
"price": 100,
"disc": 0,
"disc_type": 0,
"cost": 0,
"taxgrp": 1
},
{
"code": "02",
"name": "Товар2",
"cnt": 1,
"price": 200,
"disc": 0,
"disc_type": 0,
"cost": 200,
"taxgrp": 2
}
],
"pays": [
{
"type": 2,
"sum": 500,
"change": 0,
"paysys": "VISA",
"rrn": "123",
"cardmask": "1223******1111",
"term_id": "123456888",
"bank_id": "BANK123",
"auth_code": "AA12345678"
}
]
}
}
}
Додаткова інформація по відправці даним способом:
\t
. Якщо передано такі символи - фіскалізація чеку не буде виконана і буде повернуто помилку:"errortxt": "Поле email містить заборонені символи: \"\\[email protected]\" "
{
"ver": 6,
"resp_ver": 4,
"source": "",
"device": "postgres1",
"tag": "73D1A38E-B2BC-4406-BD23-9BF45CF4556F",
"task_status": 3,
"type": 1,
"task": 1,
"dt": "20250429000853657",
"res": 1123,
"res_action": 2,
"errortxt": "Недостатньо коштів на балансі. Поповніть рахунок та повторіть спробу проведення чеку: https://kasa.vchasno.ua/app/company/settings/balance-info. (Status: 0; На балансі недостатньо оплачених viber-sms відправлень. Поповніть баланс viber-sms, або можете провести чек без сповіщення.; )",
"aq_errortxt": "",
"warnings": []
}
В ДМ доступна можливіть надіслати чек окремо, якщо перший спосіб не підходить.
Для цього використовується окремий запит по виконанню якого здійснюється відправка.
Метод аналогічний такому ж для відправки чеків через кабінет Вчасно.Каса напряму і насамперед розроблений для зручності в інтеграції щоб не потрібно було відправляти чеки окремо через кабінет Вчасно.Каса.
В параметр до запиту dev_name
потрібно обов'язково передати назву ПРРО із створених в ДМ по якому здійснюється відправка.
Дані для відправки можна передати параметрами до запиту або в body запиту в json форматі, як зручно
Дані:
"recipient"
- Електронна пошта або номер телефону для надсилання чеку. Обов'язковий параметр.
"channel"
- Канал для надсилання чеку. Обов'язковий параметр.
Можливі значення "channel"
:
email
- відправити на електронну поштуsms
- відправити через SMSviber
- відправити через Vibercascade
- спробувати відправити через Viber, якщо вайбер не встановлений на телефоні, то відправити через SMS."check"
- Фіскальний номер чеку. Обов'язковий параметр.
Приклад передачі даний через body запиту в json форматі:
curl --location 'http://localhost:3939/vchasno-kasa/notifications/checks?dev_name=postgres1' \
--header 'Content-Type: application/json' \
--data-raw '{
"recipient": "[email protected]",
"channel": "email",
"check": "TEST_ngrGDS9vOC10cw"
}'
Приклад передачі даний через параметри до запиту:
curl --location 'http://localhost:3939/vchasno-kasa/notifications/checks?dev_name=postgres1&recipient=test%40vchasno.ua&channel=email&check=TEST_ngrGDS9vOC10cw' \
--header 'Content-Type: application/json' \
--data '{}'
Додаткова інформація по відправці даним способом:
{
"dev_name": "postgres1",
"res": 2025,
"errortxt": "Помилка відправки сповіщення: Статус: 400 Відповідь: (Status: 0; Чек не знайдено)"
}
Відправка чеку напряму через кабінет Вчасно.Каса майже аналогічна відправці через ДМ за виключенням нюансів:
Authorization
- токен для даного ПРРО який можна отримати в кабінеті Вчасно.Каса.Приклад запиту на відправку
curl --location 'https://kasa.vchasno.ua/api/v2/notifications/checks' \
--header 'Authorization: kasa_token \
--header 'Content-Type: application/json' \
--data {
"recipient": "[email protected]",
"channel": "email",
"check": "TEST_ngrGDS9vOC10cw"
}
Додаткова інформація по відправці даним способом: