Взаимодействие с функциями и методами АИК ПАК строится по единому механизму клиент-серверного взаимодействия на основе протокола 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
Перед началом использования методов требуется выполнить ряд необходимых подготовительных действий: вызвать метод авторизации и получить авторизационный токен, который будет использоваться в каждом последующем запросе. В случае вызова общедоступных методов, авторизация не требуется