🤖 OctaCRM Chatbot Microservice
Микросервис для WhatsApp интеграции OctaCRM:
- AI Chatbot - Автоматические ответы с использованием DeepSeek AI
- Broadcast System - Массовые персонализированные рассылки
- Booking Notifications - Автоматические напоминания о записях
🚀 Быстрый Старт
Установка
npm install
Конфигурация
# Database
DATABASE_URL=postgresql://user:password@host:5432/database
# DeepSeek AI
DEEPSEEK_API_KEY=sk-xxxxxxxx
DEEPSEEK_API_KEY_2=sk-xxxxxxxx
# WhatsApp API
WHATSAPP_ILOVESANZHAR_URL=https://ilovesanzhar.click
# Server
PORT=3001
Запуск
# Development
npm run dev
# Production
npm run build && npm start
🔧 Технологии
- Runtime: Node.js + TypeScript
- Database: PostgreSQL + Drizzle ORM
- AI: DeepSeek API
- WhatsApp: ilovesanzhar API
📡 Webhook API Documentation
Base URL:
https://sophisticated-priscella-promconsulting-5c0f5b4a.koyeb.app
🔗 Регистрация WhatsApp аккаунта
POST /api/webhook/register
Регистрирует или обновляет WhatsApp аккаунт.
{
"accountId": "whatsapp_account_id",
"accountName": "Название аккаунта",
"branch": { "id": "branch_1", "name": "Филиал" },
"organisation": { "id": "org_1", "name": "Компания" },
"systemPrompt": "Промпт для бота"
}
💬 Отправка сообщений
POST /api/webhook/send-message
{
"branchId": "external_branch_id",
"to": "77001234567",
"message": "Текст сообщения"
}
📋 Получение чатов
GET /api/webhook/chats/{branchId}
Получает список чатов филиала.
GET /api/webhook/chats/{branchId}/{phone}/messages
Получает историю сообщений чата.
🤖 Управление ботом
POST /api/webhook/bot/pause
{ "branchId": "branch_1", "phone": "77001234567", "duration": 30 }
POST /api/webhook/bot/resume
⚙️ Настройка филиала
POST /api/webhook/branch/{branchId}/prompt
{ "prompt": "Системный промпт для AI бота..." }
POST /api/webhook/branch/{branchId}/manager-pause
{ "duration": 5 }
📢 Broadcast System
Base URL:
https://sophisticated-priscella-promconsulting-5c0f5b4a.koyeb.app/api/broadcast
POST /api/broadcast/campaigns
{
"name": "Новогодняя акция",
"message": "Скидки до 50%!",
"branchId": "branch_1"
}
GET /api/broadcast/campaigns
POST /api/broadcast/campaigns/{id}/start
GET /api/broadcast/campaigns/{id}/stats
🔔 Booking Notifications
Base URL:
https://sophisticated-priscella-promconsulting-5c0f5b4a.koyeb.app/api/notifications
POST /api/notifications/confirmation
{
"bookingId": "booking_123",
"clientPhone": "77001234567",
"service": "Маникюр",
"date": "2025-12-26T14:00:00Z"
}
POST /api/notifications/reminder-2h
{ "bookingId": "booking_123" }
POST /api/notifications/reminder-1h
POST /api/notifications/test
{ "phone": "77001234567", "message": "Test" }
⚡ Quick Start Guide
1. Зарегистрируйте аккаунт
curl -X POST https://sophisticated-priscella-promconsulting-5c0f5b4a.koyeb.app/api/webhook/register \
-H "Content-Type: application/json" \
-d '{"accountId":"wa_1","branch":{"id":"b1","name":"Office"},"organisation":{"id":"o1","name":"Company"}}'
2. Настройте промпт бота
curl -X POST https://sophisticated-priscella-promconsulting-5c0f5b4a.koyeb.app/api/webhook/branch/b1/prompt \
-H "Content-Type: application/json" \
-d '{"prompt":"Ты - виртуальный администратор салона."}'
3. Отправьте сообщение
curl -X POST https://sophisticated-priscella-promconsulting-5c0f5b4a.koyeb.app/api/webhook/send-message \
-H "Content-Type: application/json" \
-d '{"branchId":"b1","to":"77001234567","message":"Hello!"}'
4. Проверьте статус
curl https://sophisticated-priscella-promconsulting-5c0f5b4a.koyeb.app/health
💡 Совет: Используйте API Endpoints для интерактивного тестирования.