我使用Zoho API将潜在客户插入CRM。
一切正常,除非其中一个字段包含&符号,在这种情况下,Zoho的响应是:
<?xml version="1.0" encoding="UTF-8" ?>
<response uri="/crm/private/xml/Leads/insertRecords">
<error>
<code>4835</code>
<message>Unable to parse XML data</message>
</error>
</response>
我尝试了以下有效负载但没有取得任何成功:
1 /
<Leads>
<row no="1">
<FL val="Lead Owner">me@example.com</FL>
<FL val="Company">Marks & Spencer</FL>
</row>
</Leads>
2 /
<Leads>
<row no="1">
<FL val="Lead Owner">me@example.com</FL>
<FL val="Company">Marks & Spencer</FL>
</row>
</Leads>
第3 /
<Leads>
<row no="1">
<FL val="Lead Owner">me@example.com</FL>
<FL val="Company">Marks & Spencer</FL>
</row>
</Leads>
4 /
<Leads>
<row no="1">
<FL val="Lead Owner">me@example.com</FL>
<FL val="Company"><![CDATA[Marks & Spencer]]></FL>
</row>
</Leads>
我甚至按照此Zoho forum thread的建议,按%26
替换&符号进行了测试,但没有运气。
为Zoho查询编码&符号的正确格式是什么?
答案 0 :(得分:2)
最后找到了一个解决方案:包含特殊字符的字符串必须包含在CDATA
部分 AND 中,这些特殊字符必须为percent encoded。
因此,对于上面的例子,这给出了:
<Leads>
<row no="1">
<FL val="Lead Owner">me@example.com</FL>
<FL val="Company"><![CDATA[Marks %26 Spencer]]></FL>
</row>
</Leads>
请注意,值Marks%20%26%20Spencer
也适用于API。