Авторизация пользователя приложения
Каждый раз, когда открывается установленная интеграция, SendPulse отправляет код на ссылку, указанную в поле URL для авторизации во время создания приложения. Чтобы получить ключи к вызовам API через приложение, необходимо отправить запрос с этим кодом и ключами приложения.
Открытие интеграции и запуск описанного процесса происходит в двух случаях:
- когда пользователь впервые устанавливает приложение и дает разрешения;
- когда пользователь открывает страницу приложения в аккаунте SendPulse – то есть напротив приложения в меню нажимает Просмотреть.
Схематически процесс авторизации пользователя выглядит следующим образом:
Пример запроса POST от SendPulse с отправкой кода:
https://YOUR_INSTALL_URL/?code={code}lang=en |
Параметры запроса в URL:
сода |
string | Код, генерируемый при открытии пользователем приложения.
Код действителен в течение 1 минуты. |
только |
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
или