docuseal-code について
docuseal-codeは、DocuSealの文書署名をアプリに組み込む開発者向けのリファレンススキルです。タスクやフロントエンド別に、埋め込み、REST API、Webhook、SDK、安全性の情報を整理しています。
主な機能
- 01Signing FormとForm Builderの埋め込みガイド
- 02JavaScript、React、Vue、Angularのリファレンス
- 03REST APIエンドポイントとWebhookの案内
- 044言語のSDKサンプル
- 05JWT、ホスト設定、スタイル、安全性の説明
活用シーン
- 01署名またはテンプレート作成画面の埋め込み
- 02テンプレートや送信データの作成・管理
- 03Webhookによる完了状況の追跡設定
- 04認証と埋め込みの安全性確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ docusealco/ docuseal-agent-skills --skill docuseal-codeインストール後、Claude Code で/docuseal-codeを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/api/archive-a-submission.mdarchive-a-template.mdclone-a-template.mdcreate-a-submission-from-docx.mdcreate-a-submission-from-html.mdcreate-a-submission-from-pdf.mdcreate-a-submission.mdcreate-a-template-from-docx.mdcreate-a-template-from-html.mdcreate-a-template-from-pdf.mdcreate-pdf-document-fillable-form-with-html-api.mdcreate-submissions-from-emails.mddownload-signed-documents.mdform-webhook.mdget-a-submission.mdget-a-submitter.mdget-a-template.mdget-submission-documents.mdlist-all-submissions.mdlist-all-submitters.mdlist-all-templates.mdmerge-templates.mdpre-fill-pdf-document-form-fields-with-api.mdsend-documents-for-signature-via-api.mdsubmission-webhook.mdtemplate-webhook.mdupdate-a-submission.mdupdate-a-submitter.mdupdate-a-template.mdupdate-template-documents.md詳細
リファレンスの構成
リファレンスファイルは、references/ 以下の2つのサブディレクトリにあります。
references/embed/— 埋め込みUIコンポーネント(署名フォーム、テンプレートビルダー)。各ファイルは単独で完結しているため、ユーザーのスタックに合ったものだけを読み込んでください。references/api/— REST API エンドポイントとウェブフック。各エンドポイント/ウェブフックにつき1ファイルで、パラメーター、スキーマ、コード例、レスポンスのサンプルを記載しています。
埋め込みUIコンポーネント
| コンポーネント | タグ | 目的 | JWT |
|---|---|---|---|
| 署名フォーム | <docuseal-form> | ページに文書署名UIを埋め込みます | 任意 |
| フォームビルダー | <docuseal-builder> | 完全なテンプレート/文書ビルダーを埋め込みます | 必須 |
各コンポーネントには、4種類のフロントエンド実装が用意されています。JavaScript / React / Vue / Angular。
署名フォーム(<docuseal-form>)
- JavaScript / HTML → references/embed/signing-form-js.md
- React → references/embed/signing-form-react.md
- Vue → references/embed/signing-form-vue.md
- Angular → references/embed/signing-form-angular.md
- モバイル(WebView 経由の Android/iOS/React Native/Flutter)→ references/embed/signing-form-mobile-integration.md
フォームビルダー(<docuseal-builder>)
- JavaScript / HTML → references/embed/form-builder-js.md
- React → references/embed/form-builder-react.md
- Vue → references/embed/form-builder-vue.md
- Angular → references/embed/form-builder-angular.md
メインコンポーネントのリファレンスを読み込んだ後、## Guides セクションのリンクから、手順ごとのガイドを参照してください。
横断的な項目
- JWT トークンの生成 — フォームビルダー(Node/TypeScript/Ruby/Python/PHP/Java/C#/Go)→ references/embed/form-builder-jwt-token.md
- JWT トークンの生成 — 署名フォームの完了/プレビューモード → references/embed/signing-form-completed-preview-jwt-token.md
- EU Cloud/セルフホスト可能な環境の
host設定 — 署名フォーム → references/embed/signing-form-hosts.md - EU Cloud/セルフホスト可能な環境の
host設定 — フォームビルダー → references/embed/form-builder-hosts.md - カスタムCSSのテーマ設定 — 署名フォーム(ダークテーマのリファレンス)→ references/embed/signing-form-custom-css.md
- カスタムCSSのテーマ設定 — フォームビルダー(ダークテーマのリファレンス)→ references/embed/form-builder-custom-css.md
- 署名フォームのセキュリティに関する推奨事項 → references/embed/signing-form-security-recommendations.md
- フォームビルダーのセキュリティに関する推奨事項 → references/embed/form-builder-security-recommendations.md
パッケージ
| フレームワーク | パッケージ | CDN |
|---|---|---|
| JavaScript | — | https://cdn.docuseal.com/js/form.js, https://cdn.docuseal.com/js/builder.js |
| React | @docuseal/react | — |
| Vue | @docuseal/vue | — |
| Angular | @docuseal/angular | — |
| React Native | react-native-webview を使用(ネイティブSDKなし) | — |
| Flutter | webview_flutter を使用(ネイティブSDKなし) | — |
よくある埋め込み時の間違い
| # | 間違い | 修正方法 |
|---|---|---|
| 1 | ブラウザーで JWT を生成する | JWT は バックエンド で署名する必要があります。API キーをクライアントに送信してはいけません。form-builder-jwt-token.md / signing-form-completed-preview-jwt-token.md を参照してください。 |
| 2 | API キーを data-token として渡す | data-token に設定するのは、API キー で署名された JWT であり、API キーそのものではありません。 |
| 3 | EU またはセルフホスト環境で host / data-host を設定しない | EU Cloud の場合は data-host="cdn.docuseal.eu" を、セルフホストの場合は独自のホスト名を設定してください。signing-form-hosts.md / form-builder-hosts.md を参照してください。 |
| 4 | /d/{slug} と /s/{slug} を混同する | /d/{slug} はテンプレート URL です(署名者が 1 人のテンプレート)。/s/{slug} は、/submissions API で作成された個別の署名者 URL です。 |
| 5 | 複数当事者のテンプレートに data-src URL を使用する | 署名者が複数いるテンプレートは、/submissions API 経由で開始する必要があります。直接指定する /d/{slug} URL が機能するのは、署名者が 1 人のテンプレートのみです。 |
| 6 | HTML で camelCase のプロパティを使用する | Web コンポーネントでは data-* のケバブケース属性を使用します。camelCase のプロパティを使用するのは React、Vue、Angular のみです。 |
| 7 | ネイティブのモバイル SDK があると期待する | ネイティブのモバイル SDK はありません。WebView で埋め込んでください。signing-form-mobile-integration.md を参照してください。 |
| 8 | customCss にスタイルシートのリンクを渡す | customCss / data-custom-css に渡すのは CSS 文字列であり、URL ではありません。signing-form-custom-css.md / form-builder-custom-css.md を参照してください。 |
| 9 | 推測可能な URL の背後に署名フォームを埋め込む | DocuSeal のスラッグはランダムですが、https://yourapp.com/contracts/123/sign のような埋め込みページでは、攻撃者が整数 ID を順に試して、他のユーザーの署名フォームにアクセスできてしまいます。DocuSeal のスラッグまたは UUID を URL に含めるか、埋め込みページに認証を必須にしてください。signing-form-security-recommendations.md を参照してください。 |
| 10 | 認証なしでフォームビルダーを公開する | <docuseal-builder> をレンダリングするページには、アプリの認証を適用する必要があります。JWT 発行エンドポイントでは、リクエストしたユーザーが external_id で参照されるテンプレートを所有していることを確認してください。そうしないと、ログイン済みのユーザーなら誰でも任意のテンプレートを編集できてしまいます。form-builder-security-recommendations.md を参照してください。 |
| 11 | クライアント側の completed イベントに基づいて処理する | ブラウザーイベントは偽装できます。<docuseal-form> の JavaScript コールバックではなく、HMAC 検証を行った form.completed Webhook に基づいて状態を変更してください。signing-form-security-recommendations.md を参照してください。 |
REST API
認証
すべてのリクエストでは、X-Auth-Token ヘッダーで API キーを渡す必要があります。
X-Auth-Token: YOUR_API_KEY
API キーはこちらから取得できます:https://console.docuseal.com/api
ベース URL
| 環境 | ベース URL |
|---|---|
| グローバル Cloud | https://api.docuseal.com |
| EU Cloud | https://api.docuseal.eu |
| セルフホスト | https://docuseal.yourdomain.com/api |
API クライアント SDK
公式 SDK ライブラリは REST API をラップし、認証、リクエストの構築、レスポンスの解析を処理します。ユーザーの使用言語に対応する SDK がある場合は、生の HTTP より SDK を優先してください。
| 言語 | パッケージ | インストール |
|---|---|---|
| JavaScript / TypeScript | @docuseal/api | npm install @docuseal/api |
| Python | docuseal | pip install docuseal |
| Ruby | docuseal | gem install docuseal |
| PHP | docusealco/docuseal | composer require docusealco/docuseal |
各エンドポイントのリファレンスファイルには、SDK の使用例が含まれています(見出しに「SDK」と記載されています)。
エンドポイント
テンプレート
GET /templates— すべてのテンプレートを一覧表示GET /templates/{id}— テンプレートを取得DELETE /templates/{id}— テンプレートをアーカイブPUT /templates/{id}— テンプレートを更新PUT /templates/{id}/documents— テンプレートのドキュメントを更新POST /templates/{id}/clone— テンプレートを複製POST /templates/html— HTML からテンプレートを作成POST /templates/docx— DOCX からテンプレートを作成POST /templates/pdf— PDF からテンプレートを作成POST /templates/merge— テンプレートを結合
提出
GET /submissions— すべての提出を一覧表示GET /submissions/{id}— 提出を取得GET /submissions/{id}/documents— 提出書類を取得DELETE /submissions/{id}— 提出をアーカイブPUT /submissions/{id}— 提出を更新POST /submissions/emails— メールから提出を作成POST /submissions/pdf— PDF から提出を作成POST /submissions/docx— DOCX から提出を作成POST /submissions/html— HTML から提出を作成POST /submissions— 提出を作成
提出者
GET /submitters/{id}— 提出者を取得PUT /submitters/{id}— 提出者を更新GET /submitters— すべての提出者を一覧表示
Webhook
Webhook URL を設定:https://console.docuseal.com/webhooks
セットアップ、シークレット、HMAC 署名の検証、ローカル開発 → references/api/use-webhooks.md
一般的な API パターン
- 署名用にドキュメントを送信する: テンプレートを作成(または既存のものを使用)→ 提出者のメールアドレスを指定して
POST /submissions→ 提出者に署名リンクが届きます - アプリに署名を埋め込む:
send_email: falseを指定して提出を作成 → 返されたslugを<docuseal-form>で使用します(上記の UI コンポーネントの埋め込みを参照) - 事前入力して自動署名する:
fields[].default_valueとcompleted: trueを指定してPOST /submissions - 完了状況を追跡する:
GET /submissions/{id}をポーリングするか、form.completedの Webhook を設定します - 署名済みドキュメントをダウンロードする:
GET /submissions/{id}/documentsは PDF の URL を返します
クイック判断フロー
- コンポーネントを埋め込みますか? → Signing Form または Form Builder →
references/embed/から読み込みます。 - API を呼び出しますか? → 使用言語に SDK(JS/TS、Python、Ruby、PHP)があるか確認し、生の HTTP より優先します。該当するエンドポイントを
references/api/から読み込みます。 - 埋め込み方法についての質問ですか? コンポーネントのリファレンスにある
## Guidesセクションのリンクをたどります。 - モバイルですか? references/embed/signing-form-mobile-integration.md を読み込みます。
- JWT が必要ですか? Form Builder では常に必要です。references/embed/form-builder-jwt-token.md を読み込みます。Signing Form では
data-tokenを使用する場合(プレビュー/完了モード)のみ必要です。references/embed/signing-form-completed-preview-jwt-token.md を読み込みます。 docuseal.com以外を使用していますか? コンポーネントに応じて、references/embed/signing-form-hosts.md または references/embed/form-builder-hosts.md を読み込みます。- カスタムテーマを使用しますか? コンポーネントに応じて、references/embed/signing-form-custom-css.md または references/embed/form-builder-custom-css.md を読み込みます。
- 認証、URL の処理、Webhook の検証、またはセキュリティに関わる埋め込みを行いますか? コンポーネントに応じて、references/embed/signing-form-security-recommendations.md または references/embed/form-builder-security-recommendations.md を読み込みます。
- CLI コマンドですか? 同じリポジトリにある兄弟の
docuseal-cliスキルを読み込みます。