DocuSign

DocuSign APIとSalesforce連携の設定ガイド

ⓘ本ページはプロモーションが含まれています

スポンサードリンク

DocuSign APIとSalesforce連携の概要

DocuSign APIとSalesforceの連携は、契約書の電子署名プロセスを自動化し、業務効率化を図るための重要な技術です。OAuth認証Webhookといった仕組みにより、Salesforce内での操作が最適化され、リアルタイムなデータ同期が実現されます。本記事では、技術的な詳細にフォーカスし、実際の導入手順を具体的に解説します。


OAuth 2.0認証の設定手順

OAuth認証はDocuSign APIとの安全な接続を確立するための基盤です。誤った設定はセキュリティリスクにつながるため、以下の手順を厳守してください。

DocuSign管理者画面でのクライアントID取得

DocuSign管理画面にログインし、「APIアクセス」メニューからクライアントアプリケーションを作成します。ここではクライアントIDとシークレットが発行されます。これらは後続の認証フローで必須となるため、厳重に保管してください。

注意: クライアントシークレットはリフレッシュトークン生成時に使用されるため、外部に漏洩しないよう管理し、定期的な交換を検討してください。

Salesforce側の認証フロー構成

Salesforce内でのOAuthフロー実装には、JWT Bearer Token Flowが推奨されます。以下は基本的な手順です:

  1. Salesforce ApexコードでJWTトークンを作成し、DocuSignに送信します。
  2. DocuSignが認証を成功した場合、アクセストークンとリフレッシュトークンが返却されます。
  3. アクセストークンはAPI呼び出し時にAuthorization: Bearer <token>ヘッダーで使用し、有効期限切れ時はリフレッシュトークンで再発行します。

DocuSign APIエンドポイントとの接続方法

DocuSign APIのRESTインターフェースはHTTPS経由でのみアクセス可能です。以下に主要な操作手順を示します。

APIクライアントの作成と認証ヘッダー設定

Salesforce ApexやNode.jsなど、開発環境に応じてAPIクライアントを作成します。認証ヘッダーは以下の形式で構築してください:

セキュリティ対策: アクセストークンをリソースに保存する場合、暗号化技術(例: SalesforceのProtected Storage)を併用し、不正アクセスを防止してください。

Envelope作成APIの実装例

DocuSign APIでEnvelope(署名依頼)を作成する際は、/v2.1/accounts/{accountId}/envelopesエンドポイントを使用します。以下はJSONリクエストの例です:

このAPI呼び出しにより、Salesforceオブジェクトのデータを含んだ署名依頼が生成されます。


Salesforce側でのWebhook構成

DocuSign APIとSalesforce間の双方向通信は、Webhook(イベント通知)を通じて実現します。以下に具体的な設定方法を解説します。

DocuSignイベント通知設定

  1. DocuSign管理者画面で「Event Types」を選択し、「Envelope Completed」などの必要なイベントを登録します。
  2. Webhookの受信URLとして、Salesforce Apexからアクセス可能なエンドポイント(例: https://yourdomain.salesforce.com/services/apexrest/docusign-webhook)を設定します。

注意: リクエスト先URLはHTTPSで開始し、CORS設定も合わせて確認してください。

Salesforce Apexトリガーの作成

Salesforce側では、DocuSignからのWebhookデータを受け取るためのApex REST APIを作成します。以下が簡易なコード例です:


電子署名後のデータ同期フロー

署名完了後、DocuSign APIからSalesforceへのリアルタイムなデータ更新が求められます。以下は具体的な手順です。

DocuSign API応答のパース処理

Envelope作成APIやステータス確認API(/v2.1/envelopes/{envelopeId})のレスポンスに含まれる情報を、Salesforceオブジェクトとマッピングします。例えば:

DocuSign応答項目 Salesforceフィールド
envelopeId 契約書ID
status 署名ステータス(完了/未完了)

Salesforceレコードへのデータマッピング

Salesforce側で、取得した情報を以下のように更新します:

同期失敗時の対応: ネットワーク障害やAPIレート制限で失敗した場合、リトライロジック(例: 指数バックオフ)を実装し、最大3回まで再試行する仕組みにします。


エラーハンドリングベストプラクティス

API連携では、認証エラー・ネットワーク障害などの対応が不可欠です。以下に具体的な処理フローを示します。

HTTPステータスコード別の処理フロー

ステータスコード 対応策
401 Unauthorized アクセストークンの再発行(リフレッシュトークン使用)
429 Too Many Requests APIレート制限に達した場合、一時停止して再試行
500 Internal Server Error ネットワーク障害やDocuSign側エラーとして監視

ログ監視とアラート設定

  • SalesforceのLog ViewerDocuSignのAudit Trailで、API呼び出しが正常に実行されているかを確認します。
  • エラーが発生した場合、SlackまたはTeamsなどへ自動的に通知するロジックを組み込むことで、迅速な対応が可能になります。

  • OAuth認証Webhook構成は連携の核となる技術です。
  • APIエンドポイントとの接続にはHTTPSを必須にし、セキュリティ対策を強化してください。
  • 電子署名後のデータ同期フローは、業務プロセスの効率化に直結します。
  • エラーハンドリングを適切に行うことで、システム全体の信頼性が向上します。

導入に際しては公式ドキュメントと併せてご確認いただき、必要に応じて専門エンジニアへの相談を検討してください。


スポンサードリンク

-DocuSign