我正在为SugarCRM
使用SOAP API。
我想用PHP下载文档。
我不知道如何下载文件。
在此先感谢。
答案 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_id
从id
表中检索文档filename
和document_revisions
。
要下载/检索文档,您需要id
和filename
。文件通常存储在您的sugarcrm根文件夹中的/cache/upload
中,并以id
命名。
因此,如果文档具有id=a06bfc2e-c6e9-ac53-9e7b-4bf4e4d862ca
,则可以从http://my-suger/cache/upload/a06bfc2e-c6e9-ac53-9e7b-4bf4e4d862ca
检索文档。应将检索到的文件重命名为filename
,您可以从Web服务响应中获取该文件。