x

Python (FastAPI) интеграция Telegram и Webim через Custom Channel

Перейти к заказу
1. Цель и общее описание Необходимо создать сервис, который будет:Принимать входящие сообщения от Telegram-бота (через Webhook).Перенаправлять эти сообщения в Webim посредством механизма Custom Channel.Принимать ответы от оператора в Webim (через callback) и пересылать их обратно пользователям в Telegram.Использовать базу данных PostgreSQL:Для хранения настроек (конфигураций, токенов, параметров интеграции).Для хранения связки между Telegram-пользователями и Webim-посетителями (visitor_id ↔ chat_id).При этом сами тексты сообщений (входящие и исходящие) не сохраняются в БД. Хранится только необходимая техническая информация: настройки интеграции и соответствие идентификаторов пользователей в обеих системах. 2. Требования к архитектуре и окружению Язык реализации: Python Web-фреймворк: FastAPI СУБД: PostgreSQLВзаимодействие с Telegram:Через Telegram Bot API и Webhook (setWebhook).Токен бота хранится в БД (таблица настроек) или в .env — на усмотрение исполнителя, но желательно хранить в БД, если это соответствует требованиям безопасности в инфраструктуре заказчика.Взаимодействие с Webim:Через REST API (Custom Channel). https://webim.ru/kb/dev/api/custom-channel.htmlCallback-URL для получения исходящих сообщений от оператора.access_token Webim также хранится в БД (в таблице настроек), либо в .env.Безопасность:Все внешние вызовы должны выполняться по HTTPS.Логирование:Использовать стандартный модуль logging (или аналог) для записи ключевых событий (получение сообщения, отправка, ошибки).Логи можно хранить локально или в любом внешнем сервисе (по согласованию). 3. Функциональные требования 3.1. Обработка входящих сообщений от Telegram Endpoint: POST /telegram-webhookПринимает JSON (update) от Telegram.Извлекает из него:Идентификатор пользователя (chat_id).Текст сообщения (при наличии).Определяет (через обращение к БД) наличие связки chat_id ↔ visitor_id:Если такой записи нет — создаёт новую:Генерирует/запрашивает новый visitor_id (может быть, например, str(chat_id) или использовать GUID).Сохраняет пару visitor_id, chat_id в таблице (см. пункт 4.2).Если запись уже существует, использует соответствующий visitor_id.Отправляет сообщение в Webim по Custom Channel:Передаёт visitor_id, текст сообщения и любую дополнительную метаинформацию (например, username).Сообщения в БД не сохраняются.Регистрация Webhook:Предоставить инструкцию по выполнению setWebhook для Telegram (пример CURL или Python-скрипт). 3.2. Обработка исходящих сообщений от Webim Endpoint: POST /webim-callbackWebim вызывает этот адрес при отправке ответа оператором. По visitor_id ищет в БД связку visitor_id ↔ chat_id.Если связка найдена, получает chat_id.Если нет — логирует ошибку (такое может произойти, если пользователь устарел, или в случае расхождения данных).Отправляет сообщение пользователю в Telegram (метод sendMessage).В БД текст сообщения не сохраняется. 3.3. Хранение настроек в PostgreSQL Хранить токены, URL-адреса и прочие конфигурационные данные в таблице settings. При запуске приложения (FastAPI) читать настройки и использовать в процессе интеграции. Время от времени их можно кэшировать в оперативной памяти, чтобы не грузить БД частыми запросами. 3.4. Хранение связки “visitor_id ↔ chat_id” в PostgreSQL Назначение: чтобы точно знать, какому Telegram-пользователю (chat_id) соответствует конкретный visitor_id из Webim.Предложенная таблица (например, chat_mapping): !Тут на усмотрение разработчика! При первом сообщении от нового Telegram-пользователя сервис создаёт запись (если её ещё нет).При callback из Webim с visitor_id сервис ищет запись в chat_mapping.Важно: если предполагается, что один и тот же Telegram-пользователь может иметь несколько различных сессий (и, соответственно, несколько visitor_id), нужно уточнить бизнес-логику. Наиболее распространённый случай: один chat_id ↔ один visitor_id. 4. Технические детали реализации 4.1. Структура проекта (пример на усмотрения разработчика) project/├── app/ │ ├── main.py # Точка входа FastAPI-приложения │ ├── config.py # Функции чтения настроек из БД или .env │ ├── db.py # Подключение к PostgreSQL (SQLAlchemy или psycopg2) │ ├── routers/ │ │ ├── telegram.py # Маршрут /telegram-webhook │ │ └── webim.py # Маршрут /webim-callback │ ├── schemas.py # Pydantic-схемы (валидация входящих данных) │ └── utils.py # Утилиты (отправка сообщений в Webim/Telegram) ├── requirements.txt # Зависимости (FastAPI, uvicorn, psycopg2 и т.д.) ├── README.md # Инструкция по развёртыванию и настройке ├── .env # Переменные окружения (не хранить в Git) └── ... 4.2. Взаимодействие с Webim Отправка входящих сообщений:Из telegram.py после получения chat_id и текста вызывается метод utils.send_to_webim(...).В аргументах передаются:visitor_id (из таблицы chat_mapping или вновь созданный).Текст сообщения.Авторизация по access_token Webim (из таблицы settings или переменной окружения).Приём сообщений (callback):В webim.py обрабатывается JSON с полями visitor_id, message, т. д.Находит в БД chat_id.Отправляет ответ в Telegram методами Bot API. 4.3. Взаимодействие с Telegram Отправка сообщений:Метод sendMessage Telegram Bot API.В качестве chat_id используется значение из chat_mapping.Токен бота читается из settings или переменной окружения.Приём сообщений (Webhook):Endpoint POST /telegram-webhook.Извлекает chat_id, текст и затем направляет сообщение в Webim. 4.4. Логирование Записывать в логи каждое входящее и исходящее сообщение (только факт получения/отправки, без сохранения полного текста в БД).При ошибках (например, Telegram вернул 4xx/5xx или Webim не ответил) логировать детальную информацию об ошибке. 5. Выходные материалы Исходный код в репозитории (Git) со структурой, описанной выше.Файлы миграции или SQL-скрипты:Для создания таблицы settings.Для создания таблицы chat_mapping.Инструкция в формате README.md (или аналог):Установка зависимостей (requirements.txt).Настройка переменных окружения (или заполнение таблицы settings).Запуск приложения (например, uvicorn app.main:app --host 0.0.0.0 --port 8000).Настройка Webhook в Telegram (setWebhook).Настройка Webim (callback URL).Пример полного цикла: пользователь → Telegram → Webim → оператор → Webim callback → Telegram.Тестовая сессия:Проверка, что при новом chat_id сервис корректно создаёт новую запись в chat_mapping.Проверка ответа оператора в Webim и доставки этого ответа в Telegram.Убедиться, что сообщения не сохраняются в БД. 6. Критерии приёмки Функциональность:Сообщения из Telegram доходят в Webim, ответы оператора — в Telegram.Связка visitor_id ↔ chat_id создаётся и поддерживается корректно в БД.Настройки (токены и пр.) считываются из PostgreSQL или .env, согласно требованиям.Стабильность:Приложение обрабатывает множественные запросы без критических сбоев.Логи содержат информацию об ошибках, при сетевых сбоях сервис не падает.Качество кода:Соблюдение PEP8 или аналогичных стандартов.Логичная структуризация (роуты, утилиты, модели/схемы).Документация:Наличие полного руководства по запуску/настройке 1-3 станицы.Примеры API-запросов и сценария тестирования.Сроки и соответствие ТЗ:Все перечисленные задачи выполнены.Предоставлен рабочий прототип, готовый к развёртыванию (при условии корректного наполнения таблицы settings и настройки Webim/Telegram).

