Вход Блог
Строительство и ремонт
Репетиторы
Красота
Фрилансеры
Разные специалисты
Уход за животными
Тренеры
Автоинструкторы

IT-аутсорсинг — удалённая работа в Москве

Дата: 2025-12-03
Детали
Регион
Москва
Занятость
дистанционно
Стоимость
договорная
Дата публикации
2025-12-03
Описание
Создание ТГ-Бота. Техническое задание на Telegram-бота Общие требования Язык и фреймворк: TypeScript, библиотека Telegraf.js. Хранение данных: база данных компании PostgreSQL. Тестовые данные YooKassa: укажите пример тестовых ключей/токена. Интеграция: с Битрикс24 и с информационной системой «Global Monitoring». Сценарий взаимодействия Старт бота. При получении /start бот отправляет приветствие: «Здравствуйте! Для оформления подписки на ценовой обзор выберите рынок.» – После этого выводит кнопки InlineKeyboard с вариантами рынков: Рынок свинины, Рынок говядины, Рынок баранины, Рынок ЦБ, Рынок индейки, Рынок утки, Рынок яиц. Выбор рынка. Пользователь нажимает кнопку с названием рынка. Бот сохраняет выбранный рынок в сессии пользователя и переходит к следующему шагу. Выбор срока подписки. Бот отправляет сообщение: «Выберите необходимый срок подписки:» – Предлагает кнопки с вариантами: «1 месяц – 9 200 ₽» «3 месяца – 24 840 ₽» «6 месяцев – 41 400 ₽» «12 месяцев – 57 600 ₽» Пользователь выбирает один вариант. Бот сохраняет выбранный срок (например, 1, 3, 6 или 12 месяцев) и подтверждает выбор сообщением: «Вы выбрали подписку на N месяцев.» Запрос ФИО. Бот просит ввести полные ФИО: «Пожалуйста, укажите Ваши Фамилию, Имя и Отчество.» – Пользователь отправляет сообщение с ФИО. Бот проверяет корректность (минимально наличие двух слов). Запрос E-mail, телефона и компании (при наличии). Последовательно бот запрашивает: «Укажите адрес электронной почты (E-mail):» – после ввода проверяет формат e-mail (регулярным выражением). Если формат неверный, просит ввести снова. «Укажите номер телефона (пример: +7 123 456-78-90):» – проверяет формат телефона (+7 или 8 и цифры). Если формат неверный, просит ввести снова. «Укажите наименование компании (необязательно) (пример: ООО «Рога и копыта»):» – пользователь отправляет сообщение с наименованием компании или нажимает кнопку «Пропустить». Подтверждение введенных данных. Бот выводит сводку введённых данных и предлагает подтвердить: «Проверьте, пожалуйста, введённые данные.» Данные: ФИО, E-mail, телефон, компания, выбранный рынок и срок подписки (N месяцев). – Внизу две кнопки: «Подтвердить» и «Отмена». Корректировка данных. Если пользователь нажал «Отмена»: Бот спрашивает, что нужно изменить (например, через меню кнопок или повторным запросом): «Что вы хотите изменить?», варианты виде кнопок InlineKeyboard: «Рынок», «Срок», «ФИО», «E-mail», «Телефон», «Компания». После выбора поля бот запрашивает новое значение (аналогично первому вводу) и обновляет сохранённые данные. *** Затем снова показывает обновлённую сводку с кнопками «Подтвердить» и «Отмена». || На это шаге бот отправляет запрос в bitrix на формирование карточки ЛИДа следующие данные: «ФИО»*, «E-mail»*, «Телефон»*, «Компания» и «ID_user». После подтверждения данных, бот предлагает выбрать платежную систему для оплаты подписки: «Выберите способ оплаты:» – Внизу две кнопки: «ЮKassa (Россия)» и «...? (Другие страны)» После выбора способа оплаты бот вызывает метод для отправки счета через выбранную платежную систему (например ЮKassa). После вызова бот отправляет пользователю сообщение с кнопкой «Оплатить X руб.». Обработка платежа. Пользователь нажимает «Оплатить» и проходит процедуру оплаты. После успешной оплаты бот получит сообщение об оплате. По этому событию бот должен завершить оформление: активировать подписку пользователя. Записать в памяти дату окончания (текущая дата + N месяцев). || На это шаге бот отправляет запрос в bitrix на перенос карточки ЛИДа в карточку ЗАВЕРШЕННАЯ СДЕЛКА. || Также бот отправляет запрос на автоматическую регистрацию учетной записи в информационной система «Global Monitoring». – После успешной оплаты бот отправляет пользователю следующие сообщения: «Спасибо, оплата прошла успешно! Подписка на ценовой обзор активирована на N месяцев. Дата окончания подписки: YYYY-MM-DD. | За 7 дней до окончания подписки (и после каждый день до окончания), пользователю автоматически присылать сообщение: «Уважаемый пользователь! Срок действия подписки на ценовой обзор рынка N заканчивается через N дней – YYYY-MM-DD. Оформите подписку заново, чтобы и дальше получать актуальную информацию. *файл с ЦО.pdf» || Бот по запросу к API информационной системы «Global Monitoring» получает последний загруженный файл с ценовым обзором выбранного рынка. (Параметр N и дата расчёта указывается динамически на основе выбора пользователя.) «Также для вас автоматически была создана учетная запись в информационной системе «Global Monitoring». Данные для входа: Логин(e-mail) и пароль: *** (автоматическая генерация на стороне информационной системе «Global Monitoring») Ссылка для входа: https://website.ru/.» Панель администратора бота Старт бота. При получении /start бот отправляет приветствие: «Здравствуйте! Выберите действие:» – После этого выводит кнопки InlineKeyboard с вариантами управления: Управление рынками, Управление тарифами, Включение/отключение платежей, Экспорт пользователей в CSV, Просмотр логов, Назад Управление рынками. Администратор нажимает на кнопку «Управление рынками». Бот отправляет сообщение: «Выберите действие:» – Предлагает кнопки с вариантами: Добавить рынок, Редактировать рынок, Назад – Администратор выбирает «Добавить рынок». Бот просит ввести название рынка: «Пожалуйста, укажите название рынка (например, Свинина)» – Администратор отправляет сообщение с названием рынка. Бот сохраняет название рынка и подтверждает сообщением: «Вы добавили рынок X.» | Бот предлагает кнопки с вариантами: Панель управления, Управление рынками – Администратор выбирает «Редактировать рынок». Бот выводит кнопки InlineKeyboard с вариантами рынков: Рынок свинины, Рынок говядины, Рынок баранины, Рынок ЦБ, Рынок индейки, Рынок утки, Рынок яиц, Назад – Администратор выбирает необходимый рынок. Бот выводит кнопки InlineKeyboard с вариантами действий: Переименовать рынок, Удалить рынок, Включить/Отключить рынок, Назад – Администратор выбирает «Переименовать рынок». Бот отправляет сообщение: «Пожалуйста, укажите новое название рынка X» | (где X – выбранный рынок) – Администратор отправляет сообщение с новым названием рынка. Бот сохраняет новое название рынка и подтверждает сообщением: «Вы переименовали рынок X в рынок Y.» | (где Y – новое название рынка) Бот предлагает кнопки с вариантами: Панель управления, Управление рынками, Назад – Администратор выбирает «Удалить рынок». Бот выводит кнопки InlineKeyboard с вариантами рынков: Рынок свинины, Рынок говядины, Рынок баранины, Рынок ЦБ, Рынок индейки, Рынок утки, Рынок яиц. – Администратор выбирает необходимый рынок. Бот выводит сообщение: «Вы действительно хотите удалить рынок?» – Предлагает кнопки с вариантами: Да, Отмена – Администратор выбирает вариант «Да». Бот выводит сообщение: «Рынок X удален» Бот предлагает кнопки с вариантами: Панель управления, Управление рынками – Администратор выбирает вариант «Отмена». | Возвращается на шаг «Редактировать рынок» – Администратор выбирает «Включить/Отключить рынок». Бот выводит кнопки InlineKeyboard с вариантами рынков: Рынок свинины, Рынок говядины, Рынок баранины, Рынок ЦБ, Рынок индейки, Рынок утки, Рынок яиц, Назад | Напротив каждого наименования рынка будет находиться emoji, который показывает текущее состояние рынка: ✔ – рынок включен, × – рынок выключен. При клике на рынок будет меняться его состояние. Если был включен ✔, то при нажатии статус изменится на ×. Управление тарифами. Администратор нажимает на кнопку «Управление тарифами». Бот отправляет сообщение: «Выберите действие:» – Предлагает кнопки с вариантами: Добавить тариф, Редактировать тариф, Назад – Администратор выбирает «Добавить тариф». Бот просит ввести название рынка: «Пожалуйста, укажите название тарифа (например, 9 месяцев)» – Администратор отправляет сообщение с названием тарифа. Затем бот запрашивает стоимость тарифа: «Пожалуйста, укажите стоимость тарифа (например, 53820)» – Администратор отправляет сообщение со стоимостью тарифа. Бот сохраняет название название тарифа и стоимость и подтверждает сообщением: «Вы добавили новый тариф X – Y» | (где X – название тарифа, Y – стоимость тарифа) Бот предлагает кнопки с вариантами: Панель управления, Управление тарифами – Администратор выбирает «Редактировать тариф». Бот выводит кнопки InlineKeyboard с вариантами тарифа: 1 месяц – 9 200 ₽, 3 месяца – 24 840 ₽, 6 месяцев – 41 400 ₽, 12 месяцев – 57 600 ₽, Назад – Администратор выбирает необходимый тариф. Бот выводит кнопки InlineKeyboard с вариантами действий: Переименовать тариф, Удалить тариф, Включить/Отключить тариф, Назад – Администратор выбирает «Переименовать тариф». Бот отправляет сообщение: «Пожалуйста, укажите новое название тарифа X» | (где X – выбранный тариф) – Администратор отправляет сообщение с новым названием тарифа. Затем бот запрашивает стоимость тарифа: «Пожалуйста, укажите новую стоимость тарифа Y» | (где Y – стоимость тарифа) Бот сохраняет новое название тарифа и подтверждает сообщением: «Вы переименовали рынок X в рынок Z.» | (где Z – новое название тарифа) Бот предлагает кнопки с вариантами: Панель управления, Управление тарифами, Назад – Администратор выбирает «Удалить тариф». Бот выводит кнопки InlineKeyboard с вариантами тарифов: 1 месяц – 9 200 ₽, 3 месяца – 24 840 ₽, 6 месяцев – 41 400 ₽, 12 месяцев – 57 600 ₽, Назад – Администратор выбирает необходимый тариф. Бот выводит сообщение: «Вы действительно хотите удалить тариф X?» | (где X – выбранный тариф) – Предлагает кнопки с вариантами: Да, Отмена – Администратор выбирает вариант «Да». Бот выводит сообщение: «Тариф X удален» Бот предлагает кнопки с вариантами: Панель управления, Управление тарифами – Администратор выбирает вариант «Отмена». | Возвращается на шаг «Редактировать тариф» – Администратор выбирает «Включить/Отключить тариф». Бот выводит кнопки InlineKeyboard с вариантами тарифов: 1 месяц – 9 200 ₽, 3 месяца – 24 840 ₽, 6 месяцев – 41 400 ₽, 12 месяцев – 57 600 ₽, Назад | Напротив каждого наименования тарифа будет находиться emoji, который показывает текущее состояние тарифа: ✔ – тариф включен, × – тариф выключен. При клике на тариф будет меняться его состояние. Если был включен ✔, то при нажатии статус изменится на ×. Управление Включением/отключением платежей; – Администратор выбирает «Включение/Отключение платежей». Бот выводит сообщение: «Вы действительно хотите отключить платежи?» – Предлагает кнопки с вариантами: Да, Отмена – Администратор выбирает вариант «Да». Бот выводит сообщение: «Платежи отключены» – Администратор выбирает вариант «Отмена». | Возвращается на шаг «Выберите действие» Если платежи были отключены → – Администратор выбирает «Включение/Отключение платежей». Бот выводит сообщение: «Вы действительно хотите включить платежи?» – Предлагает кнопки с вариантами: Да, Отмена – Администратор выбирает вариант «Да». Бот выводит сообщение: «Платежи включены» – Администратор выбирает вариант «Отмена». | Возвращается на шаг «Выберите действие» Управление Экспортом пользователей в CSV; – Администратор выбирает «Экспорт пользователей в CSV». Бот присылает файл: «*файл.csv» | Файл включает в себя набор полей: ФИО, e-mail, телефон, компания, рынок, срок, дата начала подписки, дата окончания подписки. – Предлагает кнопки с вариантами: Да, Отмена Просмотр логов в боте. (Время хранения ~ 7 дней) 1. Бизнес-события (выбор рынка, выбор тарифа, подтверждение данных, создание лида в Bitrix, успешная генерация учётки в Global Monitoring, активация подписки. Важно — логировать какое действие и какие агрегированные данные (например: рынок=«Свинина», срок=3 мес), а не полные необработанные входящие сообщения.) 2. Платежи (Создание счета, переход к оплате, callback от ЮKassa (webhook), успешная/неудачная оплата, id транзакции, сумма, статус. Логируйте события с привязкой к user_id / order_id / correlation_id и временем.) 3. Интеграции (Запросы/ответы к Bitrix24, Global Monitoring, ЮKassa: endpoint, method, status_code, duration_ms, request_id/transaction id, краткий body.) 4. Аудит (Авторизация администратора, изменение тарифов/рынков, включение/отключение платежей, экспорт CSV — кто, когда, какие поля изменил.) 5. Ошибки (Необработанные исключения, таймауты внешних API, ошибки базы — stacktrace, состояние операции, context (user_id, correlation_id).)
Похожие заказы

