Skip to content

Авторизация

apikey

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


Как получить API ключ:

  1. Авторизоваться в личном кабинете, перейти в настройки профиля, выбрать вкладку API.
  2. Ключ будет указан в строке API key. Его необходимо скопировать и добавить в Ваше приложение/программу.

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

  1. Все запросы к текущемуAPI Onlinesim (за исключением getFreeList) должны содержать API ключ.

  2. API ключ можно указать как параметр запроса, например:

       https://onlinesim.io/api/getTariffs.php?apikey={apikey}
    

TIP

Использование API ключа представляет собой способ для упрощенной авторизации запросов. Мы рекомендуем использовать OAuth 2.0 для более безопасной работы с данными.

Для получения более подробной информации, пожалуйста, обратитесь к официальной документации OAuth 2.0.

PropertyValue
ТипapiKey
Вquery
Названиеapikey

BearerAuth

API ключ также можно использовать для авторизации в заголовке запроса, используя схему Authorization: Bearer, например:

bash
Authorization: Bearer {apikey}
User-Agent: PostmanRuntime/7.29.2
Accept: */\*
Cache-Control: no-cache
Postman-Token: 948bc880-8d25-4298-994f-fe6e22ada339
Host: onlinesim.io
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Cookie: xxxx

TIP

Использование API ключа представляет собой способ для упрощенной авторизации запросов. Мы рекомендуем использовать OAuth 2.0 для более безопасной работы с данными.

Для получения более подробной информации, пожалуйста, обратитесь к официальной документации OAuth 2.0.

PropertyValue
Типhttp
Схемаbearer

OAuth2

OAuth 2.0

Протокол OAuth 2.0 поддерживает несколько сценариев авторизации, для работы с нашим API можно использовать сценарии Authorization Code Flow или Implicit Flow.

INFO

Для получения более подробной информации, пожалуйста, обратитесь к официальной документации OAuth 2.0.

Authorization URL: https://onlinesim.io/oauth/authorize

Token URL: https://onlinesim.io/oauth/token

Scopes:

  • sms-scope открывает доступ к управлению номерами для услуги "Прием SMS" от Onlinesim;

  • rent-scope открывает доступ к аренде виртуальных телефонных номеров Onlinesim;

  • free-scope открывает доступ к использованию бесплатных номеров Onlinesim.

Регистрация вашего приложения на нашем сервисе авторизации

  1. Перейдите на страницу OAuth
  2. Создайте новый клиент, указав:
    • Name - название приложения или любое другое название, которое Вы и Ваши пользователи будут ассоциировать с приложением;
    • Redirect URL - URL, на который будет перенаправлен клиент после авторизации и куда будет направлен код авторизации приложения;
    • Confidential - необзятально, отметье клиент как Confidential, если ваше приложение работает на сервере и может безопасно хранить Client Secret.

Создание клиента

  1. Нажмите "Create". Добавленное Вами приложение будет отображаться в списке клиентов.

Список клиентов

  1. Сохраните Client ID и Secret в безопасном месте, далее они будут использоваться Вашим приложении для авторизации.

OAuth 2.0. Authorization Сode Flow

Авторизация пользователя и получение токена

  1. Авторизуйте клиент через GET запрос к https://onlinesim.io/oauth/authorize с параметрами client_id, redirect_uri, response_type, scope, state:
Описание параметров
Название параметраТип данныхОписание
client_idSTRINGClient ID, который был получен после регистрации приложения
redirect_uriSTRINGАдрес на который будет перенаправлен клиент, после успешной авторизации, должен совпадать с Redirect URL, который Вы указали при регистрации приложения.
response_typeSTRINGУказать code
scopeSTRINGПрава доступа, разрешение на которые запрашивает Ваше приложение у пользователя. Возможные варианты: sms-scope, rent-scope, free-scope. Можно указать несколько значений
stateSTRINGСлучайная строка для защиты от CSRF (проверьте её после редиректа)
  1. После запроса к https://onlinesim.io/oauth/authorize пользователь из Вашего приложения будет перенаправлен на страницу авторизации, где ему необходимо указать логин пароль и, в случае успеха, авторизовать Ваше приложение для работы с данными пользователя в сервисе Onlinesim. Для этого ему необходимо будет нажать кнопку Authorize:

OAuth запрос

INFO

На этом этапе Вы можете проверить параметр state, для подтверждения безопасного взаимодействия с сервисом авторизации

  1. В случае успешной авторизации пользователь будет перенаправлен по адресу redirect_uri с параметром code. Теперь Вы можете получить access token, для этого необходимо сделать POST запрос к https://onlinesim.io/oauth/token:
