pquery($query, array($mobile)); $cf_2624_value = "0"; // По умолчанию "Нет" (данные не подтверждены) if ($adb->num_rows($result) > 0) { // Контакт существует - ПРОСТО ВОЗВРАЩАЕМ ID (НЕ обновляем!) $output = $adb->query_result($result, 0, 'contactid'); $isNew = false; // ✅ Получаем значение поля cf_2624 (Данные подтверждены) $cf_2624_value = $adb->query_result($result, 0, 'cf_2624'); if (empty($cf_2624_value)) { $cf_2624_value = "0"; // По умолчанию "Нет" } $logstring = date('Y-m-d H:i:s').' ✅ Контакт найден с id '.$output.', cf_2624='.$cf_2624_value.' (БЕЗ обновления)'.PHP_EOL; file_put_contents('logs/CreateWebContact.log', $logstring, FILE_APPEND); } else { // Контакт НЕ существует - создаём новый // Дефолтные значения если не указаны if (empty($firstname)) { $firstname = 'Клиент'; } if (empty($lastname)) { $lastname = 'ERV_' . substr($mobile, -4); // ERV_4567 } $params = array ( 'firstname' => $firstname, 'lastname' => $lastname, 'mobile' => $mobile, 'email' => $email, 'birthday' => '01-01-1990', // Дефолтная дата 'cf_1257' => '', // ИНН пустой 'cf_1157' => '', // Отчество пустое 'cf_1263' => '', // Место рождения пустое 'mailingstreet' => '', // Адрес пустой 'cf_1849' => '', // Реквизиты пустые 'cf_1580' => '', // Код пустой 'cf_2624' => '0', // ✅ Данные подтверждены = "Нет" (по умолчанию для новых контактов) 'assigned_user_id' => vtws_getWebserviceEntityId('Users', $current_user->id) ); $logstring = date('Y-m-d H:i:s').' Массив для создания Web Контакта: '.json_encode($params).PHP_EOL; file_put_contents('logs/CreateWebContact.log', $logstring, FILE_APPEND); try { $contact = vtws_create('Contacts', $params, $current_user); $output = substr($contact['id'], 3); $isNew = true; // Контакт только что создан! $cf_2624_value = "0"; // Новый контакт - данные не подтверждены $logstring = date('Y-m-d H:i:s').' ✅ Создан новый Web Контакт с id '.$output.', cf_2624=0'.PHP_EOL; file_put_contents('logs/CreateWebContact.log', $logstring, FILE_APPEND); } catch (WebServiceException $ex) { $logstring = date('Y-m-d H:i:s').' ❌ Ошибка создания: '.$ex->getMessage().PHP_EOL; file_put_contents('logs/CreateWebContact.log', $logstring, FILE_APPEND); throw $ex; } } // Возвращаем JSON с флагом is_new и значением cf_2624 $result = array( 'contact_id' => $output, 'is_new' => $isNew, 'cf_2624' => $cf_2624_value // ✅ "1" = данные подтверждены, "0" = не подтверждены ); $logstring = date('Y-m-d H:i:s').' Return: '.json_encode($result).PHP_EOL; file_put_contents('logs/CreateWebContact.log', $logstring, FILE_APPEND); return json_encode($result); } ?>