【问题标题】:Bad request error and Case field data formats错误请求错误和案例字段数据格式
【发布时间】:2016-08-13 04:46:42
【问题描述】:

我对 Salesforce 开发很陌生。我正在开发 Laravel 项目,该项目使用 Salesforce 的 REST API 将从用户收集的数据发送到 Salesforce。从用户收集的数据对应于案例对象上的各个字段以及用户特定数据,我可以使用这些数据创建用户帐户或访问现有用户帐户。 我正在使用基于 guzzle 的自定义构建 Salesforce 客户端来处理 REST API 调用。我可以使用用户提供的数据创建用户帐户并查询该帐户。但是,当我尝试使用来自用户的输入数据创建案例时,我经常会收到 400 错误。我了解错误代码对应于“错误请求”,这意味着我发送给 Salesforce 的数据存在问题。

我的问题是,如何进一步调试此问题?另外,如何理解字段的正确格式?例如,如果我向 Salesforce 发送一个日期,它应该是 ISO5601 格式;如果我发送多个选择列表值,它应该被序列化等等。

编辑:

[{"message":"Geocode: id value of incorrect type: 2","errorCode":"MALFORMED_ID","fields":["geopointe__Geocode__c"]}]

在调试时,我得到了这个响应。我知道在这种情况下问题与地理编码字段有关。如何获取地理编码字段的所有有效值,以便用户可以从这些值中进行选择?

编辑 2:

 array (
'RecordTypeId' => '012a0xxxx01ZQCQ',
'Agent__c' => 'xxxxx',
'Case_Language__c' => 'English',
'Customer_Type__c' => 'Individual',
'Origin' => 'xxxxx',
'Status' => 'New',
'Product__c' => 'yyyyyy',
'Subject' => 'Salesforce field testing',
'Description' => 'This issue is created to test the salesforce',

'Feedback_NPS__c' => '4',
'Tested_Date__c' => 'May-16',
'Tickbox__c' => true,
'Purchase_Order_Date__c' => '2016-04-13T14:00:57+0000',
'geopointe__Geocode__c' => '2',
'Purpose_of_Feeder__c' => 'Can anyone explain the difference betwee ',
'Feeder_3_SN__c' => '1235656',
'Feeder_2_SN__c' => '1256564',
'Battery_Draining_White__c' => true,
'Colour__c' => 'White',
'AccountId' => '001a000001hvb70AAA',
) 

【问题讨论】:

  • 请提供额外信息,请求数据与发送到生成 400 的 SF 完全相同是一个好的开始。
  • 我已经修改了问题。你能看看吗?
  • 你可以发布你发送给SF的请求json吗?该错误非常冗长,如果 ID 类型不正确,则表明您正在发送一个字符串,而它需要一个整数或反之亦然。
  • 请求数组添加到问题中。

标签: rest laravel salesforce guzzle


【解决方案1】:

geopointe__Geocode__c 是一个 ID 字段,属于应用程序交换中的 Geopointe 包。如果您要向 Salesforce 发送数据,您可能希望将该字段留空,并由您的 SF Org 中的工作对其进行编码。

您可以在此处找到更多信息:http://help.geopointe.com/customer/portal/articles/1811022-the-geocoder。我已经使用了很多,所以我也可以回答更多问题。

【讨论】:

    猜你喜欢
    • 2013-09-12
    • 2015-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-25
    • 1970-01-01
    相关资源
    最近更新 更多