その他のツール

Press API

HTTP を使ってレンダリングジョブとテンプレートの版を管理します。

InkSmith Press は、共有テンプレートとプロダクションレンダージョブ用のバージョン化された HTTP API を公開します。 デスクトップのPress Controlは同じ管理境界を使用します。 API は認可されたクライアントのためです。ローカルデスクトップの作業には必須ではありません。

インスタンスを発見する

Press の展開は GET /health、GET /ready、GET /api/v1/instance を公開します。 作業を送信する前に、API バージョン、レンダラの互換性、および受け入れられたテンプレートスキーマをチェックするために、readiness とインスタンスの検出を使用します。

サーバは、設定された HTTPS ゲートウェイの後ろにリモートで使用する必要があります。 Docker と Windows サービスオプションの Press導入ガイド に従ってください。

クライアントの認証とスコープ

保護された要求にAuthorization: Bearer <token>を送って下さい。 API クライアントは、必要な範囲のみを受信します。 レンダリングのために、関連する権限は、renders.create、jobs.read、およびoutputs.readです。 管理スコープには、templates.read、templates.write、templates.publishが含まれます。

発行済のクレデンシャルをテンプレート、ソースコントロール、ブラウザ JavaScript 以外に保存します。 Press は、ハッシュとして API-client の認証情報を保存し、即時のリボケーションをサポートしています。

レンダリングジョブの送信と取得

アクティブな公開されたテンプレートのみがレンダリングできます。 典型的な要求はあります:

POST /api/v1/render-jobs
Authorization: Bearer <token>
Content-Type: application/json
Idempotency-Key: invoice-1042

{"template_id":"<published-template-id>","data":{"customer":{"name":"Ada"}}}

ジョブは非同期です。 ステータスがcompleted、failed、またはcancelledであるまでGET /api/v1/render-jobs/:idを読みます。 完了すると、GET /api/v1/render-jobs/:id/output は、発信者が outputs.read を持っている場合は PDF を返します。

不確実なネットワーク障害 同じリクエストとクレデンシャルのみ の後の同じ idempotency キーを再使用して下さい。 変更された入出力で再利用すると409 idempotency_conflictが生成されます。

テンプレートのリビジョンを管理する

コレクション、テンプレート、ドラフト、バージョン、出版物はサーバー所有です。 Draft コンテンツ転送は application/vnd.inksmith.template を使用します。 保存と出版物は、If-Matchの現在の不透明リビジョンを必要とします。 ストールドラフトの更新は、412 template_revision_conflictを受け取ります。 公開版は不変です。 非公開およびロールバックは別の出版物の修正で作動します。

デスクトップ編集ワークフローの Press Control を参照してください。 Press導入ガイドは、サポートされているホスティングパスと現在の制限について説明します。

現在の規模: インタラクティブなユーザーとロール管理、証明書の登録、およびいくつかの保持制御はまだ開発中です。 公開された API および許可チェックをコントラクトとして扱います。直接データベースの変更でそれらを迂回しないでください。