Найдено 7011 результат

Python парсер

нужен парсер Python + tkinter визуальная часть , тз опишу в лс главной требование до начало работ протестировать api моего сайта , протестировать на возможность редактировать данный .

Скрипты и боты
Опубликован:
04.01.25 08:25
Бюджет:
4000 руб.~$49.94
Доработка ТГ бота

Есть тг бот который изменяет резюме людей под другой формат резюме, результат присылает в pdf-файл в чат тг, а также сохраняет pdf-файл на гугл диск. Проблема с которой столкнулись это, то что в результате перевода формата через гугл диск из pdf в doc форматирование файла ломается (пропадают таблицы, исчезают строки, данные и.т.д). Также предыдущий исполнитель говорил, что пробовал делать парсинг резюме сразу в формате docx, но проблема была та же самая и форматирование все равно ломалось (тут достоверно не знаю, действительно ли это так). Также если изменять файл pdf в word, через по сути любой web конвертер, то файл остается нормальным. Поэтому считаю, что реализация данного функционала выполнима. 1. Необходимо реализовать сохранение файла на гугл диск в формате docx, либо сделать перевод файла резюме на гугл диске из pdf в doc без поломки. (Первый вариант предпочтительнее). 2. Сейчас файлы на гугл диске сохраняются в папки по направлениям специалистов (front, back, qa). Нужно чтобы при первом формировании файла специалиста, создавалась папка с ФИО специалиста и все файлы с этим ФИО сохранялись в нее при повторном формировании файла Все необходимые файлы, материалы и доступы пришлю исполнителю. Бот написан на python

