WebAPI を使って PDF を取得する

WebAPI の仕様

REPOTEN-API では、現在 PDF 生成 API のみ利用可能です。 テンプレート毎に指定の URL に XML や JSON 形式、HTML フォーム等で データを送信することで簡単に PDF を取得することができます。

リクエスト

リクエスト時の仕様を説明します。

リクエスト URL

http(s)://repoten-api.net/api/template/<テンプレートID>.pdf

リクエストパラメータ

パラメータは、アクセスする方法によって表現は異なりますが、 基本的には以下のような仕様となっています。

パラメータ名 説明 データ型
key APIアクセスキー(非公開の場合のみ) String
pages[] ページ毎のデータ Array
pages[][テキストブロックID] 指定した ID のテキストブロックに埋め込む値 String
pages[][リストID] 指定した ID のリストデータ Hash
pages[][リストID][rows][] 指定したリストの行データ Array
pages[][リストID][rows][][テキストブロックID] 指定したリストの行に含まれるテキストブロックの値 String
pages[][リストID][header] 指定したリストのヘッダーに含まれるテキストブロックと値 Hash
pages[][リストID][header][テキストブロックID] 指定したリストのヘッダーに含まれるテキストブロックの値 String

コンテントタイプとメソッド

API へアクセス可能な Content-TypeHTTP Method の仕様は以下の通りです。

  Content-Type HTTP Method
XML application/xml POST
JSON application/json POST
HTML Form application/x-www-form-urlencoded POST
URI   GET

エンコーディング

UTF-8 のみサポートしています。

レスポンス

処理が正常に終了すると、以下の仕様で PDF データがレスポンスされます。

Content-Type
application/pdf
Content-Disposition
attachment; filename="foo.pdf"
attachment は、テンプレートの「PDF 生成時のアクション」設定によって 保存 (attachment) 又は表示 (inline) のどちらかになります。 また filename についても同様に「PDF 生成時のファイル名」設定で指定された名前か 未指定の場合は TLF ファイルのファイル名となります。

エラーレスポンス

処理中に何らかのエラーが発生した場合は、以下のエラーコード/メッセージがレスポンスされます。

エラーコード

Response Body Status 説明
NotFound 404 該当するテンプレートが存在しない場合、認証に失敗した場合など
InvalidRequestContentType 400 Content-Type が正しくない場合
InvalidRequestMethod 400 HTTP Method が正しくない場合
InvalidParameter 422 パラメータが正しくない場合
EmptyData 422 データ(ページ)が空の場合
ItemNotFound 422 指定された ID が見つからない場合
ImageSizeLimitExceeded 422 画像のサイズが上限 500KB を超えたとき
PrintLimitExceeded 403 印刷ページ数の制限を超えたとき
Unsupported 403 サポートしていない又は利用できない機能の場合
InternalServerError 500 予期しないエラーが発生したとき

エラーページ

HTML フォームからのリクエストの場合は、以下のようにエラーページが表示されます。

エラーページ

なお「前のページへ戻る」ボタンは以下のように直前の履歴に戻るようになっています。

<a href="javascript:history.back();">前のページへ戻る</a>

API の詳細とサンプル

テンプレート詳細画面下部「使い方」には、そのテンプレートの API に関するリクエスト URL やサンプルデータが掲載されています。

API の詳細

XML/JSON 形式のデータを送信して利用する

Ruby 又は PHP から XML/JSON 形式のデータを送信して API を利用する方法は、GitHub で公開しているサンプルコードをご覧下さい。

https://github.com/repoten-api/examples

Examples on github

Ruby サンプル一覧

PHP サンプル一覧

HTMLフォームから利用する

テンプレート詳細の下部「使い方」から Form のサンプル HTML をコピーします。

サンプル HTML をコピー

ご自分の Webサイトや Webサービスにコピーした Form の HTML を貼付け、適宜カスタマイズしてお使い下さい。 カスタマイズの際は、以下の項目は変更しないようにご注意下さい。