Техническое задание: Передача данных пользователя из Telegram в веб-приложение
Исходные условия
- Telegram-бот функционирует на webhook.
- При запуске бот отправляет ссылку, открывающую сайт через Telegram.WebApp.
- Кроме приветствия и вывода ссылки, взаимодействие браузера ботом не настроено.
- Сайт работает на CMS DLE.
Цель задачи
Реализовать передачу параметров first_name и username (и, возможно, photo_url) непосредственно из Telegram-контекста пользователя на страницу сайта, запущенного как WebApp. Это означает, что авторизованный пользователь должен видеть своё имя, извлечённое из данных Telegram.
Ожидаемый алгоритм работы
- Сайт открывается в контексте Telegram Mini Apps.
- На фронтенде DLE необходимо (через JavaScript SDK, подключенный от Telegram) считать initData, содержащую информацию о пользователе.
- Эту информацию (имя и username) передать либо уникальный идентификатор пользователя - для внесения в базу или изменения приветствия на сайте.
- Механизм передачи: подждите использование json-строки в чистом DOM, запись в сессию серверной части DLE (post/Backend) напрямую или в специальный JavaScript-объект.
Основные требования
- Максимальный функционал должен быть реализован со стороны сайта: скрипт, обрабатывающий initData и отображающий имя;
- Минимальное изменение сайта - отображение приветствия каждого приложения;
- Все конфигурационные нагрузки исполнять. Не трогать существующий DTE Web структур полноты изменения;
- Без требования редактировать логина/
Обратная совместимость
Заказчик явно хочет решения фулстек/метода. Предпочтительно отправлять события события между ботами/web-стор.