Руководство по миграции с версии API v1 на v2
- Версия v2 поддерживает все запросы, которые есть в версии v1
- Новые запросы добавляются в v2 и не могут быть добавлены в v1
- Изменения не затрагивающие формат запроса/ответа запроса, могут быть применены к v1. Изменения, в том числе затрагивающие формат запроса/ответа, выполняются только в v2.
- Версия v1 перестанет быть доступной 31.01.2024
Endpoints
Изменились адреса к запросам. В адресе добавилось v2.
| v1 | v2 |
https://{host}/{resource}/{action} |
https://{host}/v2/{resource}/{action} |
Типизация
Для булевых значений в json вместо 0|1 использовать false/true (без кавычек).
| v1 | v2 |
| { "active": 1 } | { "active": true } |
Стилизация json
В версии v1 стилизация не соблюдалась. В версии v2 - lowerCamelCase. Тем не менее, в версия v2, запросы парсятся без учета регистра (хоть совсем извращенные варианты MeTADatA), а ответы исключительно в lowerCamelCase.
| v1 | v2 |
| { "Metadata": { "PageCount": 9, "PageSize": 25, "PageIndex": 0, "RowCount": 207 }, "Code": 0, "Message": "OK" } |
{ "metadata": { "pageCount": 1, "pageSize": 207, "pageIndex": 0, "rowCount": 207 }, "code": 0, "message": "OK" } |
Формат запроса
Убрана излишняя вложенность в секцию Body.
| v1 | v2 |
| { "Body":{ "PageSize": 10, "CurrentPage": 20, "Sort": "idTerminal, date asc, amount desc", "Params":{ "param1":"value1", "param2":"value2" } } } |
{ "pageSize": 0, "currentPage": 0, "sort": "string", "params": { "param1": "value1", "param2": "value2" } } |
Формат ответа
- Секция
ResultDataпереименована вresult. - Секция
QueryDataпереименована вdata. - Из секции
QueryDataубрана излишняя вложенностьRows. Табличные данные содержаться в массивеdata.
| v1 | v2 |
| { "Code": 0, "Message": "OK", "QueryData": [ { "Rows": [] } ], "Metadata": { "PageCount": 0, "PageSize": 0, "PageIndex": 0, "RowCount": 0 }, "ResultData": { "field1":"value1", "field2":"value2" } } |
{ "code": 0, "message": "string", "data": [ ], "metadata": { "pageCount": 0, "pageSize": 0, "pageIndex": 0, "rowCount": 0 }, "result": { "field1": "value1", "field2": "value2" } } |
Исправление имени тегов в конкретных запросах
Ниже перечислены запросы с указанием тегов, которые были переименованы для получения стилизованного json.
| Запрос | Теги |
|
в ответе:
|
|
|
в случае неуспеной авторизации, в ответе:
|