【问题标题】:Cannot get node-request to post to salesforce web-to-lead无法获取节点请求以发布到 salesforce web-to-lead
【发布时间】: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


【解决方案1】:

我认为您在选项中缺少网址:

var options={
    url:"https://www.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8",
    form:form
};

您只是在不提供要发布的网址的情况下提出任何请求!

【讨论】:

    猜你喜欢
    • 2018-01-29
    • 1970-01-01
    • 2017-11-20
    • 2017-12-24
    • 1970-01-01
    • 2012-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多