从Sugarcrm下载文件

时间:2012-01-06 07:48:34

标签: php soap sugarcrm

我正在为SugarCRM使用SOAP API。 我想用PHP下载文档。 我不知道如何下载文件。 在此先感谢。

1 个答案:

答案 0 :(得分:3)

糖饼中通常有两种“类型”的文件。添加到“文档”模块的那些以及添加到“历史”子面板中的那些模块。帐户模块。

要检索链接到帐户的文档,您应该在notes表中查看。这还包含历史子面板中与该帐户关联的所有其他内容,例如电子邮件。如果所有文档都使用相同的document_type,则可以在document_type列上正确过滤。 (替换[account_id][session_id]

<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sug="http://www.sugarcrm.com/sugarcrm" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
   <soapenv:Header/>
   <soapenv:Body>
      <sug:get_entry_list soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
         <session xsi:type="xsd:string">[session_id]/session>
         <module_name xsi:type="xsd:string">Notes</module_name>
         <query xsi:type="xsd:string">parent_type = 'Accounts' AND parent_id = '[account_id]'</query>
         <order_by xsi:type="xsd:string"></order_by>
         <offset xsi:type="xsd:int">0</offset>
         <select_fields xsi:type="sug:select_fields" soapenc:arrayType="xsd:string[1]">
           <select_fields xsi:type="xsd:string">id</select_fields>
       <select_fields xsi:type="xsd:string">name</select_fields>
           <select_fields xsi:type="xsd:string">filename</select_fields>
           <select_fields xsi:type="xsd:string">document_revision_id</select_fields>
         </select_fields>
         <max_results xsi:type="xsd:int">100</max_results>
         <deleted xsi:type="xsd:int">0</deleted>
      </sug:get_entry_list>
   </soapenv:Body>
</soapenv:Envelope> 

要从Documents模块获取文档,您基本上都是这样做的,但它需要两个步骤。首先从documents表中检索文档,然后使用document_revision_idid表中检索文档filenamedocument_revisions

要下载/检索文档,您需要idfilename。文件通常存储在您的sugarcrm根文件夹中的/cache/upload中,并以id命名。 因此,如果文档具有id=a06bfc2e-c6e9-ac53-9e7b-4bf4e4d862ca,则可以从http://my-suger/cache/upload/a06bfc2e-c6e9-ac53-9e7b-4bf4e4d862ca检索文档。应将检索到的文件重命名为filename,您可以从Web服务响应中获取该文件。