2017-09-01 48 views
1

这似乎是一件简单的事情,但我无法正常工作。我在查询/ Users端点,并试图通过电子邮件地址过滤用户。如何在子字段上搜索或过滤SugarCRM REST API

当我打电话,没有过滤器的终点,我得到的是这样的:

"records": [ 
     { 
      "id": "abc123", 
      "user_name": "brad", 
      "first_name": "Brad", 
      ... 
      "email1": "", 
      "email": [ 
      { 
       "email_address": "[email protected]", 
       "primary_address": true, 
       "reply_to_address": false, 
       "invalid_email": false, 
       "opt_out": false 
      } 
      ], 
      ... 

我想上的电子邮件地址进行过滤。我已经试过:

$filters = [ 
     'filter' => [ 
      [ 
       'email.email_address' => [ 
        '$contains' => 'brad' 
       ] 
      ] 
     ] 
    ]; 

但我得到这个错误:

{"error":"invalid_parameter","error_message":"Invalid link email for field email_address"} 

我可以USER_NAME =“布拉德”过滤和它工作得很好,但不是当我尝试去1个更深一层。

+0

您是否尝试过使用Ajax休息API进行过滤。还有你正在使用哪种版本的糖? –

回答

1

不得不直接向SugarCRM支持发送电子邮件。

相反的:

$filters = [ 
     'filter' => [ 
      [ 
       'email.email_address' => [ 
        '$contains' => 'brad' 
       ] 
      ] 
     ] 
    ]; 

我需要使用email_addresses.email_address:

$filters = [ 
     'filter' => [ 
      [ 
       'email_addresses.email_address' => [ 
        '$contains' => 'brad' 
       ] 
      ] 
     ] 
    ];