====== REST API приложения Оплата счетов онлайн ====== ===== Проверка соединения ===== Используется для проверки соединения, получения наименования учетной системы и версии протокола. ^Метод^Путь^Параметры^Ответ| |GET|/hello|Нет|JSON| Возвращает JSON объект вида { "system" : "1С:Бухгалтерия", "protocol" : "0.1.0" } ===== Запрос списка счетов ===== Используется для поиска счетов к оплате в приложении. ^ Метод ^ Путь ^ Параметры ^ Ответ ^ | GET | /list | name, number, date | JSON | ^ Параметр ^ Тип ^ Описание ^ | name | Строка | Часть наименования плательщика для поиска | | number | Строка | Номер счета для поиска | | date | Строка | В текущей версии протокола допускается одно значение ''today'' для поиска неоплаченных счетов только за сегодняшний день | Возвращает массив JSON с описанием списка счетов. Если счетов не найдено, возвращает пустой массив JSON. [ { "number": "4", "date": "07.04.2021", "id": "82f7ca8c-9777-11eb-1a9f-40b076d9cfed", "customername": "МП \"ЯМАЛЬСКИЕ ОЛЕНИ\"", "summ": 6 }, { "number": "5", "date": "07.04.2021", "id": "6f7b76c4-97b4-11eb-1a9f-40b076d9cfed", "customername": "МП \"ЯМАЛЬСКИЕ ОЛЕНИ\"", "summ": 1 }, { "number": "3", "date": "20.08.2020", "id": "6b1d384a-e2c1-11ea-8c9b-40b076d9cfed", "customername": "МП \"ЯМАЛЬСКИЕ ОЛЕНИ\"", "summ": 840 } ] Если учетная система допускает частичную оплату счетов, JSON объекты в массиве должны быть заполнены с учетом возможной частичной оплаты. ===== Запрос счета ===== Используется для получения информации, необходимой для формирования чека оплаты по счету. ^ Метод ^ Путь ^ Параметры ^ Ответ ^ | GET | /bill/byid/ | Нет | JSON | Возвращает объект JSON с данными счета по указанному '''', или пустой объект JSON, если счета с таким '''' не найдено. { "number": "5", "date": "07.04.2021", "id": "6f7b76c4-97b4-11eb-1a9f-40b076d9cfed", "customer": { "name": "ЯМАЛЬСКИЕ ОЛЕНИ МП", "fullname": "МП \"ЯМАЛЬСКИЕ ОЛЕНИ\"", "id": "6b1bc03a-e2c3-11ea-8c9b-40b076d9cfed", "inn": "8909001750", "kpp": "890901001", "okpo": "", "reg": "1028900507459", "legalentity": true, "email": "olen@bk.ru", "phone": "79568452648" }, "products": [ { "prodname": "Оленина", "id": "0b26f80e-df9c-11ea-2895-40b076d9cfed", "unitname": "кг", "taxrate": "Без НДС", "price": 1, "quantity": 1, "itemType": 1 } ], "summ": 0, "prepayment": 1, "prepaymentEnable": false, "creditEnable": false } Если допускается частичная оплата счета, система учета должна сформировать объект JSON с учетом возможной частичной оплаты и передать в приложение только неоплаченную часть. ===== Получение информации об оплате ===== Используется для передачи информации по оплаченным счетам от приложения к учетной системе. ^ Метод ^ Путь ^ Тело JSON ^ Ответ ^ | POST | /pay/{billId} | acquiring, summ, paymentId | JSON | ^ Параметр ^ Тип ^ Описание ^ | billId | Строка | Идентификатор счета в системе учета, полученный приложением через запрос списка счетов | | acquiring | Логический | True если счет был оплачен картой, иначе False | | summ | Число | Сумма оплаты, может отличаться от суммы счета в случае, если кассир при оплате применил скидку/наценку | | paymentId | Строка | UUID оплаты в облаке Эвотор | | receipt | Строка | Номер чека оплаты в облаке Эвотор | Смарт-терминал Эвотор на текущий момент не поддерживает смешанную оплату чека, оплата полностью или наличными или эквайринг. В ответ учетная система должна передать приложению JSON объект. { "paynumber": "12", "paydate": "30.08.2017", "message": "Счет оплачен, для получения товара на складе предъявите чек" } Обратите внимание, что возможна частичная оплата счета, используйте параметр message JSON объекта для информирования покупателя. ===== Уведомление о полном расчете ===== Используется для оповещения учетной системы о полном расчете [для формирования документа "Реализация"]. ^ Метод ^ Путь ^ Тело JSON ^ Ответ ^ | POST | /full_settlement/{billId} | receipt, paymentId | Нет | ^ Параметр ^ Тип ^ Описание ^ | billId | Строка | Идентификатор счета в системе учета, полученный приложением через запрос списка счетов | | paymentId | Строка | UUID оплаты в облаке Эвотор | | receipt | Строка | Номер чека оплаты в облаке Эвотор | В ответ учетная система должна вернуть статус 200 OK. Тело ответа не обрабатывается.