クイックスタート
このガイドでは、公開済みのテンプレートから PDF を1つ出すところまでを curl だけで進みます。
1. テンプレートを公開し、API キーを発行する
Section titled “1. テンプレートを公開し、API キーを発行する”- スタジオで文書を組み、公開します。公開すると、その時点の下書きが変更不可の バージョンとして凍結されます。API が描くのは常に公開されたバージョンで、 作業中の下書きが出ることはありません。
- 設定 → API キーでキーを発行します。キーは1つのワークスペースに限定でき、 個別に失効させられるので、連携先ごとに1本発行してください。
キーはサーバー側に保管してください。持っている人がそのまま使える資格情報で、 スコープ内の文書をレンダリングしてダウンロードできます。
2. キャンバスを探す
Section titled “2. キャンバスを探す”curl https://composepdf.com/v1/canvases \ -H "x-api-key: $COMPOSEPDF_API_KEY"そのキーで届く公開済みキャンバスが、id つきで一覧されます。
テンプレートがどんなデータを期待しているかは、データスキーマを取得すると分かります。
curl https://composepdf.com/v1/canvases/{canvasId}/schema \ -H "x-api-key: $COMPOSEPDF_API_KEY"3. PDF をレンダリングする
Section titled “3. PDF をレンダリングする”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 が返ります。
次に読むもの
Section titled “次に読むもの”- curl ではなく TypeScript で —
pnpm add composepdfで、テンプレート自身から データの型を生成できます。TypeScript を参照してください。 - 多数のレコードを1ファイルに —
dataList(ペイロードの配列)を渡すと、 1レコード1文書として1つの PDF に綴じられます。 レンダリング API を参照してください。 - 時間のかかるレンダリング —
Prefer: respond-asyncを付けると、接続を保持せずに202とジョブ id が返ります。 レンダリング API を参照してください。 - 自社プロダクトの中でのライブプレビュー — テンプレートを iframe として埋め込み、 フォームの状態を流し込みます。 埋め込みライブプレビュー を参照してください。