SugarCRM API - 过滤器 POST - 相关模块字段
SugarCRM API - Filter POST - Related Module Fields
我正在尝试使用 REST API 检索记录列表及其相关模块字段之一。让我们假设客户和机会。
所以,API Documentation (in the GET Filter)讲讲在fields参数中定义相关模块:
根据同一文档,它会提供类似于以下内容的结果:
这正是我所需要的,但我正在尝试使用 POST 方法来实现。因此,按照相同的路径,我发送(使用 Postman):
PS:我尝试了双引号的所有组合。转义,不转义,带不带,都是一样的结果,就是:
消息在 pt-BR 中,但它的意思是 "One of your request parameters is wrong"。 HTTP 状态代码为 422 - 无法处理的实体。
我做错了什么?我尝试了一切,只是不知道如何让它发挥作用。看起来文档谈论的东西根本不起作用或不存在。
好的,经过一些研究,Postman 似乎使用了类似于 Chrome 的东西,并且实际上不可能发送带有正文中的值的 GET 请求。但是,您可以...
将值编码到 URL 中并通过 Postman 发送:
https://yoursite.com/rest/v10/Accounts?filter%5B0%5D%5Bopportunities.date_modified%5D%5B%24gte%5D%3D2016-02-29T00%3A00%3A00&fields=cpf_c,opportunities&max_num=10
使用卷曲:
curl -X GET -H Host:yoursite.com -H OAuth-Token:d49c8fd4-0ae0-d9fb-7ab8-5846e5a3fa86 -H Cache-Control:no-cache -d '{"filter":[{"opportunities.date_modified":{"$gte":"2016-02-29T00:00:00"}}],"fields":["cpf_c","opportunities"],"max_num":"10"}' https://yoursite.com/rest/v10/Accounts
或者直接构建 HTTP 请求,并包含正文:
GET https://yoursite.com/rest/v10/Accounts HTTP/1.1
Host: yoursite.com
OAuth-Token:d49c8fd4-0ae0-d9fb-7ab8-5846e5a3fa86
Cache-Control:no-cache
{"filter":[{"opportunities.date_modified":{"$gte":"2016-02-29T00:00:00"}}],"fields":["cpf_c","opportunities"],"max_num":"10"}
为了对此进行测试,我创建了 3 个帐户,其中 2 个链接了机会。当我使用 "name" 而不是您的 "cpf_c" 字段时,响应是这样的:
{
"next_offset": -1,
"records": [{
"id": "64417139-459c-852f-3a73-5846ed1245c2",
"name": "another account with opp",
"date_modified": "2016-12-06T16:54:29+00:00",
"opportunities": {
"next_offset": -1,
"records": [{
"id": "32d1d320-c560-92d6-7def-5846eda786da",
"date_modified": "2016-12-06T16:55:06+00:00",
"_acl": {
"fields": {}
},
"_module": "Opportunities"
}]
},
"_acl": {
"fields": {}
},
"_module": "Accounts"
}, {
"id": "48dc47dd-bbf1-816d-b0ac-5846e6dd9e21",
"name": "test with opp",
"date_modified": "2016-12-06T16:23:33+00:00",
"opportunities": {
"next_offset": -1,
"records": [{
"id": "79c3bf6f-6c2b-7945-09f7-5846e6c610d7",
"date_modified": "2016-12-06T16:24:20+00:00",
"_acl": {
"fields": {}
},
"_module": "Opportunities"
}]
},
"_acl": {
"fields": {}
},
"_module": "Accounts"
}]
}
希望这对您有所帮助。
我正在尝试使用 REST API 检索记录列表及其相关模块字段之一。让我们假设客户和机会。
所以,API Documentation (in the GET Filter)讲讲在fields参数中定义相关模块:
根据同一文档,它会提供类似于以下内容的结果:
这正是我所需要的,但我正在尝试使用 POST 方法来实现。因此,按照相同的路径,我发送(使用 Postman):
PS:我尝试了双引号的所有组合。转义,不转义,带不带,都是一样的结果,就是:
消息在 pt-BR 中,但它的意思是 "One of your request parameters is wrong"。 HTTP 状态代码为 422 - 无法处理的实体。
我做错了什么?我尝试了一切,只是不知道如何让它发挥作用。看起来文档谈论的东西根本不起作用或不存在。
好的,经过一些研究,Postman 似乎使用了类似于 Chrome 的东西,并且实际上不可能发送带有正文中的值的 GET 请求。但是,您可以...
将值编码到 URL 中并通过 Postman 发送:
https://yoursite.com/rest/v10/Accounts?filter%5B0%5D%5Bopportunities.date_modified%5D%5B%24gte%5D%3D2016-02-29T00%3A00%3A00&fields=cpf_c,opportunities&max_num=10
使用卷曲:
curl -X GET -H Host:yoursite.com -H OAuth-Token:d49c8fd4-0ae0-d9fb-7ab8-5846e5a3fa86 -H Cache-Control:no-cache -d '{"filter":[{"opportunities.date_modified":{"$gte":"2016-02-29T00:00:00"}}],"fields":["cpf_c","opportunities"],"max_num":"10"}' https://yoursite.com/rest/v10/Accounts
或者直接构建 HTTP 请求,并包含正文:
GET https://yoursite.com/rest/v10/Accounts HTTP/1.1
Host: yoursite.com
OAuth-Token:d49c8fd4-0ae0-d9fb-7ab8-5846e5a3fa86
Cache-Control:no-cache
{"filter":[{"opportunities.date_modified":{"$gte":"2016-02-29T00:00:00"}}],"fields":["cpf_c","opportunities"],"max_num":"10"}
为了对此进行测试,我创建了 3 个帐户,其中 2 个链接了机会。当我使用 "name" 而不是您的 "cpf_c" 字段时,响应是这样的:
{
"next_offset": -1,
"records": [{
"id": "64417139-459c-852f-3a73-5846ed1245c2",
"name": "another account with opp",
"date_modified": "2016-12-06T16:54:29+00:00",
"opportunities": {
"next_offset": -1,
"records": [{
"id": "32d1d320-c560-92d6-7def-5846eda786da",
"date_modified": "2016-12-06T16:55:06+00:00",
"_acl": {
"fields": {}
},
"_module": "Opportunities"
}]
},
"_acl": {
"fields": {}
},
"_module": "Accounts"
}, {
"id": "48dc47dd-bbf1-816d-b0ac-5846e6dd9e21",
"name": "test with opp",
"date_modified": "2016-12-06T16:23:33+00:00",
"opportunities": {
"next_offset": -1,
"records": [{
"id": "79c3bf6f-6c2b-7945-09f7-5846e6c610d7",
"date_modified": "2016-12-06T16:24:20+00:00",
"_acl": {
"fields": {}
},
"_module": "Opportunities"
}]
},
"_acl": {
"fields": {}
},
"_module": "Accounts"
}]
}
希望这对您有所帮助。