2017-03-20 20 views
1

短い質問:get_invoices endpointを使用して、InvoiceFiles.pdfFileUrl応答からURLにアクセスしようとすると、api.zuoraログインフォームが表示されます。私は顧客がこれらのPDFにアクセスできるようにする必要があります。Zuora - 請求書PDFを取得してユーザーに表示する方法

enter image description here

私はZuoraのcredsをを入力した場合、それは請求書が表示されますが、もちろん私の顧客はZuoraのcredsを持っていません。

顧客がURLからPDFを閲覧できるように設定していますか?

ロング質問:

get_invoices endpointリターン関心の2つの項目。

bodyは、請求書PDFファイルのREST URLです。請求書のPDFファイルの

InvoiceFiles戻り

  1. IDのID。これはファイルオブジェクトのIDで、pdfFileUrlフィールドのファイルハンドルIDとは異なります。ファイルを開くには、ファイルハンドルIDを使用する必要があります。
  2. versionNumber請求書のバージョン番号PDFファイル
  3. pdfFileUrl請求書PDFファイルのREST URL。 URLをクリックして請求書PDFファイルを開きます。

bodyInvoiceFiles.pdfFileUrlによって返される値との違いはありますか。正しく使用するにはどうすればよいですか?

pdfFileUrlは複数のファイルを返すことができます。請求書が更新されるたびに(顧客が支払うなど)、別のファイルが生成されます。最新のものはインデックス0です。

しかし、いずれのURLにもアクセスしようとすると、私はapi.zuoraログインフォームを取得します。私がZuora信用状を入力すると、請求書が表示されますが、私の顧客にはZuora信用状はありません。

エンドポイントページの例では、bodyとpdfFilesの両方が空白として返されるため、あまり役に立ちません。

しばらくコミュニティを検索しても、私の問題と遠隔では何も見つかりませんでした。

答えて

1

承認クッキーを使用することをお勧めします。 Cookieは、ユーザーがZuora設定の[管理]> [セキュリティポリシー]> [セッションタイムアウト]で指定した期間、REST APIを呼び出すことを許可します。 Cookieの有効期限は、REST APIを呼び出すたびにこの期間にリセットされます。クッキーを取得するには

、REST接続リソースを呼び出す:接続が確立されると

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/

2

これを行う方法を最終的に考えました。サーバー側で行う必要があります。

最初のステップでは、「/ transactions /請求書/ accounts/{accountId}」を呼び出して請求書のリストを取得しました。

第2に、表示しようとした請求書番号と一致する一覧から請求書を選択します。

このオブジェクトには、 "invoiceFiles"というリストがあります。空でない場合は、最初の項目を取得します。

、からPDFをフェッチするURLとしてその項目の「pdfFileUrl」プロパティを使用しますが、GETリクエストで、私たちの該当するAPIキーに設定した値で、ヘッダー「apiAccessKeyId」と「apiSecretAccessKey」が含まれます。これにより、authの問題はなくなりますが、apiAccessKeyIdとSecretが公開されないように、バックエンドでこれを行う必要があります。 zuoraResponse.pipe(ourOutgoingResponseObj)

:私たちに来てPDFの要求が認証された、我々は現在、当社のサーバー上で処理しているの発信応答に戻っZuoraからの応答にパイプコマンドを実行したいと仮定すると、

これにより、PDFが直接ユーザーに表示されます。

関連する問題