我正在向ZOHO CRM发送表单数据。我将一些变量添加到XML变量中,如下所示。
$xml =
'<?xml version="1.0" encoding="UTF-8"?>
<Leads>
<row no="1">
<FL val="First Name">'.$name.'</FL>
<FL val="Last Name"> </FL>
<FL val="Email">'.$email.'</FL>
<FL val="Phone">'.$phone.'</FL>
<FL val="Zip Code">'.$zip.'</FL>
<FL val="Description">'.$lessonType.'</FL>
<FL val="Lead Source">web</FL>
<FL val="Referrer URL">'.$refURL.'</FL>
</row>
</Leads>';
但是当我这样做时,我收到以下错误。
4600无法处理您的请求。请验证名称和 value适用于“xmlData”参数。
当我用$ xml变量中的变量替换静态值并删除连接时,它已成功提交。
请告诉我如何解决这个问题。
由于 萨姆
答案 0 :(得分:1)
尝试添加双引号而不是单引号,有时会出错 由于使用单引号而发生。
答案 1 :(得分:0)
不确定你是否修复了这个问题,但我认为我会把这2美分扔到这里,因为它仍然存在问题和/或其他人可能有类似的问题。
我首先要检查你的变量是否正确转义。特别要确保代码中的$ refURL变量转义为任何“/”字符。
如果一切正常,我会仔细检查必填字段。根据文档,它说姓氏和公司是必填字段。
http://www.zoho.com/crm/help/api/modules-fields.html#Leads
(我知道你说你测试了一个硬编码的XML文档,所以我想你已经覆盖了这个,但我只是想把它扔出去)
詹姆斯
答案 2 :(得分:0)
暂时没有更新。为了以防万一,您应该将数据括在CDATA
标记中。这逃脱了特殊的角色。
参考:https://www.zoho.com/crm/help/api/insertrecords.html#Usage_of_&#39; CDATA&#39;
答案 3 :(得分:0)
如果您在xml中使用变量,请尝试使用此格式
<row no=\"1\">
<FL val=\"Home Street Address\">". $post["home_add"] ."</FL>
<FL val=\"City\">". $post["city"] ."</FL>
<FL val=\"State\">". $post["state"] ."</FL>
<FL val=\"Zip Code\">". $post["zip_code"] ."</FL>
<FL val=\"Mobile\">". $post["mobile_phone"] ."</FL>
<FL val=\"Social Security Num\">". $post["ss"] ."</FL>
<FL val=\"DOB\">". $post["dob"] ."</FL>
</row>