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).

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

Доработать скрипт обработки видео (FFmpeg, Flask)

Нужен специалист для доработки готового кода (в mini app telegram), при успешном выполнении работы возможен переход на долгосрочное сотрудничество.Что необходимо:• Починить ошибки в скрипте обработки видео (стек: Python, FFmpeg, Flask)• Добавить проверку разрешения и длины видео перед обработкой• Реализовать переключение прокси для скачивания видео с YouTube, TikTok и других платформ• Оптимизировать работу с видео высокого разрешения, чтобы не было большой нагрузки на системуОт кандидата ожидаю:• Опыт работы с Python• Умение разбираться в чужом коде и предлагать оптимальные решения• Ответственность и способность выполнять задачи в обозначенные срокиФормат работы:• Удалёнка, гибкий график, начало с проекта

Backend
Опубликован:
27.01.25 17:54
Бюджет:
10000 руб.~$124.83
Создать Телеграм Бота для Благотворительного фонда

Хорошо, давайте адаптируем общую инструкцию под ваш фонд «Содействия Единству» и начнём писать код для чат-бота на основе Telegram Bot API с использованием Python. Адаптация под фонд Содействия Единству: Цели чат-бота: Предоставление информации о фонде и его программах помощи военнослужащим, их семьям и пострадавшим от боевых действий. Сбор пожертвований для поддержки деятельности фонда. Прием заявок на помощь от нуждающихся. Привлечение волонтеров для участия в проектах фонда. Информирование о новостях и мероприятиях фонда. Меню чат-бота (команды): /start - Приветствие и краткое описание фонда. /about - Подробная информация о фонде Содействия Единству, миссии и целях. /programs - Описание программ помощи военнослужащим, их семьям и пострадавшим. /donate - Возможности для пожертвований (с интеграцией платежной системы). /help - Форма для подачи заявки на получение помощи. /volunteer - Информация для волонтеров и форма для регистрации. /news - Новости и отчеты о деятельности фонда. /contacts - Контактная информация. /faq - Ответы на часто задаваемые вопросы.

Скрипты и боты
Опубликован:
27.01.25 17:50
Бюджет:
10000 руб.~$124.83
CRM платформа для нутрициологов (web + app)

Привет. Тех задание: ИИ-платформа для нутрициологов (бета-тест) 1. Описание проекта Нужна простая CRM-платформа для нутрициологов. Врачи смогут вести пациентов, анализировать рацион в реальном времени и давать рекомендации. Проект на стадии бета-теста, приоритет — минимальные затраты и быстрая разработка. 2. Функционал Для врача: - Регистрация (email/телефон). - Карточки пациентов (анкета с 15 параметрами). - Трекинг питания (реальное время, интеграция с приложением). - ИИ-аналитика (паттерны питания, автоматические рекомендации). - Чат с пациентом. Для пациента: - Регистрация (email/телефон). - Анкета (15 параметров). - Синхронизация с трекинг-приложением. - ИИ-рекомендации по рациону и рецептам. - Чат с врачом. 3. Тех требования - Интерфейс: минималистичный, адаптивный. Мобильное приложение уже есть — нужна интеграция отчетов с ИИ-расшифровкой. - Языки: английский, португальский. - Бэкенд: Python (FastAPI/Flask) или Node.js (Express). Или ваш выбор. - Фронтенд: React/Vue.js. Или ваш выбор. - База данных: PostgreSQL/Firebase. Или ваш выбор. - Интеграция с трекинг-приложением. - ИИ-алгоритмы: OpenAI API или готовые решения. 4. Принципы разработки - Использование ChatGPT и шаблонных решений для скорости. - Минимальные затраты, приоритет — скорость разработки. - Чистый код, можно но-код. Срок: до 3 недель. Ждём предложений! [:1f680]

Создание сайта
Опубликован:
27.01.25 16:04
Бюджет:
140000 руб.~$1747.6
Написание API на python для взаимод-я LLM и вебсайта

Описание. Сейчас разрабатывается сайт, один из модулей которого будет тестирование It специалистов (преимущественно разработчиков). Перед началом тестирования разработчик заполняет анкету: карту компетенций, где самостоятельно оценивает какими знаниями и навыками и в какой степени он обладает (стэк технологий и связанного окружения). На основании этой анкеты с помощью чата GPT будут создаваться вопросы для него. Как с вариантами ответа, так и открытые. Так же будут предложены задачи по написанию или исправлению программного кода. На основании ответов их правильности и качества chatgpt будет формировать дополнительные уточняющие вопросы И производить некоторую оценку уровня разработчиков формирования и тестирование промтов это отдельная задача для промт инженеров. Но у chatGPT будут на вход подаваться так же примеры вопросов, вариантов ответов и тд, одобренных экпертами-людьми, чтобы увеличить качество данных вопросов. ТЗ прикреплено.

