Webim API: Доступ к API

Базовая авторизация (Basic Auth)

В данной статье будут рассмотрена базовая авторизация (Basic Auth), которая используется для доступа ко многим API сервиса Webim.

С помощью данного метода авторизации в заголовке запроса передаётся пара имя пользователя:пароль. Кодирование данных осуществляется при помощи стандарта Base64, который преобразует данные пользователя в 64-символьную строку.

В Webim базовая авторизация используется в следующих механизмах:

По умолчанию доступ к API закрыт. Чтобы получить доступ к Webim API Вам необходимо обратиться в техническую поддержку сервиса Webim - support@webim.ru.

Базовый URL

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

Базовый URL — это домен Вашего аккаунта, он зависит от Вашей сетевой конфигурации: для локальной он выбирается Вами при подключении, для облачной имеет вид

https://{account_name}.webim.ru/

Где account_name — имя Вашего аккаунта Webim.

На базовый URL отправляются запросы для доступа к Webim API.

Пример готового запроса к Webim Stored Data API 2.0:

https://webim.webim.ru/api/v2/operators

Данный запрос должен вернуть список всех операторов.

Авторизация

Для авторизации используется Email и пароль пользователя Webim с ролью администратора.

Осуществляется basic авторизация следующим образом:

curl -u {admin_email}:{admin_password} {base_url}/api/{request}

Где admin_email — Email администратора, admin_password — пароль администратора, base_urlбазовый URL для вашей сетевой конфигурации, request — Ваш запрос к API.

Пример curl-запроса:

curl -u ivanov@webim.ru:password12345 https://companyname.webim.ru/api/v2/operators

Таким образом, после "curl -u" идёт e-mail пользователя, двоеточие, его пароль, а затем URL запроса.

  • Работа API осуществляется только по протоколу HTTPS.
  • Все данные возвращаются в кодировке UTF-8.
  • Формат времени ISO 8601 и UTC в качестве часового пояса (временной зоны).
  • Формат временных интервалов: секунды.

При работе через https убедитесь, что ваша библиотека поддерживает SNI.