Nate Zapotocky
Nate Zapotocky

Reputation: 1

Get list of all documents related to an account

I'm working on an app to download all notes and documents related to an account in Sugar CRM. I'm building it as a C# console application, using the web service API as a web reference in my solution.

I think I have figured out the notes part but I can't figure out the documents part. Can anyone show me how to get a list of all documents per account using the web service API calls?

I am assuming that I should use get_relationships() to get documents, but how do I get the accounts module id? I don't have access to the database.

(My client is using sugar crm version 6.7.1 corporate)

Upvotes: 0

Views: 1857

Answers (1)

Antonio Musarra
Antonio Musarra

Reputation: 370

Okay, that you should use the API get_relationships. See the example to follow.

<?php
$get_relationships_parameters = array(
         'session'=>$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);
?>

and you see result:

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
        (
        )

)

at url https://gist.github.com/amusarra/6436845 you will find the complete example. To get the account Id should use the API or get_entry get_entries.

I hope I have been of help. Antonio

Upvotes: 2

Related Questions