我正在将客户的网站从Zoho生命周期终止的v1 API升级到新的v2 API。
我已按照指南进行操作,但无法在Zoho系统中创建新的“ Lead”保存请求。
我已经“正确”安装了v2 API(没有错误,并且可以正确验证),但是要插入新的销售线索。
运行v1代码可以正常工作,因此我认为该帐户还可以。它在测试域中,但是我没有看到任何可能会限制它的地方。
v1 API代码:
$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中工作:
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 "</pre>";
die();
}
运行v2代码会产生一个“完成的”消息,因此直接没有错误,但仪表盘中没有任何错误,更有趣的是,API使用率报告程序显示未发送任何消息(但它确实显示了身份验证请求,因此我相信它已连接)。
如何通过v2 API将“线索”发送给Zoho?
答案 0 :(得分:0)
我认为您的属性放置不正确。代替“姓氏”,您应该输入“ Last_Name”。