Концепции, ценность и типичные сценарии клонирования — меньше кода.
Концепции, ценность и типичные сценарии клонирования — меньше кода.
Підготовка контенту платформи Ring
Підготовка контенту платформи Ring
Підготовка контенту платформи Ring
AI-управляемый CRM для публичных почтовых ящиков (например info@example.com). Входящая почта классифицируется и собирается в треды; Claude формирует черновики ответов; админы утверждают отправку и видят расходы API.
EN canonical: полные диаграммы, таблицы API и runbook — Email AI-CRM (EN) · Архитектура · API · Гайд разработчика
| Слой | Ответственность |
|---|---|
| Сбор | Cron POST /api/cron/email-processor (action: poll) или webhook |
| Процессор | services/email/email-processor.ts — parse, security, AI, CRM |
| Хранение | PostgreSQL JSONB: email_threads, email_contacts, email_messages, email_drafts, email_tasks, email_api_usage |
| Исходящие | EmailSenderService (nodemailer), In-Reply-To / References |
| Админ UI | inbox, drafts, contacts, analytics, tasks |
Message-ID не обрабатывается дважды.EMAIL_AUTO_SEND_ENABLED=false до SMTP smoke test.EMAIL_PROCESSOR_AUTOSTART).auth() + isPlatformAdmin на /api/admin/email/*.| Маршрут | Назначение |
|---|---|
/{locale}/admin/crm/inbox | Список тредов |
/{locale}/admin/crm/inbox/[id] | Детали треда + сообщения |
/{locale}/admin/crm/drafts | Черновики AI — approve / reject / send |
/{locale}/admin/crm/contacts | CRM-контакты |
/{locale}/admin/crm/analytics | Объём, intent/sentiment, стоимость API |
/{locale}/admin/crm/tasks | Follow-up и эскалации |
| Миграция | Таблицы |
|---|---|
009_email_crm_jsonb.sql | email_threads, email_contacts, email_messages, email_drafts |
010_email_crm_tasks_jsonb.sql | email_tasks, email_api_usage |
Добавьте в .env.local (см. env.local.template, блок EMAIL CRM):
| Переменная | Описание |
|---|---|
IMAP_* / SMTP_* | Ваш community inbox (любой IMAP/SMTP) |
ANTHROPIC_API_KEY | Intent, sentiment, генерация черновиков |
CRON_SECRET | Bearer для /api/cron/email-processor |
EMAIL_AUTO_SEND_ENABLED | false до SMTP smoke test |
EMAIL_CRM_PERSISTENCE | memory для быстрого dev; omit + миграции 009/010 для Postgres |
Те же переменные — в secret store (k8s/Vercel). Миграции 009+010, cron poll каждые 1–5 мин. См. гайд разработчика.
AI-управляемый CRM для публичных почтовых ящиков (например info@example.com). Входящая почта классифицируется и собирается в треды; Claude формирует черновики ответов; админы утверждают отправку и видят расходы API.
EN canonical: полные диаграммы, таблицы API и runbook — Email AI-CRM (EN) · Архитектура · API · Гайд разработчика
| Слой | Ответственность |
|---|---|
| Сбор | Cron POST /api/cron/email-processor (action: poll) или webhook |
| Процессор | services/email/email-processor.ts — parse, security, AI, CRM |
| Хранение | PostgreSQL JSONB: email_threads, email_contacts, email_messages, email_drafts, email_tasks, email_api_usage |
| Исходящие | EmailSenderService (nodemailer), In-Reply-To / References |
| Админ UI | inbox, drafts, contacts, analytics, tasks |
Message-ID не обрабатывается дважды.EMAIL_AUTO_SEND_ENABLED=false до SMTP smoke test.EMAIL_PROCESSOR_AUTOSTART).auth() + isPlatformAdmin на /api/admin/email/*.| Маршрут | Назначение |
|---|---|
/{locale}/admin/crm/inbox | Список тредов |
/{locale}/admin/crm/inbox/[id] | Детали треда + сообщения |
/{locale}/admin/crm/drafts | Черновики AI — approve / reject / send |
/{locale}/admin/crm/contacts | CRM-контакты |
/{locale}/admin/crm/analytics | Объём, intent/sentiment, стоимость API |
/{locale}/admin/crm/tasks | Follow-up и эскалации |
| Миграция | Таблицы |
|---|---|
009_email_crm_jsonb.sql | email_threads, email_contacts, email_messages, email_drafts |
010_email_crm_tasks_jsonb.sql | email_tasks, email_api_usage |
Добавьте в .env.local (см. env.local.template, блок EMAIL CRM):
| Переменная | Описание |
|---|---|
IMAP_* / SMTP_* | Ваш community inbox (любой IMAP/SMTP) |
ANTHROPIC_API_KEY | Intent, sentiment, генерация черновиков |
CRON_SECRET | Bearer для /api/cron/email-processor |
EMAIL_AUTO_SEND_ENABLED | false до SMTP smoke test |
EMAIL_CRM_PERSISTENCE | memory для быстрого dev; omit + миграции 009/010 для Postgres |
Те же переменные — в secret store (k8s/Vercel). Миграции 009+010, cron poll каждые 1–5 мин. См. гайд разработчика.
AI-управляемый CRM для публичных почтовых ящиков (например info@example.com). Входящая почта классифицируется и собирается в треды; Claude формирует черновики ответов; админы утверждают отправку и видят расходы API.
EN canonical: полные диаграммы, таблицы API и runbook — Email AI-CRM (EN) · Архитектура · API · Гайд разработчика
| Слой | Ответственность |
|---|---|
| Сбор | Cron POST /api/cron/email-processor (action: poll) или webhook |
| Процессор | services/email/email-processor.ts — parse, security, AI, CRM |
| Хранение | PostgreSQL JSONB: email_threads, email_contacts, email_messages, email_drafts, email_tasks, email_api_usage |
| Исходящие | EmailSenderService (nodemailer), In-Reply-To / References |
| Админ UI | inbox, drafts, contacts, analytics, tasks |
Message-ID не обрабатывается дважды.EMAIL_AUTO_SEND_ENABLED=false до SMTP smoke test.EMAIL_PROCESSOR_AUTOSTART).auth() + isPlatformAdmin на /api/admin/email/*.| Маршрут | Назначение |
|---|---|
/{locale}/admin/crm/inbox | Список тредов |
/{locale}/admin/crm/inbox/[id] | Детали треда + сообщения |
/{locale}/admin/crm/drafts | Черновики AI — approve / reject / send |
/{locale}/admin/crm/contacts | CRM-контакты |
/{locale}/admin/crm/analytics | Объём, intent/sentiment, стоимость API |
/{locale}/admin/crm/tasks | Follow-up и эскалации |
| Миграция | Таблицы |
|---|---|
009_email_crm_jsonb.sql | email_threads, email_contacts, email_messages, email_drafts |
010_email_crm_tasks_jsonb.sql | email_tasks, email_api_usage |
Добавьте в .env.local (см. env.local.template, блок EMAIL CRM):
| Переменная | Описание |
|---|---|
IMAP_* / SMTP_* | Ваш community inbox (любой IMAP/SMTP) |
ANTHROPIC_API_KEY | Intent, sentiment, генерация черновиков |
CRON_SECRET | Bearer для /api/cron/email-processor |
EMAIL_AUTO_SEND_ENABLED | false до SMTP smoke test |
EMAIL_CRM_PERSISTENCE | memory для быстрого dev; omit + миграции 009/010 для Postgres |
Те же переменные — в secret store (k8s/Vercel). Миграции 009+010, cron poll каждые 1–5 мин. См. гайд разработчика.
psql "$DATABASE_URL" -f data/migrations/009_email_crm_jsonb.sql
psql "$DATABASE_URL" -f data/migrations/010_email_crm_tasks_jsonb.sql
# .env.local
IMAP_HOST=mail.example.com
IMAP_USER=info@example.com
IMAP_PASSWORD=
SMTP_HOST=mail.example.com
SMTP_PORT=587
SMTP_SECURE=false
SMTP_USER=info@example.com
SMTP_PASSWORD=
ANTHROPIC_API_KEY=
CRON_SECRET=generate-a-long-random-string
EMAIL_AUTO_SEND_ENABLED=false
EMAIL_CRM_PERSISTENCE=memory
psql "$DATABASE_URL" -f data/migrations/009_email_crm_jsonb.sql
psql "$DATABASE_URL" -f data/migrations/010_email_crm_tasks_jsonb.sql
# .env.local
IMAP_HOST=mail.example.com
IMAP_USER=info@example.com
IMAP_PASSWORD=
SMTP_HOST=mail.example.com
SMTP_PORT=587
SMTP_SECURE=false
SMTP_USER=info@example.com
SMTP_PASSWORD=
ANTHROPIC_API_KEY=
CRON_SECRET=generate-a-long-random-string
EMAIL_AUTO_SEND_ENABLED=false
EMAIL_CRM_PERSISTENCE=memory
psql "$DATABASE_URL" -f data/migrations/009_email_crm_jsonb.sql
psql "$DATABASE_URL" -f data/migrations/010_email_crm_tasks_jsonb.sql
# .env.local
IMAP_HOST=mail.example.com
IMAP_USER=info@example.com
IMAP_PASSWORD=
SMTP_HOST=mail.example.com
SMTP_PORT=587
SMTP_SECURE=false
SMTP_USER=info@example.com
SMTP_PASSWORD=
ANTHROPIC_API_KEY=
CRON_SECRET=generate-a-long-random-string
EMAIL_AUTO_SEND_ENABLED=false
EMAIL_CRM_PERSISTENCE=memory