Авторизация

Большинству команд API требуется авторизация. Для этого команды требуют в качестве обязательного параметра так называемый авторизационный токен — массив байтов, однозначно идентифицирующий пользователя. Кроме того, во все методы интеграторского интерфейса требуется передавать так называемый “ключ разработчика” — уникальный строковый идентификатор интегратора. Интегратор не должен передавать свой “ключ разработчика” третьим лицам.

Для передачи авторизационной информации с каждым запросом используется стандатрный HTTP-заголовок Authorization. Схема аутентификации, используемая системой EDI.Контур, называется KonturEdiAuth. Для нее определены следующие параметры:

  • konturediauth_api_client_id служит для передачи ключа разработчика;
  • konturediauth_token служит для передачи авторизационного токена;
  • konturediauth_login служит для передачи логина (используется только в момент получения авторизационного токена);
  • konturediauth_password служит для передачи пароля (используется только в момент получения авторизационного токена).

Значения параметров отделяются от их имен символами ‘=’. Параметры разделяются символами ‘,’. Например:

Authorization: KonturEdiAuth konturediauth_api_client_id=testClient-8ee1638deae84c86b8e2069955c2825a,   konturediauth_token=3IU0iPhuhHPZ6lrlumGz4pICEedhQ1XmlMN1Pk8z0DJ51MXkcTi6Q3CODCC4xTMsjPFfhK6XM4kCJ4JJ42hlD499/Ui5WSq6lrPwcdp4IIKswVUwyE0ZiwhlpeOwRjNrvUX1yPrxr0dY8a0w8ePsc1DG8HAlZce8a0hZiWylMqu23d/vfzRFuA==

Таким образом, общая последовательность действий, которые требуется совершить при обращении к функциям интеграторского интерфейса, следующая:

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

Important

Нет необходимости авторизоваться перед каждым запросом. Авторизационный токен действителен до 12 часов, поэтому кэшируйте его. При устаревании токена в ответ на запрос сервер возвращает HTTP-код 401 (Unauthorized). В этом случае повторите запрос Authenticate и используйте новый токен.