【发布时间】:2016-11-08 01:22:23
【问题描述】:
我们的一位客户要求我们与他们的销售团队整合。但是,他们拒绝给我们一个 oAuth 令牌。他们提供的是一个网络对领导oid。本质上,Web-to-Lead 是一个简单的 Web 表单,它使用 oid 生成,以将其与您的销售人员帐户相关联。但是,我无法使用 curl、postman 或 node.js 和请求模块将其他任何内容发布到 salesforce。
我设置了一个沙盒来测试这个,因为他们抱怨他们没有得到应用程序。我还注意到这些应用程序没有出现,但是如果我使用 salesforce 为我生成的实际表单,一切似乎都正常。
基本上我的代码是这样的:
var request=require("request");
var form={
"oid":"xxxx",
"first_name":"TEST",
"last_name":"TEST",
"email":"xxxx@gmail.com",
"street":"xxx Some Road",
"city":"somewhere",
"state":"Wisconsin",
"zip":"54944",
"00No00000045JeV":"Internet",
"00No00000045Jef":"American Driver Network",
"00No00000045Jek":"Class A",
"00No00000045Jep":"50",
"00No00000045Jf4":"0",
"00No00000045JfE":"0",
"00No00000045JfJ":"0",
"retURL":"http://"
};
var options={
url:"",
form:form
};
request.post(options,function(err,resp,body){
//salesforce gives no useful response so do nothing
});
请求模块应该适当地设置我的标头。
销售人员表格:
<!-- ---------------------------------------------------------------------- -->
<!-- NOTE: Please add the following <META> element to your page <HEAD>. -->
<!-- If necessary, please modify the charset parameter to specify the -->
<!-- character set of your HTML page. -->
<!-- ---------------------------------------------------------------------- -->
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8">
<!-- ---------------------------------------------------------------------- -->
<!-- NOTE: Please add the following <FORM> element to your page. -->
<!-- ---------------------------------------------------------------------- -->
<form action="https://www.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8" method="POST">
<input type=hidden name="oid" value="00Do0000000KlmA">
<input type=hidden name="retURL" value="http://">
<!-- ---------------------------------------------------------------------- -->
<!-- NOTE: These fields are optional debugging elements. Please uncomment -->
<!-- these lines if you wish to test in debug mode. -->
<!-- <input type="hidden" name="debug" value=1> -->
<!-- <input type="hidden" name="debugEmail" -->
<!-- value="travissturzl@gmail.com"> -->
<!-- ---------------------------------------------------------------------- -->
<label for="first_name">First Name</label><input id="first_name" maxlength="40" name="first_name" size="20" type="text" /><br>
<label for="last_name">Last Name</label><input id="last_name" maxlength="80" name="last_name" size="20" type="text" /><br>
<label for="email">Email</label><input id="email" maxlength="80" name="email" size="20" type="text" /><br>
<label for="city">City</label><input id="city" maxlength="40" name="city" size="20" type="text" /><br>
<label for="state">State/Province</label><input id="state" maxlength="20" name="state" size="20" type="text" /><br>
<label for="phone">Phone</label><input id="phone" maxlength="40" name="phone" size="20" type="text" /><br>
<label for="street">Address</label><textarea name="street"></textarea><br>
<label for="zip">Zip</label><input id="zip" maxlength="20" name="zip" size="20" type="text" /><br>
Media Type:<input id="00No00000045JeV" maxlength="50" name="00No00000045JeV" size="20" type="text" /><br>
Media Source:<input id="00No00000045Jef" maxlength="50" name="00No00000045Jef" size="20" type="text" /><br>
License Type:<input id="00No00000045Jek" maxlength="50" name="00No00000045Jek" size="20" type="text" /><br>
Months of Experience:<input id="00No00000045Jep" name="00No00000045Jep" size="20" type="text" /><br>
Accidents:<input id="00No00000045Jf4" name="00No00000045Jf4" size="20" type="text" /><br>
Moving Violations:<input id="00No00000045JfE" name="00No00000045JfE" size="20" type="text" /><br>
DUI:<input id="00No00000045JfJ" name="00No00000045JfJ" size="20" type="text" /><br>
<input type="submit" name="submit">
</form>
我不知道我做错了什么。我从来没有遇到过这样的问题。我错过了什么吗?
【问题讨论】:
-
我尝试应用您的方法(使用 URL),但发送的数据未反映 Salesforce 潜在客户。您对 Salesforce 的发帖请求是否适合您?
-
更新:它现在对我有用。我刚刚禁用了所需的验证码是 Salesforce。
标签: javascript node.js http request salesforce