【发布时间】: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