Описание параметров
Название параметраТип данныхОписание
grant_typeSTRINGСценарий авторизации, для сценария Authorization Сode необходимо указать authorization_code
client_idSTRINGClient ID, который был получен после регистрации приложения
client_secretSTRINGСlient_secret, который был получен после регистрации приложения
redirect_uriSTRINGАдрес на который будет перенаправлен клиент, после успешной авторизации, должен совпадать с Redirect URL, который Вы указали при регистрации приложения
codeSTRINGКод авторизации, который был получен на предыдущем этапе

DANGER

Так как client_secret - это приватный ключ, его крайне не рекомендуется хранить на frontend клиента. Для большей безопасности необходимо хранить его в бэкенде Вашего приложения. Для реализации сценария с авторизационным кодом нужно передать полученный frontend'ем код в backend Вашего сервиса, а уже он должен обратится в авторизационный сервис для получения токена.

  1. В результате успешного выполнения запроса к https://onlinesim.io/oauth/token, в ответ получите JSON, содержащий поля access_token, refresh_token и expires_in. Поле expires_in определяет количество секунд до истечения срока действия токена доступа, refresh_token используется для обновления токена доступа при истечении его срока действия.

Авторизация запросов к API Onlinesim и обновление токена

Во все запросы к API нужно добавлять заголовок Authorization: Bearer access_token. Если в ответ на ваш запрос пришел ERROR_WRONG_KEY, Вам необходимо обновить токен или получить новый.

json
{
  "response": "ERROR_WRONG_KEY"
}

Для обновления токена необходимо сделать POST запрос к https://onlinesim.io/oauth/token с параметрами grant_type, client_id, client_secret и refresh_token. Для поля refresh_token необходимо использовать значение, которое было получено в шаге 4.

Описание параметров
Название параметраТип данныхОписание
grant_typeSTRINGНеобходимо указать refresh_token
client_idSTRINGclient ID, который Вы получили при регистрации приложения
client_secretSTRINGclient_secret, который был получен при регистрации приложения
refresh_tokenSTRINGrefresh_token был получен вместе с access_token. Имеет гораздо большее время жизни и используется для обновления access_token

OAuth 2.0. Implicit flow

Авторизация пользователя и получение токена

  1. Авторизуйте клиент через GET запрос к https://onlinesim.io/oauth/authorize с параметрами client_id, redirect_uri, response_type, scope, state:
Описание параметров
Название параметраТип данныхОписание
client_idSTRINGClient ID, который был получен при регистрации приложения
redirect_uriSTRINGАдрес на который будет перенаправлен клиент, после успешной авторизации, должен совпадать с Redirect URL, который Вы указали при добавлении приложения.
response_typeSTRINGИспользуйте token в качестве значения
scopeSTRINGПрава доступа, разрешение на которые запрашивает Ваше приложение у пользователя. Возможные варианты: sms-scope, rent-scope, free-scope. Можно указать несколько значений
stateSTRINGСлучайная строка для защиты от CSRF (проверьте её после редиректа)
  1. После запроса к https://onlinesim.io/oauth/authorize, пользователь из Вашего приложения будет перенаправлен на страницу авторизации, где ему необходимо указать логин пароль и, в случае успеха, авторизовать Ваше приложение для работы с данными пользователя в сервисе Onlinesim. Для этого ему необходимо будет нажать кнопку Authorize:

OAuth запрос

INFO

На этом этапе Вы можете проверить параметр state, для подтверждения безопасного взаимодействия с сервисом авторизации

  1. В случае успешной авторизации пользователь будет перенаправлен по адрес redirect_uri с параметром access_token. Это и есть необходимый токен для авторизации в API Onlinesim.

Авторизация запросов к API Onlinesim

Во все запросы к API нужно добавлять заголовок Authorization: Bearer access_token. Если в ответ на ваш запрос пришел ERROR_WRONG_KEY, Вам необходимо получить новый токен.

json
{
  "response": "ERROR_WRONG_KEY"
}
PropertyValue
Типoauth2

OAuth Flows

implicit

  • URL авторизации: https://onlinesim.io/oauth/authorize
  • URL обновления: https://onlinesim.io/oauth/token
  • Области:
    • sms-scope: grants access to manage numbers for the SMS receiving service from Onlinesim
    • rent-scope: grants access to renting phone numbers from Onlinesim
    • free-scope: grants access to using Onlinesim free numbers

authorizationCode