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"
    }]
}

希望这对您有所帮助。