Скрипты и боты
Опубликован:
04.01.25 07:43
Бюджет:
2500 руб.~$31.21
Переработка интерфейса личного кабинета сотрудника. AgileHR.io

AgileHR.io – это платформа для оценки сотрудников на основе их компетенций и навыков. В рамках развития платформы требуются изменения в личном кабинете пользователя и создание страницы грейдинга для оценки сотрудников.Основные задачи:Обновить экран личного кабинета пользователя для более информативного отображения данных (добавить графики с аналитикой по сотруднику, добавить возможность выставления оценок другими сотрудниками, информация о пользователе)+ покрыть часть функционала автотестами. Разработать страницу грейдинга, которая будет учитывать навыки и компетенции сотрудников.Всё ТЗ готов прислать в ходе обсуждения. Вас будет консультировать по техническим вопросам разработчик, который занимался изначальной реализацией.Срок:2 неделиТребования к разработчику:Frontend:Опыт с Vue3 и Vuex.Понимание работы с RESTful API и Swagger.Backend:Уверенное владение Python на уровне мидл+ и выше.Понимание принципов чистой архитектуры.Умение работать с паттернами проектирования и разными архитектурными подходами.Навык чтения и работы с чужим кодом.

All inclusive
Опубликован:
04.01.25 01:24
Бюджет:
55000 руб.~$686.56
Телеграм-бот на основе скрипта на Python

Необходимо написать бота, который по заданным пользователем адресам будет строить составной маршрут. Скрипт с функционалом есть, необходимо оформить его в виде телеграм-бота. Подробности распишу в readme.Цена договорная

Bots
Опубликован:
03.01.25 20:15
Бюджет:
3000 руб.~$37.45
Перенести код c python на CUDA C

Перенести код c python на CUDA C, в идеале с оптимацией кода, вся суть задачи в максимальном ускорении алгоритма.

Скрипты и боты
Опубликован:
03.01.25 17:20
Бюджет:
20000 руб.~$249.66
Скомпилировать код Python_Kivy в Win10 (проц.AMD) в APK

Мне нужно настроить на моём ПК buildozer, модуль с помощью которого можно компилировать python код в APK файлы для смартфона. Я пишу программку на Python в Kivy и на винде он нормально запускается, но скомпилировать для смартфона не получается. У меня виндовс 10 и процессор AMD Ryzen 5900x. Также у меня есть на другом мини ПК система - Ubuntu 24.04.1 LTS процессор Ryzen2600ю Прилагаю код программы (болванка) логику работы программы я потом пропишу. P.S. Гугление выдаёт решения, но у меня не получается.

Мобильные приложения
Опубликован:
03.01.25 15:39
Бюджет:
6000 руб.~$74.9
Бот в Telegram

Нужен бот обратной связи в Telegram. Написан должен быть на ЯП Python, желательно с использованием aiogram. Думаю суть работы дота вы сами понимаете. В конце выложить бота на сервер Heroku.

Скрипты и боты
Опубликован:
03.01.25 15:14
Бюджет:
1000 руб.~$12.49
Разработать медецинскую CRM систему

