Взаимодействие с функциями и методами АИК ПАК строится по единому механизму клиент-серверного взаимодействия на основе протокола JSON-RPC.
Все запросы осуществляются методом POST
на системный шлюз модуля АИК ПАК:
-
https://tenders.etp-avtodor.ru/index.php?rpctype=direct&module=default
- для модуля ЭТП -
https://tenders.etp-avtodor.ru/index.php?rpctype=direct&module=nsi
- для модуля КИМ -
https://plans.etp-avtodor.ru/index.php?rpctype=direct&module=default
- для модуля планирования
Тело запроса передает в формате JSON (Content-Type: application/json) структурированную информацию имеющую общий вид:
* action
- имя контроллера
* method
- имя метода (действия)
* data
- Объект данных запроса
* type
- Тип запроса (всегда rpc
)
* tid
- Порядковый итератора запроса (число, счетчик запросов)
* token
- Авторизационный токен
Пример запроса
{
"action": "Procedure",
"method": "list",
"data": [
{
"sort": "id",
"dir": "DESC"
}
],
"type": "rpc",
"tid": 8,
"token": "OIZzPGnWM2SJguSlJvz7WQ"
}
В результате система возвращает ответ так же в формате JSON в соответствии со структурой
* action
- имя контроллера
* method
- имя метода (действия)
* type
- Тип запроса (всегда rpc
)
* tid
- Порядковый итератора запроса (число, счетчик запросов)
* result
- Объект с данными ответа
В случае успешной обработки запроса система возвращает код ответа 200 OK
В случае возникновения штатной ошибки, код ответа так же 200 OK
но значение result.success = FALSE
и поле result.message
содержит текстовое представление ошибки
В случае возникновения нештатной ситуации, система возвращает код ответа в соответствии кодом состояния HTTP
Перед началом использования методов требуется выполнить ряд необходимых подготовительных действий: вызвать метод авторизации и получить авторизационный токен, который будет использоваться в каждом последующем запросе. В случае вызова общедоступных методов, авторизация не требуется