diff --git a/backend/app/api/claims.py b/backend/app/api/claims.py index f0d07fd..8f10474 100644 --- a/backend/app/api/claims.py +++ b/backend/app/api/claims.py @@ -546,7 +546,7 @@ async def publish_form_approval(request: Request): """ Публикация данных подтвержденной формы в Redis канал - После SMS-апрува отправляет данные формы в Redis канал form_approve:{claim_id} + После SMS-апрува отправляет данные формы в Redis канал clientright:webform:approve для обработки в n8n workflow. В будущем можно подключить RabbitMQ для очереди и защиты от дублей. @@ -588,8 +588,8 @@ async def publish_form_approval(request: Request): "original_data": body.get("original_data", {}), } - # Публикуем в Redis канал form_approve:{claim_id} - channel = f"form_approve:{claim_id}" + # Публикуем в Redis канал clientright:webform:approve + channel = "clientright:webform:approve" event_json = json.dumps(event_data, ensure_ascii=False) await redis_service.publish(channel, event_json) diff --git a/docs/REDIS_FORM_APPROVE.md b/docs/REDIS_FORM_APPROVE.md index 66e482a..2b4fa50 100644 --- a/docs/REDIS_FORM_APPROVE.md +++ b/docs/REDIS_FORM_APPROVE.md @@ -2,14 +2,14 @@ ## 📋 Описание -После SMS-апрува данные подтвержденной формы публикуются в Redis канал `form_approve:{claim_id}` для обработки в n8n workflow. +После SMS-апрува данные подтвержденной формы публикуются в Redis канал `clientright:webform:approve` для обработки в n8n workflow. ## 🔄 Архитектура ``` Frontend (StepClaimConfirmation) → POST /api/v1/claims/approve - → Backend публикует в Redis канал form_approve:{claim_id} + → Backend публикует в Redis канал clientright:webform:approve → n8n подписывается на канал и обрабатывает данные ``` @@ -46,7 +46,7 @@ Frontend (StepClaimConfirmation) ```json { "success": true, - "channel": "form_approve:0eb051ec-23a6-4e06-8b98-f02d20d35f68", + "channel": "clientright:webform:approve", "idempotency_key": "0eb051ec-23a6-4e06-8b98-f02d20d35f68_1735123456789_user_123", "message": "Данные формы отправлены на обработку" } @@ -54,7 +54,7 @@ Frontend (StepClaimConfirmation) ## 📢 Redis канал -**Канал:** `form_approve:{claim_id}` +**Канал:** `clientright:webform:approve` **Формат сообщения:** @@ -96,8 +96,7 @@ Frontend (StepClaimConfirmation) ### 1. Redis Subscribe Node **Operation:** `Subscribe` -**Channel:** `form_approve:{{ $json.claim_id }}` -**Или:** Подписка на паттерн `form_approve:*` +**Channel:** `clientright:webform:approve` ### 2. Обработка события @@ -144,14 +143,14 @@ Frontend (StepClaimConfirmation) ```bash redis-cli -h crm.clientright.ru -p 6379 -a 'CRM_Redis_Pass_2025_Secure!' \ - MONITOR | grep form_approve + MONITOR | grep clientright:webform:approve ``` ### Подписка на канал (тест) ```bash redis-cli -h crm.clientright.ru -p 6379 -a 'CRM_Redis_Pass_2025_Secure!' \ - SUBSCRIBE form_approve:* + SUBSCRIBE clientright:webform:approve ``` ## ✅ Преимущества diff --git a/frontend/src/components/form/StepClaimConfirmation.tsx b/frontend/src/components/form/StepClaimConfirmation.tsx index 4ce45e5..8f4b9b9 100644 --- a/frontend/src/components/form/StepClaimConfirmation.tsx +++ b/frontend/src/components/form/StepClaimConfirmation.tsx @@ -126,7 +126,7 @@ export default function StepClaimConfirmation({ }; // Публикуем в Redis канал через backend endpoint (fire-and-forget) - // Канал: form_approve:{claim_id} + // Канал: clientright:webform:approve fetch('/api/v1/claims/approve', { method: 'POST', headers: { @@ -139,7 +139,7 @@ export default function StepClaimConfirmation({ console.error('Ошибка публикации данных формы в Redis:', error); }); - console.log('✅ Данные формы опубликованы в Redis канал form_approve:', claimId); + console.log('✅ Данные формы опубликованы в Redis канал clientright:webform:approve'); }, [claimPlanData]); // Функция отправки SMS-кода