首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Zuora -如何获得发票PDF并显示给用户

Zuora -如何获得发票PDF并显示给用户
EN

Stack Overflow用户
提问于 2017-03-20 20:19:54
回答 2查看 456关注 0票数 1

简短的问题:使用发票端点,当我尝试从InvoiceFiles.pdfFileUrl响应访问URL时,它会弹出一个api.zuora登录表单。我需要我的客户能够访问这些PDF。

如果我输入我的Zuora卡,它会显示发票,但当然我的客户没有Zuora卡。

是否有某种设置允许客户从URL中查看PDF?

很长的问题:

发票端点返回两项感兴趣的内容。

body是发票PDF文件的REST URL。

InvoiceFiles返回

  1. 发票PDF文件的id。这是文件对象的ID,与pdfFileUrl字段中的文件句柄id不同。要打开文件,您需要使用文件句柄ID。
  2. 发票versionNumber文件的版本号
  3. pdfFileUrl REST网址的发票PDF文件。单击URL打开发票PDF文件。

bodyInvoiceFiles.pdfFileUrl返回的内容是否有区别,以及如何正确使用它们?

pdfFileUrl可以返回多个文件。每次更新发票(客户付款等),它都会生成另一个文件。最近的是at指数0。

无论如何访问任何一个URL,我都会得到一个api.zuora登录表单。如果我输入我的Zuora卡,它会显示发票,但当然我的客户没有Zuora卡。

端点页面上的示例将主体和pdfFiles作为空白返回,因此这没有多大帮助。

在他们的社区里搜索了一段时间,什么都找不到与我的问题有点相似的东西。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-26 18:08:05

最好的做法是使用授权cookie。cookie授权用户在Zuora设置中指定的持续时间内调用REST > Security >会话超时。每次调用REST之后,就会用这个持续时间重置cookie过期时间。

要获得cookie,请调用REST连接资源:

代码语言:javascript
复制
curl -X POST \
-H "apiAccessKeyId: dummyUser" \
-H "apiSecretAccessKey: dummyPassword" \
-H "Content-Type: application/json" \
-d '{}' \
"https://rest.zuora.com/v1/connections"

一旦建立了连接,随后的API调用将在没有头文件中的apiSecretAccessKey和apiAccessKeyId的情况下工作。

请从他们的新API文档中找到更多的细节。https://www.zuora.com/developer/api-reference/

票数 1
EN

Stack Overflow用户

发布于 2017-03-22 21:49:16

我们终于想出了怎么做。必须在服务器端完成。

第一步是调用“/事务/发票/帐户/{accountId}”来获取发票列表。

第二,从与我们试图查看的发票号相匹配的列表中选择发票。

该对象上有一个名为"invoiceFiles“的列表--如果它不是空的,则获取第一项。

使用该项上的"pdfFileUrl“属性作为URL从中获取PDF,但在GET请求中,包含标题"apiAccessKeyId”和"apiSecretAccessKey",并将值设置为适用的api键。这消除了auth问题,但也使得您必须在后端执行此操作,以避免暴露您的apiAccessKeyId和机密。

假设传入我们的PDF请求经过身份验证,我们将对从Zuora返回到服务器上当前正在处理的传出响应执行管道命令: zuoraResponse.pipe(ourOutgoingResponseObj)

这将直接向用户显示PDF。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42913225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档