Як авторизуватися в api

Важливим моментом протоколу є час життя токена доступу. При отриманні токена будь-яким способом, у відповіді крім самого access token, будуть присутні поля expires_in і refresh_token. Перше вказує на час життя токена в секундах. В API myTarget стандартний час життя одно 86400 секунд, що відповідає однієї доби. Протягом усього цього періоду ви можете робити різні запити до API з використанням цього токена. По закінченню терміну життя, на запит повернеться помилка, що повідомляє, що токен більш не дійсна. Для виконання нового запиту не потрібно отримувати новий, необхідно провести оновлення токена, виконавши запит виду:







POST /api/v2/oauth2/token.json HTTP / 1.1
Host: target.my.com
Content-Type: application / x-www-form-urlencoded
grant_type = refresh_tokenrefresh_token = client_id = client_secret =

Оновлення токена НЕ створює його нову копію, а тільки змінює строковий ключ. Це коректний спосіб використання API. Зверніть увагу, що необгрунтована генерація нових токенов (замість поновлення) розцінюється як некоректна робота з API і може призвести до заборони доступу до API.

Токени автоматично видаляються після закінчення місяця неактивності (закінчення expires_in).

По досягненню ліміту у відповідь на спробу отримати новий токен буде повернуто помилку з http-кодом 403.

Для уникнення подібних помилок, необхідно коректно оновлювати виписані токени і не створювати їх надлишкові копії.







Рекомендується до прочитання:

Щоб отримати access-токен, потрібно надіслати запит виду:

POST /api/v2/oauth2/token.json HTTP / 1.1
Host: target.my.com
Content-Type: application / x-www-form-urlencoded
grant_type = client_credentialsclient_id = client_secret =

Ключі client_id і client_secret можна отримати, надіславши заявку на підключення до API.

У разі успішного виконання відповідь буде виглядати наступним чином:

Далі, отриманий access-токен можна використовувати при відправці запитів до API target.my.com. Значення токена вказується в заголовку Authorization. Перед токеном повинен бути зазначений тип Bearer:

GET /api/v2/campaigns.json HTTP / 1.1
Host: target.my.com
Authorization: Bearer

Запит на отримання токена по цій схемі буде виглядати так:

POST /api/v2/oauth2/token.json HTTP / 1.1
Host: target.my.com
Content-Type: application / x-www-form-urlencoded
grant_type = agency_client_credentialsclient_id = client_secret = agency_client_name =

Відповідь буде таким же, як і при запиті з використанням схеми Client Credentials Grant.

Таким чином, для того, щоб отримати доступ до даних клієнта агентства, необхідно виконати наступні кроки:

Відповідно, якщо необхідний доступ до даних іншого клієнта, то слід повторити третій крок для цього клієнтського логіна.

Додатки, які надають сервіс по роботі з myTarget для сторонніх клієнтів, повинні використовувати схему Authorization Code Grant.

3. Додаток обмінює code на access token за допомогою запиту

POST /api/v2/oauth2/token.json HTTP / 1.1
Host: target.my.com
Content-Type: application / x-www-form-urlencoded

POST /api/v2/oauth2/token.json HTTP / 1.1
Host: target.my.com
Content-Type: application / x-www-form-urlencoded
grant_type = agency_client_credentialsclient_id = client_secret = agency_client_name = access_token =

На відміну від запиту від імені агентства, в цьому запиті з додатком потрібно буде вказати крім власних client_id і client_secret ще й access_token, отриманий після надання агентством доступу для вашого застосування.