Загрузка данных
Техническое задание на разработку API-интеграции чат-ботов для сайта med.mackrof.ru
1. Общая информация
Название проекта: API-интеграция двух чат-ботов (Терапевт и Ветеринар) для сайта med.mackrof.ru Платформы: Серверная версия + Telegram-бот Цель: Интеграция двух готовых чат-ботов в сайт через API, без использования виджета. Боты работают на сервере и доступны как через сайт, так и через Telegram.
2. Основные требования к API
2.1. Функциональные требования
● API должно обеспечивать связь между сайтом med.mackrof.ru и двумя серверными чат-ботами:
○ Бот-терапевт (для медицинских консультаций людей)
○ Бот-ветеринар (для консультаций по здоровью животных)
● Должен быть реализован единый API-эндпоинт для отправки и получения сообщений от обоих ботов.
● Запросы с сайта должны передаваться в API, которое направляет их нужному боту в зависимости от контекста.
● Telegram-бот должен использовать тот же API, чтобы работать на одном движке с сайтом.
● Логирование всех запросов и ответов.
● Обработка ошибок и возврат статусов HTTP.
2.2. Входные данные (Запросы к API)
● Метод: POST
● URL: https://api.med.mackrof.ru/chatbot
● Заголовки:
○ Content-Type: application/json
○ Authorization: Bearer {API_KEY}
● Тело запроса (JSON):
{
"session_id": "{уникальный ID сессии}",
"platform": "web" | "telegram",
"user_id": "{ID пользователя}",
"bot_type": "therapist" | "veterinarian",
"message": "{Текст вопроса}"
}
2.3. Выходные данные (Ответ от API)
● Формат: JSON
● Структура ответа:
{
"session_id": "{уникальный ID сессии}",
"user_id": "{ID пользователя}",
"bot_type": "therapist" | "veterinarian",
"message": "{Ответ от бота}",
"status": "success"
}
● Ошибки API:
{
"status": "error",
"message": "Ошибка обработки запроса"
}
3. Логика работы API
1. Пользователь отправляет запрос через сайт или Telegram-бот.
2. Запрос передается API, где анализируется параметр bot_type.
3. API направляет запрос нужному боту (терапевту или ветеринару).
4. Бот формирует ответ и передает его обратно в API.
5. API отправляет ответ пользователю (на сайт или в Telegram).
6. Логирование всех взаимодействий сохраняется на сервере.
4. Безопасность
● Использование JWT-токенов для авторизации запросов.
● Ограничение запросов по IP (Rate Limiting).
● Шифрование данных (TLS 1.2+).
5. Тестирование и развертывание
● Этап 1: Разработка и тестирование API на тестовом сервере.
● Этап 2: Интеграция API с обоими ботами (терапевтом и ветеринаром).
● Этап 3: Тестирование корректной маршрутизации запросов к нужному боту.
● Этап 4: Развертывание и настройка логирования.
6. Сроки выполнения
● Разработка API и тестирование – 12 дней.
● Интеграция с Telegram и сайтом – 5 дней.
● Отладка, логирование, финальное тестирование – 5 дней.
● Общий срок: 22 дня.
БОТ 1
В соответствии с Договором Исполнитель обязуется оказать, а Заказчик принять и оплатить следующие Услуги:
разработка, наполнение и развертывание веб-бота и Telegram-бота для консультаций на сайте Заказчика и в мессенджере Telegram (далее – Услуги).
Подробное описание Услуг:
Веб-бот:
Создание бота для размещения на сайте Заказчика.
Функционал включает:
Проведение терапевтических консультаций.
Запись пользователей на приём.
Предоставление ссылок на покупку рекомендованных товаров.
Навигацию по сайту.
Telegram-бот:
Создание Telegram-бота, который дублирует функции веб-бота.
Telegram-бот создается на аккаунте, зарегистрированном Заказчиком через BotFather.
Технические требования:
Платформа и сервер для работы веб-бота выбираются Исполнителем по своему усмотрению.
Для Telegram-бота используются библиотеки aiogram или pyTelegramBotAPI.
Базы данных для хранения информации: PostgreSQL/MySQL.
Сервер: постоянный доступ к интернету.
Интеграция с GPT через предоставленные Заказчиком API-ключи.
Необходимые материалы от Заказчика:
API-ключи для работы с GPT.
Учётные данные для серверов (или оплата аренды сервера).
Телефонные номера и аккаунты Telegram Premium для работы бота.
Материалы и сценарии для обучения бота (включая типовые запросы, ответы, данные для рекомендаций).
Срок предоставления материалов Заказчиком:
Заказчик обязуется предоставить все необходимые материалы, указанные в п. 4, в течение 5 (пяти) рабочих дней с момента подписания настоящего Приложения.
Исполнитель вправе приостановить выполнение работ до получения всех необходимых данных.
Исполнитель обязуется обучить Заказчика работе с ботами:
Предоставление обучающей видеоинструкции.
Консультации по настройке функционала.
Все вопросы и уточнения, касающиеся выполнения работ, ведутся через переписку по электронной почте:
Исполнитель: artemdemdoff@yandex.ru
Заказчик: __________.
2. Сроки выполнения
Срок оказания Услуг по данному Приложению составляет 1 (один) месяц с момента оплаты авансовой части.
3. Гарантии и защита
Исполнитель гарантирует выполнение всех заявленных функций бота, описанных в Приложении, в течение срока, указанного в договоре.
Исполнитель обязуется исправлять любые ошибки, обнаруженные в работе бота, в течение 3 (трёх) рабочих дней с момента получения уведомления от Заказчика.
Период предоставления бесплатной технической поддержки для исправления ошибок составляет 1 (один) месяц с даты передачи бота Заказчику.
Исправление ошибок, возникших из-за изменений, внесённых Заказчиком самостоятельно или третьими лицами, в рамках гарантийных обязательств не осуществляется.
Исполнитель оставляет за собой право предлагать услуги дополнительной поддержки и модификации бота на условиях, согласованных с Заказчиком.
4. Конфиденциальность и безопасность данных
Стороны обязуются сохранять конфиденциальность всей информации, переданной в ходе выполнения настоящего Приложения, и не разглашать её третьим лицам без предварительного письменного согласия другой стороны.
Все данные и доступы, переданные в рамках настоящего Приложения, должны использоваться исключительно для выполнения обязательств по договору.
В случае утечки данных стороны обязуются уведомить друг друга в течение 24 часов.
5. Описание функционала (Техническое задание)
Основной функционал веб-бота:
Проведение консультаций.
Запись на приём с уведомлением Заказчика.
Предоставление рекомендаций и ссылок на покупку товаров.
Помощь с навигацией по сайту.
Основной функционал Telegram-бота:
Ответы на вопросы пользователей.
Предоставление рекомендаций и ссылок.
Напоминания о записи на приём.
Технические требования:
Язык программирования: Python.
База данных: PostgreSQL/MySQL.
Веб-бот: Flask/Django.
Telegram-бот: библиотеки aiogram или pyTelegramBotAPI.
Сервер: постоянный доступ к интернету.
.