2017-09-01 5 views
1

Cela semble être une chose simple à faire, mais je n'arrive pas à le faire fonctionner. J'interroge le point de terminaison/Users, et j'essaie de filtrer les utilisateurs par une adresse email.Comment rechercher ou filtrer SugarCRM REST API sur un sous-champ

Quand j'appelle le point final sans filtres, je reçois quelque chose comme ceci:

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

Je suis en train de filtrer l'adresse e-mail. J'ai essayé:

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

Mais je reçois cette erreur:

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

Je peux filtrer par user_name = « brad » et il fonctionne très bien, mais pas quand je tente d'aller 1 niveau plus profond .

+0

Avez-vous essayé d'utiliser Ajax avec l'API reste à filtrer. Et aussi quelle version du sucre vous utilisez? –

Répondre

1

J'ai dû envoyer directement le support SugarCRM.

Au lieu de:

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

je devais utiliser email_addresses.email_address:

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