Десктоп программирование
Опубликован:
27.01.25 15:09
Бюджет:
40000 руб.~$499.32
Разработка каклькулятора на сайт

Time Saving Machine (ООО "Агрегатор") ищет команду разработчиков для реализации на своих сайтах калькулятор расчета стоимости доставки (есть прототип на Гугл-таблицах и кусок кода на Python). Часть сайтов на которых планируется размещение: timesavingmachine.kz, timesavingmachine.ru, timesavingmachine.com, личный кабинет клиентов mytsm.ru. Срок создания 30 календарных дней Вы нас интересуете если вы соответствуете следующим требованиям: - имеете опыт и/или специализацию на создании интерфейсов калькуляторов и можете продемонстрировать работы; - Вас много, вы - команда, полноценный стек (бэкенд, фронтенд, дизайн и верстка, координация всех блоков) - Вы работаете с api или компетентны внедрить решение на сайты с разными архитектурами: Wordpress, Tilda - внедрение способно выдержать нагрузку и не уронить сайт - решение доступно для индексации метриками (например Яндекс с целью отслеживания пользовательских историй) - возможность последующего обслуживания продукта Ключевые навыки для решения задачи в порядке приоритетности: - Python, php, laravel, работа с api, SQL, геокодинг, работа с графами

Доработка и настройка сайта
Опубликован:
27.01.25 12:47
Бюджет:
200000 руб.~$2496.57
Натянуть дизайн Nuxt3.js на api

Нужно готовый шаблон на Nuxt.js привязать API, bkb или создать простой дизайн с bootstrap всего 5 динамических страниц, 4 статических, 10 компонентов. Api написано на python пишите сроки и цену. В приоритете JS(фреймворки) но так же обсуждаются варианты.

Создание сайта
Опубликован:
27.01.25 12:45
Бюджет:
2000 руб.~$24.97
Fullstack-разработчик

Г. Самара Ищем в компанию Fullstack-разработчика. Требования: — Отличные знания Bitrix Framework; — Понимание MySQL, AJAX, JSON, RestAPI, Git, python/Django, vue2/3, PHP; — Опыт интеграций с различными внешними API и сторонними сервисами; — Умение работать и ориентироваться в FIGMA; — Верстка сложных проектов (cssjsvue); — Опыт работы с проектами на Bitrix от 2 лет; — Умение читать и анализировать чужой код; — Готовность работать в команде.

Десктоп программирование
Опубликован:
27.01.25 12:37
Бюджет:
3000 руб.~$37.45
Анализатор кода с визуализацией в формате Blueprint

Хотел бы заказать анализатор кода с визуализацией в формате Blueprint библиотеки dearpygui. Задача программы - визуализация структуры Python проекта в формате Blueprint, реализованной с использованием библиотеки Dear PyGui или другой на выбор. При запуске программы отображается меню, в котором пользователь может указать путь до проекта. * Возможность указать путь через: - Проводник (File Explorer); - Перетаскивание папки/файла (drag-and-drop). * Создание узлов для файлов: Для каждого файла проекта создаётся узел. Узлы разделяются на два уровня детализации: 1 уровень (упрощённый): Отображаются: Импорты; Названия классов; Функции, не находящиеся в классах. 2 уровень (детализированный): Раскрытие узла 1 уровня позволяет увидеть внутреннюю структуру: Классы и их содержимое (методы, атрибуты); Функции и их детали. * Возможность редактирования узлов: Изменение данных (названий, параметров и пр.); Редактирование ссылок (связей) между переменными, функциями и узлами. * Возможность поиска по ключевой фразе: Поиск внутри узлов и между связями. Если нужна более подробная информация или хотите узнать нюансы то можете спрашивать. Прикреплённый файл: test_color.py - пример подсветки кода. Blueprints_menu.py - моя попытка создания анализатора (может кому-то пригодится).

Юзабилити, тесты и помощь
Опубликован:
27.01.25 11:59
Бюджет:
10000 руб.~$124.83
Разработка внутреннего сервиса

