您可能不清楚这个问题,但我的问题很简单
在SugarCRM公司的文件表明,得到的记录,我应该发送一个GET请求/<module>/:recordId。
/<module>/:recordId
我要实现的是通过电子邮件获取记录。
在早期版本的SugarCRM中,我可以在有效负载请求中向其API发送一个SQL查询。但是这里由于是GET请求,所以没有正文。
我需要帮助
要通过匹配非id字段来获取记录,可以使用记录过滤器API /<module>/filter(请参阅文档或/rest/v10/helpSugar的文档)来指定要搜索哪些值的字段。
/<module>/filter
/rest/v10/help
如果最多只关心一条匹配的记录,请"max_num": 1在选项中指定。
"max_num": 1
作为响应,您将收到一个json对象,该对象包含一个records包含匹配记录的数组。
records
按电子邮件地址过滤
电子邮件地址以前存储在字段email1,email2等中。那些旧字段仍然存在于Sugar> = 7(目前)中,可以与请求有效负载一起使用,如下所示:
{ max_num: 1, filter: [ {"email2": "test@secondary.test"}, ], fields: ["id"], }
这将仅在辅助电子邮件地址中搜索电子邮件地址。
但是,在现代的Sugar中,电子邮件地址存储在一个由关系支持的链接字段中email_addresses,该字段连接到EmailAddress记录,可以通过以下方式进行搜索:
email_addresses
{ max_num: 1, filter: [ {"email_addresses.email_address": {"$equals": "test@something.test"}}, ], fields: ["id"], }
这将返回与 任何 电子邮件地址匹配的记录。不管是主要的还是另一种。
随机相关笔记
GET
POST
/<module>
%
%@whatever.test
$equals
$starts
$contains
/<module>/count
/<module>/filter/count
max_num
next_offset
-1
{"email_addresses.email_address": {"$equals": "test@something.test"}},
{"email_addresses.email_address": "test@something.test"}