API Gateway: Что это и как пользоваться?
Автор: @RDGlessons
Сегодня Telegram выпустил обновление Telegram API — Gateway API. Оно представлено как инструмент, способный заменить СМС-верификации. В этой статье мы расскажем о преимуществах, разберём, как пользоваться, и реализуем интеграцию.
Основные особенности:
- Мгновенная доставка кодов верификации.
- Цена в ~$0.01 за сообщение, что в ~50 раз ниже средней цены за СМС*
- 100% процентная доставка сообщения.
- Отчёты о прочтении и доставке.
Но есть и большой минус: минимальная сумма пополнения составляет $100, причём оплата возможна только в TON.
*В целях тестирования вы сможете отправлять бесплатные проверочные сообщения на аккаунт Telegram, привязанный к номеру, который вы использовали для входа.
Инструкция по настройке:
Авторизация:
Для начала необходимо получить уникальный API токен, для отправки кодов верификации. Перейдите в Gateway account, авторизуйтесь по номеру Telegram и скопируйте API токен:
Отправка кодов через PuzzleBot:
Создайте Интегрированную переменную во вкладке Переменные в PuzzleBot
Заполните поле "Ссылка" данной ссылкой:
Выберите тип запроса GET или POST
Добавьте заголовки:
Замените ТОКЕН на действующий токен, полученный ранее.
Добавьте параметры:
- phone_number - обязательно - номер телефона получателя кода в международном формате E. 164
- code - необязательно - код, который будет отправлен получателю. Код может состоять только от 4 до 8 цифр.
- code_length - необязательно (используется только если отсутствует поле code) - длина кода, который будет сгенерирован Telegram, от 4 до 8 символов.
- sender_username - необязательно - юзернейм публичного канала, от чьего имени придёт код получателю. Канал который вы укажите должен принадлежать вашему аккаунту.
- ttl - необязательно - количество секунд, после которых код будет удалён/деактивирован. Код удаляется только если сообщение с кодом не прочитано на момент удаления.
- callback_url - необязательно - адрес вебхука, который получит обновления сообщения: статус доставки и прочтение.
- request_id - необязательно - айди предыдущего сообщения, отправленного на этот же номер. Если всё указано верно - деньги с баланса за отправленное сообщение считываться не будут.
Возвращаемый ответ:
JSON:
Подробнее с документацией можно ознакомиться здесь.
При вызове запроса на указанный номер придёт следующее сообщение:
По нажатию на кнопку Copy Code пользователь скопирует код. Коды, сгенерированные Telegram можно проверить на соответствие с помощью метода checkVerificationStatus.
Проверяем корректность введённого кода:
Создайте Интегрированную переменную во вкладке Переменные в PuzzleBot
Заполните поле "Ссылка" данной ссылкой:
Выберите тип запроса GET или POST
Добавьте заголовки:
Замените ТОКЕН на действующий токен, полученный ранее.
Добавьте параметры:
- request_id - обязательно - айди сессии/предыдущего отправленного сообщения с кодом, который мы будем проверять. Возвращается в поле request_id при отправке кода.
- code - необязательно - код, который ввёл пользователь у вас на стороне.
Возвращаемый ответ:
JSON:
В поле result.verification_status.status указано одно из значений code_valid или code_invalid, они отвечают за корректность и корректность введённого кода соответственно.
Автор: @RDGlessons
Хорошая инструкция, очень интересно, где и как это применять
Круто! тут ребята https://notisend.ru/price/stoimost-telegram-gateway/ интегрировали Telegram Gateway. оплата в руб.
Если отправка в Telegram недоступна, код подтверждения будет отправлен через обычное SMS
Где-то уже используешь в своих проектах? или планируешь внедрить?
Пока большой необходимости в нём для своих проектов не вижу, но вероятно я ещё напишу статью с реализацией кейса с регистрацией на мероприятия
Очень интересно, но совсем непонятно, где и зачем это нужно 😁
Коротко и по делу)
Спасибо за обзор. Подскажите пожалуйста, как указать язык отправления текста?