Общие сведения
В запросах и ответах формат JSON. В заголовках HTTP запроса Content-Type: application/json
.
Формат данных.
Дата. Все передаваемые и принимаемые даты имеют формат yyyyMMddhhmmss
или yyyyMMdd
.
Период. Период задается двумя датами, как правило, from
и to
. Если даты не содержат времени, то периодом считать время с начала суток даты from
и до окончания суток даты to
. Например, при запросе отчета за период с 20170101
по 20170101
, результатом будет все за сутки 01.01.2017. При запросе за период с 20170101
по 20170102
, в результат будет входить период времени за двое суток: 01.01.2017 и 02.01.2017.
Запятая или точка? В качестве разделителя, в нецелых числах, использовать только точку.
Запросы на ресурсы
Общая часть функционала апи разбита на ресурсы (resource) и действия (actions).
Общий формат url для запроса: https://{host}/{resource}/{action}
Общий формат запроса
{
"Body":{
"PageSize": 10,
"CurrentPage": 20,
"Sort": "idTerminal, date asc, amount desc",
"Params":{
"param1":"value1",
"param2":"value2"
}
}
}
Теги:
- PageSize - размер страницы QueryData. Не обязательное. По умолчанию 1000;
- CurrentPage - текущая страница данных QueryData. Не обязательное. По умолчанию 0;
- Sort - сортировка по полям (только для запросов где в ответе QueryData). Перечисляются через запятую поля для сортировки. После каждого поля можно указать asc или desc.
Общий формат ответа
Пример 1.
{
"Code":0,
"Message":"Success!",
"ResultData": {
"field1":"value1",
"field2":"value2"
}
}
Пример 2.
{
"Code": 0,
"Message": "OK",
"QueryData": [
{
"Rows": []
}
],
"Metadata": {
"PageCount": 1,
"PageSize": 47,
"PageIndex": 0,
"RowCount": 47
}
}
Секция Metadata есть только в случае, если в ответе табличные данные QueryData.
Теги:
- PageCount - кол-во страниц данных;
- PageSize - размер выданной страницы. Если это полная страница, то будет равен значению PageSize в запросе. Если это остаточные данные, то будет меньше PageSize;
- PageIndex - текущая страница. Нумерация с 0;
- RowCount - общее кол-во строк данных на всех страницах.
Совместимость
Изменений в запросах и ответах мы разделяем на обратно совместимые с клиентскими приложениями обратно несовместимые.
Обратно несовместимые. Стараемся минимизировать. Если все таки требуется внести обратно несоместимые изменения, уведомляем клиентов, обозначаем сроки, даем рекомендации. В любом случае, внезапного прекращения функциональности не допускаем.
- удаление запроса
- удаление тегов из запроса
- удаление тегов в ответах
- изменения адреса (эндпоинта) запроса
- изменение в бизнес-процессах повлекшие изменение логики работы запросов
- изменение регистра тегов в ответах (
amount
не равноAmount
)
Обратно совместимые. Отражаются в документации. Уведомления не рассылаются.
- Длиннный или короткий формат даты (
20230415000000
или20230415
) - Добавление новых запросов
- Добавление в запрос новых не обязательных тегов
- Добавление в ответ новых тегов, не влияющих на ход того-или иного бизнес-процесса (например, добавилось новое поле в отчете)
- изменение порядка следования тегов в запросах и ответах находящихся на одном уровне (сортировка тегов)
- изменение регистра тегов в запросах (
amount
равноAmount
, так как парсинг запросов регистронезависимый)
URL
Sandbox | Production |
https://api.portal.tech24.kz/ | https://api.portal.kassa24.kz/ |