Мы запускаем инновационный проект в области информационных технологий, который обещает стать прорывом в своей нише. Наш продукт направлен на решение актуальных задач бизнеса и пользователей с использованием передовых технологий.Задачи команды: Разработка архитектуры и проектирование системы; Создание веб-приложения (фронтенд и бэкенд); Интеграция с внешними сервисами и API; Обеспечение безопасности данных и защита от угроз; Оптимизация производительности и масштабируемости системы; Тестирование и внедрение продукта. Требования к команде: Опыт работы: Опыт разработки коммерческих проектов не менее 3 лет. Технологии: Фронтенд: React/Angular/Vue.js, HTML5/CSS3, JavaScript/TypeScript. Бэкенд: Node.js, Python/Django, Go, Java/Spring. Базы данных: PostgreSQL, MySQL, MongoDB. DevOps: Docker, Kubernetes, CI/CD.Интересует аутсорс или аутстаф. Пишите ваши предложения.Оставляйте ваш телеграм для связи.Предпочтение организациям,так как потребуется обязательное заключение договора с исполнителем.Проект потребуется вести от и до,включая сбор требований ТЗ системная аналитика,разработка и тестирование.Прошу писать только тех кто обладает всеми необходимыми ресурсами.

All inclusive
Опубликован:
03.01.25 13:22
Бюджет:
500000 руб.~$6241.42
Ищу команду на проект

Мы запускаем инновационный проект в области информационных технологий, который обещает стать прорывом в своей нише. Наш продукт направлен на решение актуальных задач бизнеса и пользователей с использованием передовых технологий.Задачи команды: Разработка архитектуры и проектирование системы; Создание веб-приложения (фронтенд и бэкенд); Интеграция с внешними сервисами и API; Обеспечение безопасности данных и защита от угроз; Оптимизация производительности и масштабируемости системы; Тестирование и внедрение продукта. Требования к команде: Опыт работы: Опыт разработки коммерческих проектов не менее 3 лет. Технологии: Фронтенд: React/Angular/Vue.js, HTML5/CSS3, JavaScript/TypeScript. Бэкенд: Node.js, Python/Django, Go, Java/Spring. Базы данных: PostgreSQL, MySQL, MongoDB. DevOps: Docker, Kubernetes, CI/CD.Интересует аутсорс или аутстаф. Цена заказа условная. Пишите ваши предложения сразу в телеграм @forandco

All inclusive
Опубликован:
03.01.25 12:34
Бюджет:
10000 руб.~$124.83
Помощь по питону. Сейчас сразу

День добрый, мне нужна сейчас сразу помощь по PythonТо есть вы ко мне подключаетесь по энидеск, я устанавливаю скрипт питон с гитхаба, вы смотрите и если видите мои ошибки - вы меня поправляете. Цель - скрипт установлен и работает. Оплачиваю 500-700 рублей за 30-60 минут сеанса. Благодарю за внимание и с Наступившим Новым Годом

Consulting
Опубликован:
03.01.25 11:42
Бюджет:
2000 руб.~$24.97
PyTHON скрипт для парсинга через луковицу или i2p

Привет! Нужен парсер на луковице или i2p чтобы можно было отслеживать игры с апи : https://www.sofascore.com/api/v1/sport/football/events/live https://api.sofascore.com/api/v1/sport/football/scheduled-events/2024-12-30 сделать сканирование определенных игр с отправкой ссылок в тг 5к парсер 2к- поддержка

Скрипты и боты
Опубликован:
03.01.25 10:51
Бюджет:
7000 руб.~$87.38
Установка телеграм бота

Есть телеграм бот с инструкцией по установке от разработчика, стек - Docker, Nginx, Certbot, PostgreSQL, Redis, Marzban, Python, aiogram3, FastAPI. Все запускается из докера, сам пробовал запустить, ничего не вышло, ищу специалиста.

Скрипты и боты
Опубликован:
03.01.25 09:40
Бюджет:
1000 руб.~$12.49
Ищем команду для разработки проекта

Мы запускаем инновационный проект в области информационных технологий, который обещает стать прорывом в своей нише. Наш продукт направлен на решение актуальных задач бизнеса и пользователей с использованием передовых технологий.Задачи команды: Разработка архитектуры и проектирование системы; Создание веб-приложения (фронтенд и бэкенд); Интеграция с внешними сервисами и API; Обеспечение безопасности данных и защита от угроз; Оптимизация производительности и масштабируемости системы; Тестирование и внедрение продукта. Требования к команде: Опыт работы: Опыт разработки коммерческих проектов не менее 3 лет. Технологии: Фронтенд: React/Angular/Vue.js, HTML5/CSS3, JavaScript/TypeScript. Бэкенд: Node.js, Python/Django, Go, Java/Spring. Базы данных: PostgreSQL, MySQL, MongoDB. DevOps: Docker, Kubernetes, CI/CD.Интересует аутсорс или аутстаф. Пишите ваши предложения и оставляйте свой телеграм