Ищем человека, который сможет периодически подключаться к разработке в моменты, когда. Текущая задача: реализовать отображение непрочитанных сообщений. Все ломается на создании второй базы данных. Починить не выходит. Стек: Python, Quart, SQLAlchemy, Telethon. Задачи: работа с Telegram API, асинхронные WebSocket-соединения, рендеринг HTML-шаблонов. В отклике пишите примерную цену.

Доработка и настройка сайта
Опубликован:
27.01.25 11:49
Бюджет:
4000 руб.~$49.94
Python программист

есть скрипт который автоматический публикует статьи на сайт DTF после публикации надо чтоб было один просмотр этого скрип не делает более подробно обсудим в чате

Скрипты и боты
Опубликован:
27.01.25 11:13
Бюджет:
500 руб.~$6.25
Обучения db.sqlite3

1...Показать как сложить все суммы от одного пользователя. 2...Как в телеграм по запросу выводить данные пользователя? 3...Как вносить данные в базу через телеграмм? Консультация постоянно нужна django python 3 aiogram 2

Юзабилити, тесты и помощь
Опубликован:
27.01.25 10:51
Бюджет:
1000 руб.~$12.49
Разработка проекта в HR направлении

Всем привет! Проект - агрегатор вакансий с различных работных сайтов. Чат-бот на AI, задачей бота будет автоматизация HR-функций как для соискателя так и для компаний. Он написан на Python и реализован в виде Telegram-бота. Ищу разработчика, который сможет взять на себя ответственность за техническую часть проекта. Делать нужно будет не с 0. Всю структуру покажу на личной встрече и опишу задачу. Реализовывать нужно будет быстро и максимально эффективно. Ищу исполнителя с опытом реализации подобных проектов. на данный момент ищу в проект ребят на две позиции:1. Промт инженер2. Спец по интеграциям и разработке чат ботов Основные задачи включают:Изменение сценария бота в соответствии с техническим заданием (ТЗ)Исправление багов и ошибокВнесение доработок и улучшенийПоддержка и обновление функционалаВ приоритете:Опыт работы с PythonУмение работать с базами данныхПонимание принципов REST APIОтветственность и способность работать самостоятельноЕсли заинтересованы и готовы к сотрудничеству, пожалуйста напишите здесь или в тг. Оплата обсуждаема как фикс так и за выполненную работу. Заранее спасибо за отклик.

Backend
Опубликован:
27.01.25 10:50
Бюджет:
10000 руб.~$124.83
Скрипт для Bitget. Python

Необходимо составить скрипт в Python для открытия ордера на спотовом рынке. 1. Биржа Bitget 2. Скрипт включает в себя параметры для подключения по API 3. Скрипт включает в себя параметры для размещения ордера(валюта, цена покупки, колличество)

Скрипты и боты
Опубликован:
27.01.25 10:15
Бюджет:
1000 руб.~$12.49
Разработка Telegram-бота для межбиржевого арбитража криптовалют

Нужен Telegram-бот для анализа и мониторинга разницы цен (спредов) между криптовалютными биржами. Бот должен быть удобным в использовании, предоставлять точные расчеты с учетом комиссий, объемов и рисков, а также иметь гибкие настройки через Telegram.Функционал бота:1. Мониторинг цен между биржами:1. Сбор данных с нескольких бирж (например, Binance, ByBit, Bitget).2. Расчет разницы цен (спредов) между биржами.3. Учет комиссий за торговлю и перевод активов.4. Вывод чистой прибыли с учетом всех издержек (в долларах и процентах).Требования к разработчику:Уверенное владение Python.Опыт работы с API криптовалютных бирж (использование библиотеки ccxt будет преимуществом).Опыт разработки Telegram-ботов с использованием aiogram или python-telegram-bot.Умение обеспечить безопасность работы с API-ключами.Пожалуйста, укажите в отклике:Примеры ваших Telegram-ботов или других проектов, связанных с криптовалютами.Ваши сроки выполнения и стоимость разработки.Опыт работы с арбитражными или аналитическими проектами.

Bots
Опубликован:
27.01.25 09:19
Бюджет:
50000 руб.~$624.15
Нужна консультация по работе с API

Нужна консультация по использованию вебсайта для отправки API запросов.Требования: опыт работы с отправкой HTTP запросов с вебстраниц из JavaScript или server-server коммуникаций с использованием python, nodejs, java, c#, etc.Желательно:Опыт работы в командеТребования:Наличие рабочего микрофона, широкополосного быстрого интернета и Zoom.Продолжительность 30-60мин.начало проекта:Понедельник, 27 в 20:00 (сегодня)

