Authorization

The information is not available in your language.

Для вызова большинства методов BYTEHAND API требуется авторизация пользователя. Обратите внимание, что помимо авторизации методы API могут требовать наличия определённых прав доступа.

Методы BYTEHAND API, которые не требуют авторизации, помечены как Права доступа - Не требуются.

Вне зависимости от выбранного способа авторизации, её результатом будет ключ доступа, пример ключа: ZO0XJngUXZKjlcFNpzXBbw4UriheYwlc.

Список ключей и выданные им права доступа показываются в личном кабинете на странице Настройки.

Сохраняйте значение ключа в тайне и не передавайте его другим лицам. Если ключ был скомпрометирован, используйте кнопку Удалить ключ доступа, чтобы удалить его и предотвратить несанкционированный доступ.

Выполнение запросов

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

СпособОписание
Через заголовок HTTP запросаПри вызове метода API присвойте заголовку HTTP запроса X-Service-Key значение ключа доступа. Рекомендуется использовать.
Через куки (cookie) HTTP запросаПри вызове метода API куки access_token должен иметь значение ключа доступа и быть доступным для домена api.bytehand.com.
Через параметр HTTP запросаПри вызове метода API присвойте параметру HTTP запроса access_token значение ключа доступа. Удобно использовать для отладки в процессе разработки.

Способы авторизации

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

Авторизация через самостоятельно выпущенный ключ Авторизация через OAuth Авторизация через внешние сервисы OAuth Авторизация по аккаунту и паролю
НазначениеРекомендуется использовать для подключения BYTEHAND к вашему собственному проекту.Рекомендуется использовать при реализации интеграций сервиса BYTEHAND и других публичных сервисов.Не рекомендуется использовать. Используется самим сервисом BYTEHAND для работы личного кабинета.Не рекомендуется использовать. Используется самим сервисом BYTEHAND для работы личного кабинета.
Требуется разрешение на использованиеНет.Нет, но требуется регистрация приложения.Да.Нет.
Можно ли использовать публичноНет, безопасное использование возможно только с вашего сервера.Да.Да, если пользователи будут указывать свой собственный аккаунт.Да, если пользователи будут указывать свой собственный аккаунт и пароль.
Возможно ли выбирать права доступаДа.Да.Нет, всегда полный доступ.Нет, всегда полный доступ.

Авторизация через самостоятельно выпущенный ключ

Рекомендуется использовать для подключения BYTEHAND к вашему собственному проекту.

Для того чтобы самостоятельно выпустить ключ доступа, в личном кабинете, на странице Настройки нажмите кнопку Добавить ключ доступа.

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

Авторизация через OAuth

Рекомендуется использовать при реализации интеграций сервиса BYTEHAND и других публичных сервисов.

Для начала использования Авторизации через OAuth необходимо зарегистрировать ваше приложение, обратитесь для этого в службу поддержки. Вам будет предоставлен Идентификатор приложения client_id и Защищенный ключ вашего приложения client_secret.

Как использовать?

  1. Для открытия диалога авторизации необходимо перенаправить браузер пользователя по адресу https://www.bytehand.com/api/v2/oauth/authorize, передав все требующиеся в описании метода параметры.
  2. Пользователю будет предложено авторизовать приложение, разрешив доступ к аккаунту с запрошенными при помощи параметра scope правами доступа. Если пользователь уже разрешил доступ вашему приложению, этот шаг может быть пропущен.
  3. После успешной авторизации приложения браузер пользователя будет перенаправлен по адресу redirect_uri, указанному при открытии диалога авторизации. При этом код для получения ключа доступа code и строка state будут переданы в GET параметрах на указанный адрес:
    GET redirect_uri?code=code&state=state

    Параметр code может быть использован в течение 1 часа для получения ключа доступа к API.

    В случае возникновения ошибки браузер пользователя будет перенаправлен с кодом и описанием ошибки:
    GET redirect_uri?error=error&error_description=error_description&state=state
  4. После получения значения code вам необходимо его обменять на ключ доступа. Для этого требуется вызвать метод https://api.bytehand.com/v2/oauth/token.
  5. Обладая ключом доступа, вы можете вызывать методы BYTEHAND API от имени того пользователя, который предоставил вам доступ.

Список методов

MethodDescription
authorizeWithInnerOAuthGET /oauth/authorize
Opens an OAuth authorization dialog.

Does not require authorization and any specific access rights.

exchangeInnnerOAuthCodePOST /oauth/token
Exchanges an OAuth authorization access code for an access token.

Does not require authorization and any specific access rights.

revokeInnnerOAuthTokenDELETE /oauth/token
Revokes the current access token obtained via OAuth authorization.

Requires authorization and any access rights.

Авторизация через внешние сервисы OAuth

Не рекомендуется использовать. Используется самим сервисом BYTEHAND для работы личного кабинета.

Адрес, на который будет перенаправлен пользователь после авторизации, должен соответствовать значениям в списке доверенных адресов BYTEHAND. Добавить ваш адрес в список доверенных адресов можно через службу поддержки.

Список методов

MethodDescription
getExternalOAuthProvidersGET /oauth/providers
Returns a list of providers for authorization through external OAuth services.

Does not require authorization and any specific access rights.

loginWithExternalOAuthPUT /oauth/providers/providerId
Authorizes a BYTEHAND user through an external OAuth service.

Does not require authorization and any specific access rights.

registerWithExternalOAuthPOST /oauth/providers/providerId
Registers a new BYTEHAND user via an external OAuth service.

Does not require authorization and any specific access rights.

bindWithExternalOAuthPATCH /oauth/providers/providerId
Binds a BYTEHAND user and an account in an external OAuth service.

Requires authorization and access right credentials_manage.

getCurrentUserAccountsGET /users/current/oauth
Returns a list of all associated accounts in external OAuth services.

Requires authorization and access right credentials_view.

deleteCurrentUserAccountDELETE /users/current/oauth/userAccountId
Unlinks an account in an external OAuth service from a BYTEHAND user.

Requires authorization and access right credentials_manage.

Авторизация по аккаунту и паролю

Не рекомендуется использовать. Используется самим сервисом BYTEHAND для работы личного кабинета.

Список методов

MethodDescription
loginUserPUT /users
Authorizes a user with a login and password.

Does not require authorization and any specific access rights.

registerUserPOST /users
Creates a new BYTEHAND account.

Does not require authorization and any specific access rights.