====== 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. Тело ответа не обрабатывается.