コンテンツにスキップ

クイックスタート

このガイドでは、公開済みのテンプレートから PDF を1つ出すところまでを curl だけで進みます。

1. テンプレートを公開し、API キーを発行する

Section titled “1. テンプレートを公開し、API キーを発行する”
  1. スタジオで文書を組み、公開します。公開すると、その時点の下書きが変更不可の バージョンとして凍結されます。API が描くのは常に公開されたバージョンで、 作業中の下書きが出ることはありません。
  2. 設定 → API キーでキーを発行します。キーは1つのワークスペースに限定でき、 個別に失効させられるので、連携先ごとに1本発行してください。

キーはサーバー側に保管してください。持っている人がそのまま使える資格情報で、 スコープ内の文書をレンダリングしてダウンロードできます。

Terminal window
curl https://composepdf.com/v1/canvases \
-H "x-api-key: $COMPOSEPDF_API_KEY"

そのキーで届く公開済みキャンバスが、id つきで一覧されます。

テンプレートがどんなデータを期待しているかは、データスキーマを取得すると分かります。

Terminal window
curl https://composepdf.com/v1/canvases/{canvasId}/schema \
-H "x-api-key: $COMPOSEPDF_API_KEY"
Terminal window
curl -X POST https://composepdf.com/v1/canvases/{canvasId}/pdf \
-H "x-api-key: $COMPOSEPDF_API_KEY" \
-H "content-type: application/json" \
-d '{
"data": {
"customer": { "name": "Acme Inc." },
"items": [
{ "name": "Design work", "price": 1200 },
{ "name": "Hosting", "price": 90 }
]
}
}' \
--output invoice.pdf

応答の本体が PDF です。ペイロードがテンプレートの宣言した変数と合わない場合は、 黙って中身の違う文書が出るのではなく、違反したパスを列挙した 400 が返ります。

  • curl ではなく TypeScript でpnpm add composepdf で、テンプレート自身から データの型を生成できます。TypeScript を参照してください。
  • 多数のレコードを1ファイルにdataList(ペイロードの配列)を渡すと、 1レコード1文書として1つの PDF に綴じられます。 レンダリング API を参照してください。
  • 時間のかかるレンダリングPrefer: respond-async を付けると、接続を保持せずに 202 とジョブ id が返ります。 レンダリング API を参照してください。
  • 自社プロダクトの中でのライブプレビュー — テンプレートを iframe として埋め込み、 フォームの状態を流し込みます。 埋め込みライブプレビュー を参照してください。