52 lines
2.3 KiB
JavaScript
52 lines
2.3 KiB
JavaScript
|
|
// ============================================================================
|
|||
|
|
// Code Node для n8n: Установка флага подтверждения данных
|
|||
|
|
// ============================================================================
|
|||
|
|
// Назначение: Установить флаг contact_data_confirmed_at после подтверждения формы
|
|||
|
|
//
|
|||
|
|
// Использование: После успешного сохранения данных в CRM через claim_confirmed
|
|||
|
|
// ============================================================================
|
|||
|
|
|
|||
|
|
// Получаем unified_id
|
|||
|
|
const unified_id = $('user_get').first().json.unified_id ||
|
|||
|
|
$json.unified_id;
|
|||
|
|
|
|||
|
|
if (!unified_id) {
|
|||
|
|
throw new Error('unified_id не найден для установки флага подтверждения');
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// Получаем contact_id из CRM (если есть)
|
|||
|
|
const contact_id = $node['CreateWebContacКлиентправ']?.json?.result?.contact_id ||
|
|||
|
|
$json.contact_id ||
|
|||
|
|
null;
|
|||
|
|
|
|||
|
|
// Проверяем, есть ли данные в CRM (для автоматического подтверждения)
|
|||
|
|
// Если contact_id > 0, значит данные уже есть в CRM - подтверждаем автоматически
|
|||
|
|
const has_crm_data = contact_id && parseInt(contact_id) > 0;
|
|||
|
|
|
|||
|
|
// Формируем данные для PostgreSQL
|
|||
|
|
return {
|
|||
|
|
unified_id: unified_id,
|
|||
|
|
contact_id: contact_id,
|
|||
|
|
has_crm_data: has_crm_data,
|
|||
|
|
// Флаг для SQL функции
|
|||
|
|
should_confirm: true, // Всегда подтверждаем после сохранения формы
|
|||
|
|
confirmed_at: new Date().toISOString()
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
// ============================================================================
|
|||
|
|
// SQL запрос для PostgreSQL ноды (после этого Code Node):
|
|||
|
|
// ============================================================================
|
|||
|
|
// SELECT clpr_set_contact_data_confirmed($1, $2::timestamptz);
|
|||
|
|
//
|
|||
|
|
// Параметры:
|
|||
|
|
// $1 = {{ $json.unified_id }}
|
|||
|
|
// $2 = {{ $json.confirmed_at }}
|
|||
|
|
//
|
|||
|
|
// ИЛИ для автоматического подтверждения существующих данных:
|
|||
|
|
// SELECT clpr_auto_confirm_if_crm_has_data($1, $2::integer);
|
|||
|
|
//
|
|||
|
|
// Параметры:
|
|||
|
|
// $1 = {{ $json.unified_id }}
|
|||
|
|
// $2 = {{ $json.contact_id }}
|
|||
|
|
|