Клиентская авторизация

Для того, чтобы авторизовать пользователя, необходимо отправить POST запрос на URL https://api.admitad.com/token/, используя формат данных application/x-www-form-urlencoded и передав следующие параметры:

Название Обязательный Описание
client_id ID вашего приложения*
scope Список разделенных пробелом настроек доступа приложения, которые необходимо запросить.
grant_type Тип запросаclient_credentials


Для запроса необходимо использовать HTTP Basic authentification, используя client_id* and client_secret* как параметры доступа. Заголовок авторизации — закодированная base64 строка, содержащая конкатенированные двоеточием client_id and client_secret.

  • * Идентификатор (client_id) и секретный ключ (client_secret) приложения залогинившийся рекламодатель может получить в своем аккаунте (при нажатии кнопки «Показать учетные данные»).

Пример формирования закодированного base64 заголовка авторизации в Python 2.7 для client_id=’cb281d918a37e346b45e9aea1c6eb7’ и client_secret=’a0f8a8b24de8b8182a0ddd2e89f5b1’:

from base64 import b64encode
client_id='cb281d918a37e346b45e9aea1c6eb7'
client_secret='a0f8a8b24de8b8182a0ddd2e89f5b1'
data = client_id + ':' + client_secret
# data = 'cb281d918a37e346b45e9aea1c6eb7:a0f8a8b24de8b8182a0ddd2e89f5b1'
data_b64_encoded = b64encode(data)

 

Пример base64 закодированного заголовка авторизации (переменная data_b64_encoded)::

Y2IyODFkOTE4YTM3ZTM0NmI0NWU5YWVhMWM2ZWI3OmEwZjhhOGIyNGRlOGI4MTgyYTBkZGQyZTg5ZjViMQ==

 

Пример запроса с использованием утилиты curl для client_id=cb281d918a37e346b45e9aea1c6eb7, где b64XXX — base64 закодированный заголовок авторизации:

curl -H 'Authorization: Basic b64XXX' -X POST https://api.admitad.com/token/ -d
'grant_type=client_credentials&client_id=cb281d918a37e346b45e9aea1c6eb7&scope=advcampaigns banners websites'

 

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

POST /token/ HTTP/1.1
Host: api.admitad.com
Authorization: Basic b64XXX
Content-Type: application/x-www-form-urlencoded;charset=UTF-8

grant_type=client_credentials&client_id=cb281d918a37e346b45e9aea1c6eb7&scope=advcampaigns arecords banners websites

 

В результате выполнения данного запроса вы получите новый access_token. Вместе с access_token возвращается время жизни ключа expires_in в секундах, refresh_token и дополнительная информация для пользователя:

{
"username": "advertiser1",
"first_name": "name",
"last_name": "surname",
"language": "ru",
"access_token": "4b8b33955a",
"token_type": "bearer",
"expires_in": 604800,
"refresh_token": "ea957cce42",
"scope": "advcampaigns banners websites",
"group": "webmaster"
}