0

我正在向 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无法处理您的请求。请验证名称和值是否适合“xmlData”参数。

当我用静态值替换 $xml 变量中的变量并删除连接时,它已成功提交。

请让我知道如何解决这个问题。

谢谢山姆

4

4 回答 4

1

尝试添加双引号而不是单引号,有时由于使用单引号而出现错误。

于 2016-10-13T12:44:51.000 回答
0

这有一段时间没有更新了。以防万一,您应该将数据包含在CDATA 标签中。这会转义特殊字符。

参考:https ://www.zoho.com/crm/help/api/insertrecords.html#Usage_of_'CDATA'

于 2014-12-16T11:15:45.693 回答
0

不知道你是否解决了这个问题,但我想我会把我的 2 美分扔在这里,以防它仍然和问题和/或其他人可能有类似的问题。

我将首先检查您的变量是否正确转义。特别要确保代码中的 $refURL 变量对任何“/”字符进行转义。

如果一切正常,我会仔细检查必填字段。根据文档,它说姓氏和公司是必填字段。

http://www.zoho.com/crm/help/api/modules-fields.html#Leads

(我知道你说你测试了一个硬编码的 XML 文档,所以我想你已经涵盖了这个,但我只是想把它扔在那里)

詹姆士

于 2013-10-24T14:48:09.937 回答
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>
于 2016-11-09T10:30:59.590 回答