Для работы с нашим API Ваше приложение должно быть авторизовано Вашим пользователем. Для этого мы предоставляем несколько способов авторизации: APIKEY, OAUTH 2.0 (Authorization code flow) и OAUTH 2.0 (Implicit flow). Вы можете выбрать любой наиболее удобный для Вас.
Api-key - секретный ключ, используемый для упрощенной авторизации в API OnlineSIM.
Данный способ представляет упрощенную авторизацию. По возможности следует использовать Oauth 2.0 для более безопасной работы с Вашими данными.
Протокол авторизации Oauth 2.0 поддерживает несколько видов авторизации. Для работы с нашим API предпочтительней использовать сценарии Authorization code или Implicit.
{info} В данном сценарии все строится вокруг кода авторизации, который служит промежуточным звеном между вашим приложением и пользователем нашего сервиса. Вместо прямого запроса на авторизацию, Ваше приложение будет перенаправлять пользователя в наш сервис авторизации, где он сможет авторизовать Ваше приложение для работы с его данными.
https://client.example.com/redirect
;Нажимаем "Create".
Client ID и Secret нужно добавить в Ваше приложение. Они понадобятся для авторизации.
https://onlinesim.ru/oauth/authorize
с параметрами client_id, redirect_uri, response_type, scope, state:Описание параметров
Название параметра | Тип данных | Описание |
---|---|---|
client_id | STRING | Client ID, который был получен при регистрации приложения |
redirect_uri | STRING | Адрес на который будет перенаправлен клиент, после успешной авторизации, должен совпадать с Redirect URL при добавлении приложения. |
response_type | STRING | Указать "code" |
scope | STRING | Права доступа, разрешение на которые запрашивает ваше приложение у пользователя. Возможные варианты: sms-scope, rent-scope, proxy-scope, free-scope. Можно указать несколько |
state | STRING | Значение состоящее из случайного набора символов, сервис авторизации вернет при обратном вызове. Рекомендуется использовать для предотвращения подделки межсайтовых запросов |
Scopes:
- sms-scope - доступ к API и управлению номерами на приеме onlineSIM;
- rent-scope - доступ к API и аренде новых сим-карт от лица пользователя onlineSIM;
- proxy-scope - доступ к API и управлению прокси пользователя onlineSIM;
- free-scope - доступ к API и управлению бесплатными номерами;
https://onlinesim.ru/oauth/authorize
пользователь из Вашего приложения будет перенаправлен на страницу авторизации, где ему необходимо указать логин пароль и в случае успеха авторизовать ваше приложение для работы с данными пользователя в сервисе onlineSIM. Для этого необходимо нажать кнопку Authorize:https://onlinesim.ru/oauth/token
:{info} на этом этапе вы можете проверить параметр state, для подтверждения безопасного взаимодействия с сервисом авторизации
Описание параметров
Название параметра | Тип данных | Описание |
---|---|---|
grant_type | STRING | Сценарий авторизации, указать "authorization_code" |
client_id | STRING | Client ID, который был получен при регистрации приложения |
client_secret | STRING | Сlient_secret, который был получен при регистрации приложения |
redirect_uri | STRING | Адрес на который будет перенаправлен клиент, после успешной авторизации, должен совпадать с Redirect URL при добавлении приложения |
code | STRING | Код авторизации, который был получен на предыдущем этапе |
{info} так как client_secret - это приватный ключ, поэтому не рекомендуется его хранить в фронтенде клиента. Для более безопасного сценария необходимо хранить его в бэкэнде Вашего приложения. Для реализации сценария с авторизационным нужно передать получены код фронтендем в бэкэнд Вашего сервиса, а уже он обратится в авторизационный сервис для получения токена.
https://onlinesim.ru/oauth/token
в ответ получите JSON, содержащий атрибуты access_token, refresh_token и expires_in. Атрибут expires_in содержит количество секунд до истечения срока действия токена доступа.Во все запросы к API нужно добавлять заголовок Authorization: Bearer access_token. Если в ответ на ваш запрос пришел ERROR_WRONG_KEY, Вам необходимо обновить токен или получить новый.
{ "response": "ERROR_WRONG_KEY" }
Для обновление токена необходимо сделать POST запрос к https://onlinesim.ru/oauth/token
:
Описание параметров
Название параметра | Тип данных | Описание |
---|---|---|
grant_type | STRING | Необходимо указать "refresh_token" |
client_id | STRING | Client ID, который был получен при регистрации приложения |
client_secret | STRING | Client_secret, который был получен при регистрации приложения |
refresh_token | STRING | Refresh_token был получен вместе с access_token. Имеет гораздо большее время жизни и используется для обновления access_token |
code | STRING | Код, который вы получили на предыдущем этапе |
{info} Данный сценарий похож на сценарий c получением авторизационного кода, за исключением того, что вместо кода в redirect_url сервис авторизации сразу отдает токен. Это удобно для приложений, которые не могут обеспечить приватность client_secret (десктопные приложения, мобильные приложения без серверной части и т.п.).
https://client.example.com/redirect
;Нажимаем "Create".
Client ID нужно добавить в Ваше приложение. Оно понадобится для авторизации.
https://onlinesim.ru/oauth/authorize
с параметрами client_id, redirect_uri, response_type, scope, state:Описание параметров
Название параметра | Тип данных | Описание |
---|---|---|
client_id | STRING | Client ID, который был получен при регистрации приложения |
redirect_uri | STRING | Адрес на который будет перенаправлен клиент, после успешной авторизации, должен совпадать с Redirect URL при добавлении приложения. |
response_type | STRING | Указать "token" |
scope | STRING | Права доступа, разрешение на которые запрашивает ваше приложение у пользователя. Возможные варианты: sms-scope, rent-scope, proxy-scope, free-scope. Можно указать несколько |
state | STRING | Значение состоящее из случайного набора символов, сервис авторизации вернет при обратном вызове. Рекомендуется использовать для предотвращения подделки межсайтовых запросов |
Scopes:
- sms-scope - доступ к API и управлению номерами на приеме onlineSIM;
- rent-scope - доступ к API и аренде новых сим-карт от лица пользователя onlineSIM;
- proxy-scope - доступ к API и управлению прокси пользователя onlineSIM;
- free-scope - доступ к API и управлению бесплатными номерами;
https://onlinesim.ru/oauth/authorize
пользователь из Вашего приложения будет перенаправлен на страницу авторизации, где ему необходимо указать логин пароль и в случае успеха авторизовать ваше приложение для работы с данными пользователя в сервисе onlineSIM. Для этого необходимо нажать кнопку Authorize:Во все запросы к API нужно добавлять заголовок Authorization: Bearer access_token. Если в ответ на ваш запрос пришел ERROR_WRONG_KEY, Вам необходимо получить новый токен.
{ "response": "ERROR_WRONG_KEY" }