Як використовувати 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 та додайте значення з попереднього елементу у форматі JSONPpath {{$['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

Далі

Як зробити перегляд структури ланцюжка публічним

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

Створіть власного чат-бота