问题描述
我正在使用v11 API服务集成SugarCRM 9.0。我现在很努力地用给定的电子邮件地址过滤联系人。根据新的SugarCRM,将在名为email
的字段下获取联系人的电子邮件地址,该字段是一个数组。
请求端点:https://mysugarcrm.org/rest/v11/Contacts/filter
输入过滤器数组:
[
"filter" => [[
'email1' => 'test+1@test.com'
]]
]
在这里您可以看到我将email#
作为过滤器参数传递,该参数仅适用于主要电子邮件地址,但是当联系人添加了多个电子邮件地址时,如何创建过滤器?在子表达式$contains
和$in
的帮助下,我尝试了很少的组合,但是没有一个帮助。
为获得更好的图片,这是示例电子邮件数组,比没有过滤器的联系人记录中的电子邮件数组-
[
{
"id": "c02c12c3-4569-3456-xxxxxxxxx","first_name": "test","last_name": "test"
"email": [
{
"email_address": "test@test.com","primary_address": true,"reply_to_address": false,"invalid_email": false,"opt_out": false,"email_address_id": "b11h2344-4568-xxxx-xxxxxxxxxxx"
},{
"email_address": "test+1@test.com","primary_address": false,{
"email_address": "test+2@test.com","email_address_id": "b11h2344-4568-xxxx-xxxxxxxxxxx"
}
],"module": "Contacts"
},{
....
},{
....
}
]
在这里您可以看到email
是我想根据email_address过滤的对象数组。
解决方法
我遇到了一个解决方案。
在图片后面实际上有一个名为email_addresses
的过滤器字段,我们可以用来添加过滤器。这是我的新过滤器数组-
[
"filter" => [[
"email_addresses.email_address":"test@test.com"
]]
]
因此,无论您必须从电子邮件类型的字段中获取数据时,都可以使用此解决方案。适用于每个模块。