Авторизація користувача застосунку
Кожен раз, коли відкривається встановлена інтеграція, SendPulse надсилає код на посилання, яке ви вказали в полі URL для авторизації під час створення застосунку. Щоб отримати ключі до викликів API через застосунок, вам потрібно буде надіслати запит з цим кодом та ключами застосунку.
Відкриття інтеграції та запуск описаного процесу відбувається у двох випадках:
- коли користувач вперше встановлює застосунок і надає дозволи;
- коли користувач відкриває сторінку застосунку в своєму акаунті SendPulse – тобто навпроти застосунку у меню натискає Переглянути.
Схематично процес авторизації користувача виглядає наступним чином:
Приклад запиту POST від SendPulse з надсиланням коду:
https://YOUR_INSTALL_URL/?code={code}lang=en |
Параметри запиту в URL:
сode |
string | Код, що генерується при відкритті користувачем застосунку.
Код дійсний протягом 1 хвилини. |
lang |
string | Мова користувача в акаунті SendPulse. |
Щоб отримати ключі користувача застосунку, зробіть запит POST на наступне посилання:
https://api.sendpulse.com/market-service/oauth/authorize |
Параметри запиту:
app_id |
string | ID застосунку, що з'являється у кабінеті розробника після додавання застосунку.* |
secret |
string | Ключ застосунку, що з'являється в кабінеті розробника після додавання застосунку.* |
code |
string | Код, надісланий SendPulse на URL для авторизації.
Код дійсний протягом 1 хвилини. |
*Щоб знайти ключі застосунку, перейдіть до Каталог застосунків > Створені. Навпроти необхідного застосунку натисніть на три крапки та виберіть Редагувати. Скопіюйте ключі в полях App ID і Secret key та збережіть їх в своїй системі.
Приклад запиту:
{
"app_id": "9b0f2f98-d75f-4562-887e-2b79bc8a1eee",
"secret": "0d028163-9c84-40e4-8508-f4927badf735",
"code": "21efd6b100b2602cb2d75cb06c2bf37f"
}
В результаті успішного виконання запиту інтеграція отримає ключі користувача застосунку (client_id
та client_secret
), з якими ви зможете отримувати токен користувача застосунку.
Приклад відповіді:
{
"result": true,
"data": {
"id": "9b0f56dd-4f4d-4792-ae20-23f99659b69e",
"user_id": 7043663,
"app_id": "9b0fdd98-d75f-4562-887e-2b79bc8a1eee",
"client_id": "b2bfd8a8441294fa0171c195ada8cf56",
"client_secret": "f7064fb0bbecd392d7b3ea2e2bd77758",
"created_at": "2024-01-10T15:50:20.000000Z",
"updated_at": "2024-01-10T15:50:20.000000Z"
}
}
Параметри відповіді:
id |
uuid | ID користувача в акаунті SendPulse.
Можна використовувати для додавання користувача до приватного застосунку. |
client_id |
string | Ключ користувача застосунку для доступу до API.* |
client_secret |
string | Ключ користувача застосунку для доступу до API.* |
created_at |
datetime | Час створення першого підключення. |
updated_at |
datetime | Час оновлення останнього підключення. |
*Рекомендуємо зберегти параметри client_id
та client_secret
в своїй системі для роботи у фоновому режимі. Ключі користувача не змінюються весь час використання застосунку користувачем.
Інші параметри також можна збирати та оновлювати, щоб зберігати дані користувача, наприклад, за його ID.
У разі неуспішного виконання запиту ви отримаєте помилку 422 Unprocessable Entity
.
Приклад відповіді у разі неуспішного запиту:
{
"result": false,
"data": null,
"error": "Сonnect not found!",
"code": 5
}
Якщо ви отримали помилку, перевірте введені дані та надішліть запит повторно.
Оновлено: 30.07.2024
або