Оглавление |
---|
...
Общие сведения
Сервисы используют методы GET, POST и PUT, отвечающие стандарту RFC 7231. Путь к сервису должен соответствовать шаблону «api/[version]/[controller]», например, «api/v1/metering_devices». Тело запроса содержит json-объект, соответствующий описанию сервиса, наименования свойств объектов формируются по правилам snake_case. Свойства со значениями по умолчанию исключаются из сериализации. Все операции по лицевым счетам проводятся исключительно по соответствующим платежным кодам. Все запросы должны быть авторизованы, ограничения по данным накладываются в разрезе платежного кода.
Требования к методу | |||
| GET | POST | PUT |
Имеет тело запроса | Нет | Да | Да |
Имеет тело ответа | Да | Да | Нет |
Безопасный | Да | Нет | Нет |
Идемпотентный | Да | Нет | Да |
...
Требования по аутентификации
Обращения к сервисам доступны только по HTTPS протоколу. Аутентификация сторонней системы производится самоподписным доверенным сертификатом на уровне nginx.
...
Описание объекта ошибки | |||
Свойство | Тип | Описание | |
Id | UInt32 | Идентификатор объекта | |
Code | Int32 | Идентификатор ошибки | |
Comment | String | Детализация ошибки | |
Пример | |||
[ { "id": 500, "code": 10000, "comment": "Целая часть введенного показания превышает разрядность прибора учета" } ] |
...
Перечень сервисов
Реализуются следующие сервисы:
...
Наименование | Тип | Обязательность | Описание | Пример |
pSumNach | Число(15,2) | Да | Начислено всего | 5000 |
pDescr | Строка(200) | Да | Расшифровка начисления | К оплате 700 рублей в том числе 500 рублей начисления за текущий месяц, 150 рублей долг за прошлый месяц, 50 рублей перерасчёт за прошлый период) Начислено 500 рублей по следующим данным: Тариф за единицу измерения 10 рублей с квадратного метра Общая площадь 50 квадратных метров |
...
SaveCountersVal(pNumLs,pNumCnt,pValue)
...