❓ FAQ: добавил сотрудника, а в боте его нет
Ответ: ничего делать не нужно! Бот обновляется сам каждые 2 минуты.
- Убедись что у сотрудника отмечены услуги в CRM
- Подожди 2 минуты
- Попроси клиента попробовать записаться снова
Кэш очищается автоматически — администратору ничего нажимать не надо.
🏗 Архитектура
CRM (beauty.magboot.ru)
├── Frontend: React + Vite
├── Backend: Node.js + Express
└── База: PostgreSQL
Витрина (crmgrand.ru)
└── React SPA (публичный доступ)
MAX-бот (Telegram)
└── Node.js + @maxhub/max-bot-api
API: http://localhost:3001
🔌 Публичные эндпоинты API
Услуги (без токена):
GET /api/services/public?salon_code=xxx
Возвращает список услуг с залами и ценами
Мастера (без токена):
GET /api/masters?salon_code=xxx
Возвращает мастеров с уровнями
Профиль мастера (без токена):
GET /api/masters/:id?salon_code=xxx
Возвращает профиль с личными ценами
🚀 Установка
1. Клонировать и установить:
git clone [repo]
cd CRM-Beauty
npm install
2. Настроить .env:
DATABASE_URL=postgresql://user:pass@localhost/db
PORT=3001
JWT_SECRET=your-secret
3. Запустить:
npm run dev
📡 Интеграция с ботом
Бот использует публичные эндпоинты без токена:
// Загрузка мастеров
const masters = await axios.get(
`${API_URL}/masters?salon_code=${salonCode}`
);
// Загрузка профиля с ценами
const profile = await axios.get(
`${API_URL}/masters/${id}?salon_code=${salonCode}`
);