Налаштування інтеграції з Telegram-ботом
Щоб надсилати розсилки через Telegram-бота за допомогою eSputnik, виконайте наступні дії:
- Створіть бот у сервісі @BotFather, скопіюйте ключ доступу та завантажте його до eSputnik.
- Налаштуйте сервіс на власному боці, що прийматиме токени контактів (
chat_id) з вашого бота і передаватиме їх до eSputnik. Ви можете зробити це у будь-який зручний для вас спосіб, приклад реалізації можна знайти за посиланням.
Підключення до eSputnik не змінює вебхук ботаTelegram дозволяє вказати для бота лише один вебхук для отримання вхідних повідомлень. eSputnik не реєструє власний вебхук: платформа використовує токен бота, щоб надсилати повідомлення через Telegram Bot API.
Тому підключення бота до eSputnik не змінить і не вимкне вебхук, налаштований на вашому сервері або в конструкторі чат-ботів. Він і надалі отримуватиме вхідні повідомлення, а їх обробка та відповіді залишатимуться на вашому боці.
Створення бота в Telegram
- Відкрийте @BotFather у Telegram.
- Відправте команди
/start/newbot
- Виконайте інструкції з налаштування бота.
- Після створення бота ви отримаєте токен доступу. Скопіюйте його.

- Перейдіть до налаштувань вашого облікового запису eSputnik на вкладку Мої боти і натисніть Підключити Telegram-бот.

- Введіть токен у відповідне поле і натисніть Зберегти.

Якщо потрібно інтегрувати вже створений бот:
- На вкладці Мої боти натисніть Підключити Telegram-бот.
- Натисніть Підключити наявний Telegram-бот.

- У чаті @BotFather введіть команду
/mybots, виберіть потрібний бот зі списку, скопіюйте його токен, додайте його у відповідне поле і натисніть Зберегти.

Після підключення бота ви отримаєте ID застосунку (app_uuid) — його потрібно використовувати в URL для відправлення запиту з додавання та оновлення токенів ваших контактів в eSputnik: https://esputnik.com/api/v1/apps/{app_uuid}/tokens.
Того самого бота можна підключити до кількох акаунтів: для кожного підключення генерується власний ідентифікатор застосунку, а токени ви додаєте в кожен акаунт окремо.

Створення та оновлення контактів
Щоб додати або оновити токени контактів, використовуйте API-ресурс Add application tokens (тип POST).
Формат JSON-запиту:
{
"tokens": [
"Token"
]
}Формат контактних даних у запиті:
{
"token": string, // required
// Ідентифікатори для пошуку контакту (принаймні один є обов’язковим)
"contactId": Long,
"externalCustomerId": string,
"phone": string,
"email": string
}URL для відправлення запиту: /v1/apps/{app_uuid}/tokens
Надсилайте токени пачками до 3000 в одному запиті — так само, як при масовому завантаженні контактів.
Запит працює наступним чином:
- Контакт створюється з усіма ідентифікаторами, якщо в системі не існує контакту з такими ідентифікаторами.
- Якщо ідентифікатори вже існують, вони не створюються і не оновлюються.
- Пріоритет ідентифікаторів для пошуку контактів у системі: contactId → externalCustomerId → phone → email.
- Якщо контакт не знайдено за жодним із ідентифікаторів contactId → externalCustomerId → phone → email, створюється новий контакт з усіма зазначеними ідентифікаторами та токеном.
- Якщо контакт знайдено за будь-яким із ідентифікаторів contactId → externalCustomerId → phone → email, до наявного контакту буде додано токен.
Зверніть увагуЗапити ресурсом
Add application tokensне оновлюють наявні токени, а тільки створюють нові. Наприклад, якщо у двох запитах з однаковою email-адресою будуть міститися два різні токені, в картку контакту запишуться обидва.
Для оновлення інших контактних даних використовуйте ресурси Add/update a contact або Add/update contacts.
Автоматичного співставлення телефону й токена в Telegram немає — ваша власна інтеграція має передавати телефон і токен разом в одному API-запиті. Інтеграція з BigQuery підтримує лише регулярні сценарії, не подієві.
Після прив’язування токена Telegram-бота до контакту Telegram Bot може повертатися в масиві channels ресурсами API Get contact і Search for contacts.
Статуси повідомлень
Відстежуються статуси SENT, FAILED та CLICKED.
Токен буде видалено з картки контакту при отриманні статусу FAILED (Forbidden), який передається, коли користувач блокує бот.
Якщо масова або тригерна Telegram-розсилка завершується помилкою Unauthorized, авторизація бота більше не чинна. Можливі причини з довідника помилок Telegram: USER_DEACTIVATED (користувача бота видалено або деактивовано), SESSION_REVOKED (авторизацію відкликано через завершення всіх сесій), SESSION_EXPIRED (авторизація протермінована). Перевірте токен бота та перепідключіть канал.
Updated 21 days ago