Files
crm.clientright.ru/aiassist/crm_handler.php

55 lines
2.0 KiB
PHP
Raw Normal View History

<?php
// assistance/crm_handler.php
/**
* Отправляет финальный результат анализа в CRM.
*
* @param string $caseId Идентификатор кейса.
* @param array $analysis Массив с результатами анализа (например, статус, контент, вердикт).
* @return bool Успешно ли выполнена отправка.
*/
function sendAnalysisToCRM($caseId, $analysis) {
// Формируем финальный ответ
$final_output = [
"case_id" => $caseId,
"status" => $analysis['status'] ?? 'error',
"content" => $analysis['content'] ?? 'Анализ не выполнен',
"moderationVerdict" => $analysis['moderationVerdict'] ?? 'Не определен'
];
// Пример URL API CRM (замените на реальный адрес API вашего CRM)
$crm_api_url = "https://your-crm.example.com/api/analysis";
$json_output = json_encode($final_output, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
if ($json_output === false) {
logMessage("Ошибка кодирования JSON в crm_handler: " . json_last_error_msg());
return false;
}
$ch = curl_init($crm_api_url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $json_output,
CURLOPT_HTTPHEADER => ['Content-Type: application/json']
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$curlError = curl_error($ch);
curl_close($ch);
if ($curlError) {
logMessage("Ошибка cURL в crm_handler: " . $curlError);
return false;
}
if ($httpCode < 200 || $httpCode >= 300) {
logMessage("Ошибка отправки в CRM: HTTP $httpCode - " . $response);
return false;
}
logMessage("Анализ успешно отправлен в CRM: " . $response);
return true;
}
?>