IT-аутсорсинг

дистанционно
договорная
Обслуживание оборудования. Мне необходимо поговорить с Вами.
Москва Фрилансеры

IT-аутсорсинг

дистанционно
договорная
Обслуживание оборудования. Разработка чат-ботов. Разработка с нуля.
Воронеж Фрилансеры

IT-аутсорсинг

дистанционно
договорная
Партнерство. Партнерство. Партнерство. Пожелания и особенности: Ищем партнеров для долгосрочного сотрудничества. Юридическая компания PEDAN CONSULT GROUP предлагает взаимовыгодное сотрудничество специалистам и компаниям, работающим с бизнесом. Наши основные направления: • юридическое сопровождение бизнеса; • договоры и претензии; • судебные споры; • 115-ФЗ; • товарные знаки и интеллектуальная собственность; • маркетплейсы. Предлагаем: ? 15% от каждого оплаченного клиентом чека; ? своевременные выплаты; ? взаимный обмен клиентами; ? долгосрочное сотрудничество. Будем рады сотрудничеству с бухгалтерами, маркетологами, бизнес-консультантами, IT-специалистами, кадровыми агентствами и другими специалистами, чья аудитория может нуждаться в юридической поддержке бизнеса. Если вам интересно партнерство на постоянной основе — пишите, обсудим детали.
Москва Фрилансеры

