Files
clientsflow/backend/README.md
2026-03-08 19:15:30 +07:00

41 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# backend
Core CRM/omni-домен с единственной Prisma-базой.
## Назначение
- принимает входящие telegram-события через GraphQL mutation `ingestTelegramInbound`;
- создает исходящую задачу через GraphQL mutation `requestTelegramOutbound``telegram_backend`, далее в Hatchet);
- принимает отчет о доставке через GraphQL mutation `reportTelegramOutbound`.
- выполняет sync календарных предзаписей через GraphQL mutation `syncCalendarPredueTimeline`.
## API
- `GET /health`
- `POST /graphql`
## GraphQL auth
Если задан `BACKEND_GRAPHQL_SHARED_SECRET`, запросы на `/graphql` должны содержать заголовок:
- `x-graphql-secret: <BACKEND_GRAPHQL_SHARED_SECRET>`
## Переменные окружения
- `PORT` (default: `8090`)
- `MAX_BODY_SIZE_BYTES` (default: `2097152`)
- `BACKEND_GRAPHQL_SHARED_SECRET` (optional)
- `TELEGRAM_BACKEND_GRAPHQL_URL` (required для `requestTelegramOutbound`)
- `TELEGRAM_BACKEND_GRAPHQL_SHARED_SECRET` (optional)
- `DEFAULT_TEAM_ID` (optional fallback для inbound маршрутизации)
- `TIMELINE_EVENT_PREDUE_MINUTES` (default: `30`)
- `TIMELINE_EVENT_LOOKBACK_MINUTES` (default: `180`)
- `TIMELINE_EVENT_LOOKAHEAD_MINUTES` (default: `1440`)
- `TIMELINE_SCHEDULER_LOCK_KEY` (default: `603001`)
## Prisma policy
- Источник схемы: `frontend/prisma/schema.prisma`.
- Локальная копия в `backend/prisma/schema.prisma` обновляется только через `scripts/prisma-sync.sh`.
- Миграции/`db push` выполняются только в `frontend`.