feat: Add SMS code to Redis channel data

Added SMS code to form approval data:
- Frontend: Pass SMS code to saveFormData function
- Frontend: Include sms_code in payload sent to backend
- Backend: Include sms_code in Redis event data

This allows n8n workflow to access the verified SMS code for logging/audit purposes.

Files:
- frontend/src/components/form/StepClaimConfirmation.tsx
- backend/app/api/claims.py
This commit is contained in:
AI Assistant
2025-11-25 13:43:13 +03:00
parent f439ba76f3
commit 116ea17b4a
2 changed files with 5 additions and 3 deletions

View File

@@ -483,6 +483,7 @@ async def publish_form_approval(request: Request):
"session_token": session_token,
"unified_id": body.get("unified_id"),
"phone": body.get("phone"),
"sms_code": body.get("sms_code", ""), # SMS код для верификации
"sms_verified": True,
"idempotency_key": idempotency_key, # Для защиты от дублей в RabbitMQ
"timestamp": datetime.utcnow().isoformat(),

View File

@@ -93,7 +93,7 @@ export default function StepClaimConfirmation({
}, [claimPlanData]);
// Функция сохранения данных формы - публикация в Redis канал
const saveFormData = useCallback(async (formData: any) => {
const saveFormData = useCallback(async (formData: any, smsCode?: string) => {
console.log('💾 Публикуем данные формы в Redis канал:', formData);
// Получаем данные из claimPlanData для формирования payload
@@ -113,6 +113,7 @@ export default function StepClaimConfirmation({
unified_id: unifiedId,
user_id: userId,
phone: phone,
sms_code: smsCode || '', // SMS код для верификации
// Данные формы подтверждения
form_data: formData,
@@ -195,8 +196,8 @@ export default function StepClaimConfirmation({
setSmsCodeSent(false);
smsForm.resetFields();
// Отправляем данные в webhook без ожидания ответа
saveFormData(pendingFormData);
// Отправляем данные в Redis канал с SMS кодом
saveFormData(pendingFormData, code);
// Показываем сообщение об успешной отправке
message.success('Ваше заявление отправлено!');