如何将ReportCloud API响应返回到可下载文件中?

时间:2019-03-08 01:34:38

标签: coldfusion

我正在使用ColdFusion调用ReportCloud API,它根据我通过cfhttp发送的参数即时进行邮件合并。

文档中的回复为:

  

成功后,响应头中的HTTP状态代码为200(确定)。响应正文包含一个以Base64编码的字符串编码的创建文档的数组。

有人可以帮助我如何将响应转换为可下载文件(链接还是直接下载)?我可能应该知道这一点,但不幸的是我不会。

添加了评论:

感谢您对这个问题的帮助和指导。我第一次使用StackOverflow作为海报,如果问题不清楚,我深表歉意。

我也整理了一个代码示例来查看cffiddle

<!--- Must replace "Authorization" header below with a real key --->
<cfset variables.jsonReq = '{
    "mergeData": [
        {
            "Given_Name": "Mike",
            "Surname": "Smith",
            "Year_Group": "11"
         },
         {
            "Given_Name": "Sally",
            "Surname": "Smith",
            "Year_Group": "12"
         }
    ],
    "template": null,
    "mergeSettings": null
    }'>

<cfhttp url="https://api.reporting.cloud/v1/document/merge?returnFormat=DOC&templateName=parentletter.docx" method="post" timeout="20" result="response" file="/www/something.docx">
    <cfhttpparam type="header" name="Content-Type" value="application/json">
    <cfhttpparam type="header" name="Authorization" value="ReportingCloud-APIKey oMDM4MrAqL9QEOpyzupnQW5NjvCNtvE5cVDaaLqxI">
    <cfhttpparam type="body" name="mergeData" value="#jsonReq#">
</cfhttp>

<cfdump var="#response#">

响应以我认为是JSON数组的形式返回。我不确定如何去读取JSON数组并将内容制作为可下载文件。

0 个答案:

没有答案