Упълномощаване на API

Помощ за клиентски агенции използва се за работа с данните на собствени клиенти на агенции/мениджъри.

Първите две схеми са достъпни за всеки клиент на API, достъпът до схемата за предоставяне на код за разрешаване се предоставя само ако условията са изпълнени.

Използвайки някой от тези методи, ще бъде получен обект на Access Token, съдържащ ключовете access_token и refresh_token. Всяка заявка към API трябва да бъде подписана с access_token:

Предоставяне на пълномощия на клиента

За да получите токен за достъп, трябва да изпратите заявка като тази:

Ако успее, отговорът ще изглежда така:

Помощ за клиентски агенции

Тази схема на протокол OAuth2 не е стандартна. Той е приложен, за да даде възможност на агенциите и мениджърите да създават маркери за достъп за своите клиенти без потвърждение на клиента. Схемата е много подобна на стандартния Client Credentials Grant, с изключение на това, че в заявката трябва да бъде предаден допълнителен параметър "agency_client_name" (потребителското име от заявката AgencyClients или ManagerClients):

Код за разрешение Разрешение

Алгоритъмът за получаване на достъп е както следва:

Клиентът на API пренасочва потребителя към специална страница https://target.my.com/oauth2/authorize, като посочва параметрите "response_type" (със стойност "code"), "state" (генериран маркер от страна на клиента, използван за предотвратяване на CSRF - може да съдържа произволен набор от символи), собствен "client_id" и списък с права за достъп "обхват":

След като получи параметъра "код", клиентът може да поиска "access_token" за по-нататъшна работа с API от името на потребителя. За да направите това, трябва да изпратите заявка до /api/v2/oauth2/token.json, като предадете параметрите "grant_type" (със стойността "auth_code"), "code" (получени по време на обратното пренасочване към "redirect_uri" "token):

Полученият маркер за достъп се използва за удостоверяване на заявки, изпратени до API от името на потребителя:

За да получавате токени от клиенти на агенцията или мениджъра, предоставил достъп, трябва да използвате разширената схема за клиентски идентификационни данни на агенцията. За да направите това, в допълнение към параметъра agency_client_name и други, трябва да посочите получения параметър на агент в параметъра access_token:

Ако заявката е изпълнена успешно, отговорът ще съдържа токен за достъп за извършване на операции от името на клиента или мениджъра на агенцията.

Обхват - права за достъп

  • read_ads - четене на статистика и AC;
  • read_payments - четене на парични транзакции и баланс;
  • create_ads - създаване и редактиране на рекламни настройки, банери, аудитории (оферти, състояние, насочване и др.).