Настройка интеграции с Telegram-ботом
Примечание
Telegram бот является обязательным для работы канала
Чтобы делать рассылки в вашем Telegram-боте с помощью eSputnik, выполните следующие шаги:
1. Создайте бот в сервисе @BotFather, скопируйте ключ доступа и загрузите его в eSputnik.
2. Настройте сервис на своей стороне, который будет принимать токены контактов (chat_id) из вашего бота и передавать их в eSputnik. Вы можете сделать это любым удобным для вас способом, пример реализации можно найти по ссылке.
Настройка доступа
1. Откройте @BotFather вTelegram.
2. Отправьте команды
- /start
- /newbot
3. Выполните инструкции по настройке бота.
4. После создания бота вы получите токен доступа. Скопируйте его.
5. Перейдите в настройки вашего аккаунта eSputnik на вкладку “Мои боты” и нажмите “Подключить Telegram-бот”.
6. Введите токен в соответствующее поле и нажмите “Сохранить”.
Если требуется интегрировать уже созданный бот:
1. На вкладке “Мои боты” нажмите “Подключить Telegram-бот”.
2. Нажмите “Подключить существующий Telegram-бот”.
3. В чате @BotFather введите команду /mybots, выберите нужный бот из списка, скопируйте его токен, добавьте его в соответствующее поле и нажмите “Сохранить”.
После подключения бота вы получите ID приложения (app_uuid) – его нужно использовать в URL для отправки запроса по добавлению и обновлению токенов ваших контактов в eSputnik: https://esputnik.com/api/v1/apps/{app_uuid}/tokens.
Примечание
Общее количество подписчиков Telegram-бота указано справа от его названия.
Создание и обновление контактов
Для добавления или обновления токенов контактов используйте API-метод Add application tokens (тип POST).
Формат JSON-запроса:
{ "tokens": [Token] }
JSON
Формат контактных данных в запросе:
{ "token": string, // required // Идентификаторы для поиска контакта (по крайней мере один является обязательным) "contactId": Long, "externalCustomerId": string, "phone": string, "email": string }
JSON
URL для отправки запроса: /v1/apps/{app_uuid}/tokens
Запрос работает следующим образом:
- Контакт создается со всеми идентификаторами, если в системе нет контакта с такими идентификаторами.
- Если идентификаторы уже существуют, они не создаются и не обновляются.
- Приоритет идентификаторов для поиска контактов в системе: contactId → externalCustomerId → phone → email.
- Если контакт не найден ни по одному из идентификаторов contactId → externalCustomerId → phone → email, создается новый контакт со всеми указанными идентификаторами и токеном.
- Если контакт найден с любым из идентификаторов contactId → externalCustomerId → phone → email, к существующему контакту будет добавлен токен. Обратите внимание: запросы методом Add application tokens не обновляют существующие токены, а только создают новые. Например, если в двух запросах с одинаковым email-адресом будут содержаться два разных токена, в карточку контакта запишутся оба.
Для обновления других контактных данных используйте методы Add/update a contact или Add/update contacts.
Статусы сообщений
Отслеживаются статусы SENT, FAILED и CLICKED.
Токен будет удален из карточки контакта при получении статуса FAILED (Forbidden), который передается, когда пользователь блокирует бот.