Взаимодействие с функциями и методами АИК ПАК строится по единому механизму клиент-серверного взаимодействия на основе протокола 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

Перед началом использования методов требуется выполнить ряд необходимых подготовительных действий: вызвать метод авторизации и получить авторизационный токен, который будет использоваться в каждом последующем запросе. В случае вызова общедоступных методов, авторизация не требуется