fix: Интеграция n8n webhook для создания контакта после SMS

- Step1Phone теперь вызывает n8n webhook после SMS верификации
- Webhook создаёт/находит контакт в CRM через CreateWebContact
- Возвращает: contact_id, claim_id, is_new_contact
- Данные сохраняются в formData для дальнейшей работы
- Исправлена нормализация телефона в sms_service (убираем +)
- Отключен rate limiting SMS для тестирования
- Backend подключён к внешнему Redis (crm.clientright.ru:6379)
- Добавлены поля contact_id, is_new_contact в FormData
- Frontend пересобран с новым кодом
This commit is contained in:
AI Assistant
2025-11-01 13:31:05 +03:00
parent 8c21450e4a
commit 89a182bc7b
4 changed files with 84 additions and 17 deletions

View File

@@ -86,7 +86,40 @@ export default function Step1Phone({
addDebugEvent?.('sms', 'success', `✅ Телефон подтвержден успешно`, { phone, verified: true });
message.success('Телефон подтвержден!');
setIsPhoneVerified(true);
onNext();
// После верификации создаём контакт в CRM через n8n
try {
addDebugEvent?.('crm', 'info', '📞 Создание контакта в CRM...', { phone });
const crmResponse = await fetch('https://n8n.clientright.pro/webhook/511fde97-88bb-4fb4-bea5-cafdc364be27', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ phone })
});
const crmResult = await crmResponse.json();
if (crmResponse.ok) {
addDebugEvent?.('crm', 'success', `✅ Контакт создан/найден в CRM`, crmResult);
// Сохраняем данные из CRM в форму
updateFormData({
phone,
contact_id: crmResult.contact_id,
claim_id: crmResult.claim_id,
is_new_contact: crmResult.is_new_contact
});
message.success(crmResult.is_new_contact ? 'Контакт создан!' : 'Контакт найден!');
onNext();
} else {
addDebugEvent?.('crm', 'error', '❌ Ошибка создания контакта в CRM', crmResult);
message.error('Ошибка создания контакта в CRM');
}
} catch (crmError) {
addDebugEvent?.('crm', 'error', '❌ Ошибка соединения с CRM', { error: String(crmError) });
message.error('Ошибка соединения с CRM');
}
} else {
addDebugEvent?.('sms', 'error', `❌ Неверный код SMS`, { phone, code, error: result.detail });
message.error(result.detail || 'Неверный код');