Отправка запросов

Для взаимодействия с сервисом электронных чеков Checker.uz необходимо отправить POST запрос, содержащий JSON объект следующего вида:

[POST] https://api.checker.uz/v1/methods/SendCheque

{
 "token": "340a4959d6aaa36a13b6975523c10f94",
 "customer_phone": "998909998877",
 "customer_code": "",
 "operation_type": 1,
 "operation_code": "A-23",
 "date":1518779840,
 "items": [{
 "name": "AIRWICK AEROZOL.240ML SVEJAYA MYATA",
 "quantity": 1,
 "price": 24890,
 "total": 24890
 }],
 "subtotal": 24890,
 "discount": 0,
 "amount": 34890,
 "payments": [{
 "name":"Наличные",
 "value":24890
 }],
 "discount_card": {
 "code": "1",
 "name": "Скидочная",
 "scan": "2341452345235345",
 "info": ""
 },
 "note": ""
 }

Параметры JSON-объекта

  • token[String] — Обязательное поле. Ключ доступа к сервису Checker.uz
  • customer_phone[String] — Обязательное поле, если не заполнено поле customer_code. Телефон покупателя формата E.164 (международный формат, Узбекистан 998 хх ххх хх хх).
  • customer_code[String] — Обязательное поле, если не заполнено поле customer_phone. Код пользователя в системе Checker.uz.
  • operation_type[Number] — Необязательное поле. Тип операции. Возможны варианты: 1 — продажа, 2 — возврат.
  • operation_code[String] — Необязательное поле. Код продажи в Вашей системе учета.
  • date[Number] — Обязательное поле. Дата совершения операции в формате Unix Timestamp.
  • items[Array] — Необязательное поле. Массив объектов, содержащих данные о проданных товарах.
    • name[String] — Обязательное поле. Наименование товара.
    • quantity[Number] — Обязательное поле. Количество товара.
    • price[Number] — Обязательное поле. Цена товара.
    • total[Number] — Обязательное поле. Сумма товара.
  • subtotal[Number] — Необязательно поле. Общая сумма по чеку без учета скидок.
  • discount[Number] — Необязательно поле. Общая сумма скидок по чеку.
  • amount[Number] — Необязательно поле. Сумма к оплате.
  • payments[Array] — Необязательное поле. Массив объектов, содержащих данные о способах оплаты по чеку.
    • name[String] — Обязательное поле. Наименование типа оплаты.
    • value[Number] — Обязательное поле. Значение суммы оплаты.
  • discount_card[] — Необязательно поле. Объект, содержащий данные о карте покупателя.
    • code[String] — Обязательное поле. Код карты в Вашей системе. При установке значения » «(пробел), поле не выводится в чеке.
    • name[String] — Обязательное поле. Наименование вида карты в Вашей системе. При установке значения » «(пробел), поле не выводится в чеке.
    • scan[String] — Обязательное поле. Штрих-код карты в Вашей системе. При установке значения » «(пробел), поле не выводится в чеке.
    • info[String] — Обязательное поле. Дополнительная информация по карте. При установке значения » «(пробел), поле не выводится в чеке.
  • note[String] — Необязательно поле. Дополнительная информация по чеку.

Пример успешного ответа

При успешном выполнении запроса сервер вернет объект в формате JSON. Пример ответа:

{
 "result": true,
 "description": "Message sent successfully"
}

Обработка ошибок

При возникновении ошибки сервер вернет JSON объект, содержащий код и описание ошибки. Пример ответа:

{
 "result": false,
 "error": "100004",
 "description": "Recipient not found"
 }

Поле error содержит код ошибки. Возможные варианты ошибок:

100001 Непредвиденная ошибка (приводится текст)
100002 Невозможно обработать отправленный JSON-объект
100003 Неверный токен
100004 Получатель не найден
100005 Telegram API вернул результат FALSE. Опциональное поле telegram_json будет содержать ответ от Telegram API
100006 Ошибка взаимодействия с Telegram API (приводится текст)
100007 Токен был заблокирован
100008 Токен был удален