All inclusive
Опубликован:
03.01.25 07:37
Бюджет:
500000 руб.~$6241.42
Python Selenium Undetected_Chromedriver

Связка такая: Python - Selenium - Undetected_Chromedriver - https://m.ok.ru Скрипт заходит в аккаунт и сохраняет куки... Доп. Вопросы: 1) Какой опыт у вас по Selenium, умеете ли вы использовать прокси, менять юзер агенты, ставить расширение - плагины и т.д. !? 2) Вы работаете каждый день с скольки и до скольки по моск. времени? 3) Готовый ли вы работать всю эту неделю и всю следующую неделю? 4) Будете работать один или с напарником? 5) Потфолио есть?

Десктоп программирование
Опубликован:
03.01.25 07:09
Бюджет:
1000 руб.~$12.49
Написать расширение python/js

Здравствуйте, нужно написать расширение которое выполнит определенные действия на странице для нажатия и прохождения cf captcha на определенных сайтах https://github.com/yoori/flare-bypasser/tree/main/examples/custom_user_commands Прошу не предлагать не ознакимвшись со скриптом где нужно написать расширение

Скрипты и боты
Опубликован:
03.01.25 05:26
Бюджет:
5000 руб.~$62.42
Доработать авторегистратор ключей апи для сервиса ИИ

Уже есть код на языке Python, который раньше нормально работал, но сервис ИИ перестал принимать обычные емейлы с сервиса копеечка и теперь нужно чтобы с копеечки брались только конкретные типы емейлов outlook.com или hotmail.com, при этом код не содержит возможности легко отредактировать параметр вызова через добавление в get_email параметр mail_type=outlook.com - скрипт вешается.... В общем нужно поправить скрипт так чтобы покупались только определенные емейлы...

Скрипты и боты
Опубликован:
02.01.25 22:56
Бюджет:
500 руб.~$6.25
Собрать скрипт для идентификации сотрудников по лицу

Имеются камеры, которые отдают видеопоток. Мимо камер ходят сотрудники. Нужно идентифицировать сотрудников по лицу. Скрипт нужен на python. Работать все должно локально, т.е. не зависеть от внешних ресурсов. Пара статей на тему ) https://neurohive.io/ru/tutorial/raspoznavanie-lica-facenet/ https://xakep.ru/2020/02/06/face-recognition/

Скрипты и боты
Опубликован:
02.01.25 21:10
Бюджет:
50000 руб.~$624.15
Python скрипт

Задача: Создать скрипт для автоматического управления эмуляторами: Создание эмуляторов: Автоматическая генерация новых эмуляторов с уникальными параметрами. Получение их ID сразу после создания для немедленного использования. Работа с эмуляторами: Использование созданных эмуляторов для выполнения задач. Удаление и цикл: Удаление эмуляторов после завершения работы. Автоматическое создание новых эмуляторов вместо удалённых, поддерживая непрерывный цикл. Результат: Непрерывный процесс работы с эмуляторами, без промежуточного хранения ID.

Скрипты и боты
Опубликован:
02.01.25 17:03
Бюджет:
20000 руб.~$249.66
Сделать фронт проекта 5 страниц

Делаем проект, несколько страниц с малым кол-вом функций. до 5 прототипы все есть в фигме только десктоп версия Стек технологий: React + Typescript + MobX, Сборщик vite. Стандартный стек в общем бекенд - python, fast api сообщите цену и сроки

Верстка
Опубликован:
02.01.25 10:41
Бюджет:
2000 руб.~$24.97
Написать тг бота Python+Selenium

Бот для ответов на отзывы на площадке Ozon Seller 1. **Автоматическое получение отзывов**: Бот может периодически проверять новые отзывы на Ozon. 2. **Шаблоны ответов**: Бот может использовать заранее подготовленные шаблоны для ответов на часто встречающиеся комментарии. 3. **Отправка уведомлений**: Бот может уведомлять администратора о важных отзывах, требующих срочного внимания. 4. **Статистика и отчеты**: Создание отчетов о количестве полученных отзывов, ответах и общей оценке. Дать инструкцию как можно установить и запустить бота со своего пк

Скрипты и боты
Опубликован:
01.01.25 19:24
Бюджет:
16000 руб.~$199.73

Текущая страница: 17

Всего страниц: 351