Клиентская авторизация¶
Для того, чтобы авторизовать пользователя, необходимо отправить POST запрос на URL https://api.admitad.com/token/, используя формат данных application/x-www-form-urlencoded и передав следующие параметры:
Название Обязательный Описание client_id ✔ ID Вашего приложения* scope ✔ Список разделённых пробелом настроек доступа приложения, которые необходимо запросить. grant_type ✔
- Тип запроса
- client_credentials
Для запроса необходимо использовать HTTP Basic аутентификацию, используя
client_id*
иclient_secret*
как параметры доступа. Заголовок авторизации - закодированная base64 строка, содержащая конкатенированные двоеточиемclient_id
и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" }