SugarCRM: Come ottenere l’elenco di tutti i documenti relativi a un account

Qualche giorno addietro ho risposto a una domanda posta su stackoverflow.com la quale poneva il quesito su come poter recuperare attraverso i servizi web esposti da SugarCRM la lista dei documenti relativi a un determinato account.

Tra le operazioni disponibili come servizi web quella che prende il nome di get_relationships è proprio quella che risponde alla domanda posta. Sul sito di supporto di SugarCRM è disponibile ampia documentazione su quest’operazione, inoltre, quest’operazione è accessibile sia via REST sia via SOAP. L’operazione get_relationships recupera i dati di una specifica relazione per uno specifico record.

La sezione esempi della documentazione su get_relationships riporta un esempio d’utilizzo, basta effettuare le sole modifiche ai parametri d’input dell’operazione per il nostro caso d’interesse. Al Listato 1 è mostrato l’array dei parametri d’input per recuperare i documenti legati all’account mentre il Listato 2 mostra il risultato dell’operazione.

All’indirizzo https://gist.github.com/amusarra/6436845 è disponibile l’esempio completo della chiamata al servizio REST get_relationships. Lo stesso vale per la chiamata al servizio utilizzando SOAP. Riguardo l’interazione con i servizi SOAP di SugarCRM, esistono svariate risorse, alcune delle quali disponibili sul mio blog e slideshare:

I servizi REST di SugarCRM andranno pian piano sostituendo i servizi SOAP, questi ultimi rimasti un pò indietro riguardo i più recenti standard.

$session_id,

         //The name of the module from which to retrieve records.
         'module_name' => 'Accounts',

         //The ID of the specified module bean.
         'module_id' => '13111fcd-1884-2a71-0b37-50b7d0f188f6',

         //The relationship name of the linked field from which to return records.
         'link_field_name' => 'documents',

         //The portion of the WHERE clause from the SQL statement used to find the related items.
         'related_module_query' => '',

         //The related fields to be returned.
         'related_fields' => array(
            'id',
            'name',
         ),

         //For every related bean returned, specify link field names to field information.
         'related_module_link_name_to_fields_array' => array(
         ),

         //To exclude deleted records
         'deleted'=> '0',

         //order by
         'order_by' => '',

         //offset
         'offset' => 0,

         //limit
         'limit' => 5,
    );

$get_relationships_result = call("get_relationships", $get_relationships_parameters, $url);
?>

Listato 1. Parametri d’imput per il recupero dei documenti legati all’account

stdClass Object
(
    [entry_list] => Array
        (
            [0] => stdClass Object
                (
                    [id] => 8b4c0450-1922-498f-4601-52272fa6e494
                    [module_name] => Documents
                    [name_value_list] => stdClass Object
                        (
                            [id] => stdClass Object
                                (
                                    [name] => id
                                    [value] => 8b4c0450-1922-498f-4601-52272fa6e494
                                )

                            [name] => stdClass Object
                                (
                                    [name] => name
                                    [value] => WebProxyService_A.png
                                )

                        )

                )

        )

    [relationship_list] => Array
        (
        )

)

Listato 2. Risultato restituito dall’operazione get_relationships

Enhanced by Zemanta
0 Condivisioni

Antonio Musarra

I began my journey into the world of computing from an Olivetti M24 PC (http://it.wikipedia.org/wiki/Olivetti_M24) bought by my father for his work. Day after day, quickly taking control until … Now doing business consulting for projects in the enterprise application development using web-oriented technologies such as J2EE, Web Services, ESB, TIBCO, PHP.

Potrebbero interessarti anche...