Backend
Опубликован:
27.01.25 08:27
Бюджет:
1000 руб.~$12.49
Разработка системы для анализа данных из форм обратной связи

Ключевые навыки: Python (requests, BeautifulSoup, selenium) или Node.js (axios, puppeteer).Веб-скрапинг : парсинг HTML, анализ сетевых запросов, обход защиты (AJAX, JavaScript).Работа с CAPTCHA : интеграция сервисов 2Captcha, Anti-Captcha.Telegram Bot API : настройка ботов, отправка данных в чаты и ссылки.Проверка данных : проверка формы телефонных номеров по международным стандартам.Безопасность данных : HTTPS, токены, API-ключи для ограничения доступа.Тестирование : нагрузочные тесты, проверка корректности парсинга и передачи данных.Развёртывание : установка системы на сервере, настройка Диптихов и логирования.Аналитика : сбор статистики, визуализация данных о работе системы.Оптимизация производительности : эффективная обработка большого объема запросов. Разработать систему управления соц фишинга с веб-сайтовСоздание парсера для сбора данных из форм обратной связиРеализовать Telegram-бота для передачи собранных номеров телефоновНастроить интеграцию системы сбора данных с Telegram-каналомРазработка системы обхода CAPTCHA для сбора данныхСоздание механизма проверки валидности номеров телефонов (по рабочей форме)Сбор и визуализация статистики успешных и неуспешных сборов данныхРазвернуть и протестировать систему сбора номеров телефоновИнтеграция шифрования данных и ограничение доступа через API-ключиТестирование и оптимизация системы сбора номеров телефонов для большого потока данныхОбход сигналов через формы обратной связи (JavaScript/AJAX, CAPTCHA)Реализация автоматической регистрации отправок номеров телефонов в TelegramСоздание пользовательской статистики для анализа источников данныхНастроить систему и систему логирования работы сбора номеров

Bots
Опубликован:
27.01.25 06:23
Бюджет:
20000 руб.~$249.66
Создание парсера Mini App Telegram

Нужно создать программу (пойдет любой язык, но желательно python/js. Нужно спарсить раздел Activity в Mini App https://t.me/Tonnel_Network_bot?profile. Нужно получить список купленных подарков, их цены в долларах (учитывая курс TON на момент продажи), характеристики подарка (название, модель, фон, узор). Выгрузить нужно в json/что то подобное

Скрипты и боты
Опубликован:
27.01.25 06:14
Бюджет:
4000 руб.~$49.94
Изменить скрипт Python

Необходимо изменить скрипт который написан на Python. В крации распишу изначально суть данного скрипта . Данный скрипт при помощи команд Powershell генирирует изображания из exe фото. Нам нужно что бы при отправке фото в котором будет чертеж на обьекты наши (местораждения) при открытии фото сразу запустился и установился nanocad. Так как на местораждении у нас проблемы с интернетом и выделяется за месяц только 20 ГБ, прямые скачивания не подходят. Использовать флешки и другие носители так же не разрешаются. На данный момент скрипт работает , вот только если отправить фото и открыть, программа открывается только на том ПК где сгенирирована фото. Что бы создать фото на ПК: Нужно что бы на ПК где генерируется чертеж -изображении был установлен Python, сам скрипт и изражение. А вот когда отправляешь уже сгенирированное фото на другое пк и отправаешь фото, то программа открывается не у него, а на ПК где был сгенирирован jpg

Скрипты и боты
Опубликован:
27.01.25 05:08
Бюджет:
10000 руб.~$124.83
Нужен человек, который умеет работать с Python

Нужен человек, который умеет работать с Python, aiogram 3x, OpenAI API, PyTorch, aiohttp, requests, FastAPI, Flask, Django, git, имеет опыт с интеграцией платежных систем.Беру на постоянку!Заказе пишите опыт работы, ссылки на проекты с портфолио

Bots
Опубликован:
27.01.25 03:29
Бюджет:
20000 руб.~$249.66
Выполнить вариант на платформе по курсу, несколько заданий: sql,python

Нужно выполнить несколько заданий по варианту и выгрузить папкой-архивом на гитлаб.1 задание связанно с программированием на языке python 2 задание сделать sql 3 задание будет опять связанно с pythonВсе это нужно выгрузить на гитлаб по инструкции, сделав правильные ветки.

Other
Опубликован:
26.01.25 20:09
Бюджет:
20000 руб.~$249.66

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

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