IT-аутсорсинг

договорная
It инженер. Организация автоматизированных рабочих мест. Доработка существующего продукта. Пожелания и особенности: Происходит переезд офисных сотрудников в рамках одного здания, необходимо перенести, подключить, диагностировать, настроить оборудование, принтеры, компьютеры. Подключить три свитча, провести слаботочный каскад от сервера на втором этаже к свитч у на первый этаж, кинуть 12 линий патчкордов от сервера под офисным секционным потолком, всего рабочих мест 12, метров кабеля 200, у нас есть кабель и коннекторы, необходимо диагностировать все линии, настроить работу всего оборудования, что бы на следующий день сотрудники могли работать на новых местах.
Москва Фрилансеры

IT-аутсорсинг

дистанционно
договорная
Обслуживание оборудования. Системное программирование. Обслуживание кассового оборудования эватор. Пожелания и особенности: Требуются обслуживание касс эвотор дистанционно.
Новосибирск Фрилансеры

IT-аудит

дистанционно
договорная
Проанализировать IT-инфраструктуру и выявить слабые места.
Москва Фрилансеры

IT-аутсорсинг

договорная
Обслуживание оборудования. Барахлит вывод домашнего интернета (wifi). Основной ноут видит сеть, но не выводит. Диагностика видит сеть, но многократная перезагрузка сетевого адаптера ничего не дала. Потом отвалился от интернета и второй ноут. После того, как МТС удаленно перезагрузил роутер, второй ноут заработал. Первый (основной) отказывается работать. Пока подозрение на сетевой адаптер у него (модуль wifi): барахлит драйвер или же аппаратно сам модуль (нужно поменять). Как-то так, если кратко....
Москва Фрилансеры