Files
aiform_prod/docs/N8N_WORKFLOW_UPDATE_CONTACT_DATA_CONFIRMED.md

88 lines
3.1 KiB
Markdown
Raw Normal View History

# Обновление workflow 6mxRJ2LLHmQXyaDz: Подтверждение данных контакта
## Изменения в workflow
### 1. После ноды `CreateWebContacКлиентправ`
**Добавить ноду:** `PostgreSQL: Auto Confirm if CRM has data`
**SQL запрос:**
```sql
SELECT clpr_auto_confirm_if_crm_has_data($1, $2::integer);
```
**Параметры:**
- `$1` = `{{ $('user_get').first().json.unified_id }}`
- `$2` = `{{ JSON.parse($node['CreateWebContacКлиентправ'].json.result).contact_id }}`
**Назначение:** Если данные уже есть в CRM (contact_id > 0), автоматически ставим флаг подтверждения.
---
### 2. После ноды `Code in JavaScriptКлиентправ`
**Добавить ноду:** `PostgreSQL: Check Contact Data Status`
**SQL запрос:**
```sql
SELECT * FROM clpr_get_contact_data_status($1);
```
**Параметры:**
- `$1` = `{{ $('user_get').first().json.unified_id }}`
**Назначение:** Проверяем, подтверждены ли данные. Результат передаём дальше.
---
### 3. В ответе для фронтенда (нода `Code in JavaScript`)
**Добавить в return:**
```javascript
const contactStatus = $('PostgreSQL: Check Contact Data Status').first().json;
return {
// ... существующие поля ...
contact_data_confirmed: contactStatus.is_confirmed || false,
contact_data_can_edit: contactStatus.can_edit !== false,
contact_data_confirmed_at: contactStatus.confirmed_at || null
};
```
---
### 4. После подтверждения формы (workflow для `claim_confirmed`)
**Добавить ноду:** `PostgreSQL: Set Contact Data Confirmed`
**SQL запрос:**
```sql
SELECT clpr_set_contact_data_confirmed($1, NOW());
```
**Параметры:**
- `$1` = `{{ $json.unified_id }}`
**Назначение:** Устанавливаем флаг подтверждения после успешного сохранения данных.
---
## Порядок выполнения
1. **Создание контакта**`CreateWebContacКлиентправ`
2. **Автоподтверждение** → Если данные есть в CRM → `clpr_auto_confirm_if_crm_has_data`
3. **Проверка статуса**`clpr_get_contact_data_status` → передаём фронтенду
4. **Фронтенд** → Если `contact_data_confirmed = true` → блокируем редактирование
5. **После подтверждения**`clpr_set_contact_data_confirmed` → устанавливаем флаг
---
## Проверка в n8n
После обновления workflow проверить:
- ✅ Флаг устанавливается при наличии данных в CRM
- ✅ Флаг устанавливается после подтверждения формы
- ✅ Статус передаётся фронтенду
- ✅ Фронтенд блокирует редактирование при `contact_data_confirmed = true`