194 lines
8.0 KiB
PHP
194 lines
8.0 KiB
PHP
|
|
<?php
|
|||
|
|
// Скрипт для отладки ответов от CRM
|
|||
|
|
// Файл: debug_crm_responses.php
|
|||
|
|
|
|||
|
|
echo "<h2>🔍 ОТЛАДКА ОТВЕТОВ ОТ CRM</h2>";
|
|||
|
|
echo "<p><strong>Время:</strong> " . date('Y-m-d H:i:s') . "</p>";
|
|||
|
|
echo "<hr>";
|
|||
|
|
|
|||
|
|
// Тестируем создание клиента напрямую
|
|||
|
|
echo "<h3>1. Тест создания клиента напрямую в CRM:</h3>";
|
|||
|
|
|
|||
|
|
$client_data = [
|
|||
|
|
'operation' => 'CreateContact',
|
|||
|
|
'sessionName' => 'TEST_SESSION', // Будет заменен реальным
|
|||
|
|
'firstname' => 'Александра',
|
|||
|
|
'secondname' => 'Алексеевна',
|
|||
|
|
'lastname' => 'Козлова',
|
|||
|
|
'mobile' => '921 862-69-44',
|
|||
|
|
'email' => 'sashyliakoz@gmail.com',
|
|||
|
|
'birthday' => '1996-09-04',
|
|||
|
|
'mailingstreet' => 'Индекс 188300, Ленинградская область, г. Гатчина, ул. Изотова, д.12, к.2, кв. 38',
|
|||
|
|
'inn' => '470519373754',
|
|||
|
|
'code' => '1'
|
|||
|
|
];
|
|||
|
|
|
|||
|
|
echo "<p><strong>Данные клиента:</strong></p>";
|
|||
|
|
echo "<pre>" . json_encode($client_data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT) . "</pre>";
|
|||
|
|
|
|||
|
|
// Сначала получаем sessionName
|
|||
|
|
echo "<h3>2. Получение sessionName:</h3>";
|
|||
|
|
|
|||
|
|
$challenge_data = [
|
|||
|
|
'operation' => 'getchallenge',
|
|||
|
|
'username' => 'api'
|
|||
|
|
];
|
|||
|
|
|
|||
|
|
echo "<p><strong>Данные getchallenge:</strong></p>";
|
|||
|
|
echo "<pre>" . json_encode($challenge_data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT) . "</pre>";
|
|||
|
|
|
|||
|
|
$url = 'https://crm.clientright.ru/webservice.php?operation=getchallenge&username=api';
|
|||
|
|
echo "<p><strong>URL getchallenge:</strong> " . $url . "</p>";
|
|||
|
|
|
|||
|
|
$curl = curl_init();
|
|||
|
|
curl_setopt_array($curl, [
|
|||
|
|
CURLOPT_URL => $url,
|
|||
|
|
CURLOPT_RETURNTRANSFER => true,
|
|||
|
|
CURLOPT_SSL_VERIFYPEER => false,
|
|||
|
|
CURLOPT_SSL_VERIFYHOST => 2,
|
|||
|
|
CURLOPT_TIMEOUT => 30
|
|||
|
|
]);
|
|||
|
|
|
|||
|
|
$challenge_response = curl_exec($curl);
|
|||
|
|
curl_close($curl);
|
|||
|
|
|
|||
|
|
echo "<p><strong>Ответ getchallenge:</strong></p>";
|
|||
|
|
echo "<pre>" . htmlspecialchars($challenge_response) . "</pre>";
|
|||
|
|
|
|||
|
|
$challenge_result = json_decode($challenge_response, true);
|
|||
|
|
if ($challenge_result && isset($challenge_result['result']['token'])) {
|
|||
|
|
$token = $challenge_result['result']['token'];
|
|||
|
|
echo "<p style='color: green;'>✅ Получен token: " . substr($token, 0, 20) . "...</p>";
|
|||
|
|
|
|||
|
|
// Логинимся
|
|||
|
|
echo "<h3>3. Авторизация:</h3>";
|
|||
|
|
|
|||
|
|
$generatedKey = md5($token . '4r9ANex8PT2IuRV');
|
|||
|
|
$login_data = [
|
|||
|
|
'operation' => 'login',
|
|||
|
|
'username' => 'api',
|
|||
|
|
'accessKey' => $generatedKey
|
|||
|
|
];
|
|||
|
|
|
|||
|
|
echo "<p><strong>Данные login:</strong></p>";
|
|||
|
|
echo "<pre>" . json_encode($login_data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT) . "</pre>";
|
|||
|
|
echo "<p><strong>Сгенерированный ключ:</strong> " . $generatedKey . "</p>";
|
|||
|
|
|
|||
|
|
$curl = curl_init();
|
|||
|
|
curl_setopt_array($curl, [
|
|||
|
|
CURLOPT_URL => 'https://crm.clientright.ru/webservice.php',
|
|||
|
|
CURLOPT_RETURNTRANSFER => true,
|
|||
|
|
CURLOPT_POST => true,
|
|||
|
|
CURLOPT_POSTFIELDS => $login_data,
|
|||
|
|
CURLOPT_SSL_VERIFYPEER => false,
|
|||
|
|
CURLOPT_TIMEOUT => 30
|
|||
|
|
]);
|
|||
|
|
|
|||
|
|
$login_response = curl_exec($curl);
|
|||
|
|
curl_close($curl);
|
|||
|
|
|
|||
|
|
echo "<p><strong>Ответ login:</strong></p>";
|
|||
|
|
echo "<pre>" . htmlspecialchars($login_response) . "</pre>";
|
|||
|
|
|
|||
|
|
$login_result = json_decode($login_response, true);
|
|||
|
|
if ($login_result && isset($login_result['result']['sessionName'])) {
|
|||
|
|
$sessionName = $login_result['result']['sessionName'];
|
|||
|
|
echo "<p style='color: green;'>✅ Получен sessionName: " . $sessionName . "</p>";
|
|||
|
|
|
|||
|
|
// Теперь тестируем создание клиента
|
|||
|
|
echo "<h3>4. Тест создания клиента:</h3>";
|
|||
|
|
|
|||
|
|
$client_data['sessionName'] = $sessionName;
|
|||
|
|
|
|||
|
|
$curl = curl_init();
|
|||
|
|
curl_setopt_array($curl, [
|
|||
|
|
CURLOPT_URL => 'https://crm.clientright.ru/webservice.php',
|
|||
|
|
CURLOPT_RETURNTRANSFER => true,
|
|||
|
|
CURLOPT_POST => true,
|
|||
|
|
CURLOPT_POSTFIELDS => $client_data,
|
|||
|
|
CURLOPT_SSL_VERIFYPEER => false,
|
|||
|
|
CURLOPT_TIMEOUT => 30
|
|||
|
|
]);
|
|||
|
|
|
|||
|
|
$client_response = curl_exec($curl);
|
|||
|
|
curl_close($curl);
|
|||
|
|
|
|||
|
|
echo "<p><strong>Ответ CreateContact:</strong></p>";
|
|||
|
|
echo "<pre>" . htmlspecialchars($client_response) . "</pre>";
|
|||
|
|
|
|||
|
|
$client_result = json_decode($client_response, true);
|
|||
|
|
if ($client_result) {
|
|||
|
|
if (isset($client_result['result'])) {
|
|||
|
|
echo "<p style='color: green;'>✅ Клиент создан с ID: " . $client_result['result'] . "</p>";
|
|||
|
|
} else {
|
|||
|
|
echo "<p style='color: red;'>❌ Ошибка создания клиента:</p>";
|
|||
|
|
echo "<pre>" . json_encode($client_result, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT) . "</pre>";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// Тестируем создание контрагента
|
|||
|
|
echo "<h3>5. Тест создания контрагента:</h3>";
|
|||
|
|
|
|||
|
|
$contractor_data = [
|
|||
|
|
'operation' => 'CreateAccount',
|
|||
|
|
'sessionName' => $sessionName,
|
|||
|
|
'inn' => '7714312079',
|
|||
|
|
'ogrn' => '1037714037426',
|
|||
|
|
'accountname' => 'Филиал ООО РСО ЕВРОИНС Туристическое',
|
|||
|
|
'address' => '119049 Москва, 4-й Добрынинский пер., д.8, помещ. С 14-I, ком. 21-26',
|
|||
|
|
'email' => 'info@erv.ru',
|
|||
|
|
'phone' => '84956265800',
|
|||
|
|
'website' => 'https://www.erv.ru/'
|
|||
|
|
];
|
|||
|
|
|
|||
|
|
echo "<p><strong>Данные контрагента:</strong></p>";
|
|||
|
|
echo "<pre>" . json_encode($contractor_data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT) . "</pre>";
|
|||
|
|
|
|||
|
|
$curl = curl_init();
|
|||
|
|
curl_setopt_array($curl, [
|
|||
|
|
CURLOPT_URL => 'https://crm.clientright.ru/webservice.php',
|
|||
|
|
CURLOPT_RETURNTRANSFER => true,
|
|||
|
|
CURLOPT_POST => true,
|
|||
|
|
CURLOPT_POSTFIELDS => $contractor_data,
|
|||
|
|
CURLOPT_SSL_VERIFYPEER => false,
|
|||
|
|
CURLOPT_TIMEOUT => 30
|
|||
|
|
]);
|
|||
|
|
|
|||
|
|
$contractor_response = curl_exec($curl);
|
|||
|
|
curl_close($curl);
|
|||
|
|
|
|||
|
|
echo "<p><strong>Ответ CreateAccount:</strong></p>";
|
|||
|
|
echo "<pre>" . htmlspecialchars($contractor_response) . "</pre>";
|
|||
|
|
|
|||
|
|
$contractor_result = json_decode($contractor_response, true);
|
|||
|
|
if ($contractor_result) {
|
|||
|
|
if (isset($contractor_result['result'])) {
|
|||
|
|
echo "<p style='color: green;'>✅ Контрагент создан с ID: " . $contractor_result['result'] . "</p>";
|
|||
|
|
} else {
|
|||
|
|
echo "<p style='color: red;'>❌ Ошибка создания контрагента:</p>";
|
|||
|
|
echo "<pre>" . json_encode($contractor_result, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT) . "</pre>";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
} else {
|
|||
|
|
echo "<p style='color: red;'>❌ Не удалось получить sessionName</p>";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
} else {
|
|||
|
|
echo "<p style='color: red;'>❌ Не удалось получить token</p>";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
echo "<hr>";
|
|||
|
|
echo "<h3>6. Сравнение с успешным логом:</h3>";
|
|||
|
|
echo "<p><strong>Успешный лог (2025-09-10):</strong></p>";
|
|||
|
|
echo "<pre>";
|
|||
|
|
echo '{"operation":"CreateContact","sessionName":"61c825a768c1dd749ca62","mobile":"7 (953) 167-38-19","lastname":"Кулагин ","firstname":"Андрей ","secondname":"Викторович ","mailingstreet":"Ленинградская обл...","birthday":"11-05-1967","birthplace":"г Ростов-на-Дону ","inn":"780700202965","requisites":"Реквизиты...","email":"kulaginandrey110567@gmail.com","code":"438138"}';
|
|||
|
|
echo "</pre>";
|
|||
|
|
|
|||
|
|
echo "<p><strong>Наши данные:</strong></p>";
|
|||
|
|
echo "<pre>" . json_encode($client_data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT) . "</pre>";
|
|||
|
|
|
|||
|
|
echo "<hr>";
|
|||
|
|
echo "<p><strong>Отладка завершена!</strong></p>";
|
|||
|
|
?>
|