Я нахожусь в процессе обновления сайта моего клиента с API Zoho в конце жизненного цикла v1 до его нового API v2.
Я следовал этому руководству и не могу получить запросы на создание нового 'Лид 'сохранить в системе Zoho.
У меня API-интерфейс v2 установлен "правильно" (ошибок нет, и он правильно аутентифицируется), но я иду, чтобы вставить новый лид.
Запуск кода v1 работаетпоэтому я считаю, что с учетной записью все в порядке.Он находится в тестовом домене, но я нигде не видел, чтобы это могло ограничить это.
Код API v1:
$xml = '<?xml version="1.0" encoding="UTF-8"?>'; // same error with or without this line
$xml .= '<Leads>';
$xml .= '<row no="1">';
$xml .= '<FL val="Lead Owner">'.'luke@example.com'.'</FL>';
$xml .= '<FL val="First Name">'.$_POST['enquiry-firstname'].'</FL>';
$xml .= '<FL val="Last Name">'.$_POST['enquiry-lastname'].'</FL>';
$xml .= '<FL val="Email">'.$_POST['enquiry-email'] .'</FL>';
$xml .= '<FL val="Company">'.$_POST['enquiry-company'].'</FL>';
$xml .= '<FL val="Lead Source">Web Site</FL>';
$xml .= '<FL val="Phone">'.$_POST['enquiry-phone'].'</FL>';
$xml .= '<FL val="Description">
Enquiry Type: ' . htmlentities($_POST['enquiry-enquiry'], ENT_QUOTES | ENT_IGNORE, "UTF-8") . '
Message: '.htmlentities($_POST['enquiry-message'], ENT_QUOTES | ENT_IGNORE, "UTF-8") . '
Board: ' . $zoho_descr;
$xml .= '</FL>';
$xml .= '</row>';
$xml .= '</Leads>';
$url ="https://crm.zoho.com/crm/private/xml/Leads/insertRecords";
$query="authtoken=<secret>&scope=crmapi&newFormat=1&xmlData=".$xml;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $query);// Set the request as a POST FIELD for curl.
$response = curl_exec($ch);
curl_close($ch);
, который я изменил для работы в v2:
<code>require_once('vendor/autoload.php');
ZCRMRestClient::initialize();
try {
$lead = ZCRMRecord::getInstance("Leads", null);
$lead->setFieldValue("Lead Owner", "luke@example.com");
$lead->setFieldValue("First Name", $_POST['enquiry-firstname']);
$lead->setFieldValue("Last Name", $_POST['enquiry-lastname']);
$lead->setFieldValue("Email", $_POST['enquiry-email']);
$lead->setFieldValue("Company", $_POST['enquiry-company']);
$lead->setFieldValue("Lead Source", "Web Site");
$lead->setFieldValue("Phone", $_POST['enquiry-phone']);
$lead->setFieldValue("Description", "Enquiry Type: " . htmlentities($_POST['enquiry-enquiry'], ENT_QUOTES | ENT_IGNORE, "UTF-8") . ' Message: '.htmlentities($_POST['enquiry-message'], ENT_QUOTES | ENT_IGNORE, 'UTF-8') . ' Board: ' . $zoho_descr);
$response = $lead->create();
die("Completed");
} catch (ZCRMException $e) {
echo $e->getCode();
echo $e->getMessage();
echo $e->getExceptionCode();
die();
} catch (Exception $e) {
echo "<pre>";
echo $e->getMessage();
echo "
"; die ();}
Выполнение кода v2 приводит к« завершенному »сообщению, поэтому не было ошибок непосредственно, но ничто не заканчивается в инструментальной панели и, что более интересно, репортер использования APIпоказывает, что ничего не отправлено (но он показывает запросы на аутентификацию, поэтому я считаю, что он подключен).
Как я могу отправить «ведет» в Zoho через v2 API?