Как использовать SendPulse API в цепочках

В сервисе чат-ботов SendPulse есть элемент Запрос API, который позволяет отправлять и получать данные от внешних и внутренних сервисов. Это даёт возможность выполнять действия, выходящие за рамки стандартных сценариев — например, создавать новые объекты или отправлять сообщения через API.

В этой статье рассмотрим, как авторизоваться и делать запросы к SendPulse через API.

Настройте параметры для авторизации

Для работы с запросами вам нужно настроить авторизацию, чтобы подтвердить вашу личность и предоставить чат-боту доступ к функциям SendPulse через API.

Скопируйте данные аккаунта SendPulse

Перейдите в раздел Настройки > API. Скопируйте значения ID и Secret, которые понадобятся для получения токена. Их мы будем использовать при создании переменных чат-бота.

Создайте переменные чат-бота

Чтобы авторизовывать API-запросы, создайте в чат-боте глобальные переменные, где будут храниться ваши данные для авторизации.

Чтобы создать глобальную переменную, перейдите в вашего бота > Настройки бота > Переменные бота и нажмите Создать переменную (Create variable).

Добавьте такие переменные для дальнейшего получения токена:

$access_token String

Хранит актуальный токен доступа, полученный от API SendPulse после авторизации. Используется в заголовке авторизации для выполнения запросов.

В поле Значение вставьте 0 или -.

$access_token_expiration DateTime Дата и время, когда текущий токен станет недействительным.

В поле Значение вставьте 0 или -.

$SP_API_ID String Используется для получения токена.

В поле Значение вставьте client_id вашего аккаунта SendPulse, который вы скопировали.

$SP_API_SECRET String Используется вместе с client_id для авторизации.

В поле Значение вставьте client_secret вашего аккаунта SendPulse, который вы скопировали.

Получите токен авторизации

Токен или ключ авторизации нужен для каждого запроса к API SendPulse — его можно получить через элемент Запрос API в вашей цепочке бота.

Перетащите элемент Запрос API (API Request) в рабочую область и выберите тип запроса POST на адрес: https://api.sendpulse.com/oauth/access_token.

В поле Тело запроса (Request body) добавьте JSON:

{
   "grant_type":"client_credentials",
   "client_id":"{{$SP_API_ID}}",
   "client_secret":"{{$SP_API_SECRET}}"
}

Подробнее об авторизации читайте в SendPulse Service REST API.

Нажмите Проверить запрос (Test Request). В случае успешного выполнения в теле ответа вы получите данные, которые необходимо сохранить.

Полученный ключ действителен в течение 1 часа и не требует дополнительных запросов для каждого запуска цепочки.

Сохраните токен в переменной чат-бота

Настройте сохранение токена с помощью элемента Действие — Установить переменную. Выберите созданную глобальную переменную $access_token и добавьте значение из предыдущего элемента в формате JSONPath {{$['access_token']}}.

По аналогии настройте сохранение глобальной переменной $access_token_expiration. Так как токен действителен 1 час, эта переменная позволяет проверять перед каждым запросом, нужно ли получить новый токен или можно использовать существующий. Соответственно, необходимо настроить значение переменной.

В поле Значение переменной (Set variable value) активируйте опцию Вставить переменную (Insert variable) и выберите Дата запуска. Активируйте опцию Добавить отклонение значения (Variable offset) и задайте динамическое значение + 59 минут.

Используйте SendPulse API

После того как токен получен и сохранён в переменной чат-бота, его можно использовать для выполнения следующих запросов к API SendPulse. Для этого каждый новый API-запрос должен содержать заголовок авторизации, в котором передаётся ваш токен.

Все актуальные методы для всех сервисов можно просмотреть в SendPulse Service REST API.

Добавьте следующий элемент API-запрос (API Request) в рабочую область и настройте его.

Метод Зависит от задачи, например, используйте POST для отправки сообщения в Telegram, а метод GET — для получения информации. Далее добавьте ссылку из метода.
Заголовки Добавьте Authorization со значением Bearer {{$access_token}}

Токен автоматически подставится из переменной.

Также в начале цепочки вам необходимо добавить элемент Фильтр — Значение переменной, который будет проверять, не пустое ли значение токена и действителен ли он. В настройках выберите две глобальные переменные и настройте условия:

$access_token Выберите оператор условия не пустая (not empty).
$access_token_expiration Выберите оператор условия перед (before), активируйте Вставка переменных (Insert variables) и выберите переменную Дата срабатывания (Run date).

Разберём пример отправки сообщения другому контакту через Telegram. В элементе API-запрос выберите метод POST и вставьте URL: https:/api.sendpulse.com/telegram/contacts/send.

Нажмите Добавить заголовок (Add header) и укажите в первом поле Authorization, а в следующем — Bearer {{$access_token}}.

Добавьте тело запроса и укажите все необходимые параметры. Пример запроса:

{
  "contact_id": "string",
  "message": {
    "type": "photo",
    "photo": "https://www.cdn.com/photo.png",
    "caption": "string"
  }
}

Также вы можете использовать готовый шаблон в разделе Чат-боты (Chatbots) > Шаблоны (Templates) > API.

Оцените, насколько полезна статья "Как использовать SendPulse API в цепочках"

Оценка: 4 / 5

Назад

Как передавать события чат-ботов SendPulse с Conversions API

Далее

Как сделать просмотр структуры цепочки публичным

Популярное в нашем блоге

Создайте собственный чат-бот