詳細情報:
ドキュメントの署名済み状況をポーリングする DocuSign ジョブのスケジュール
Salesforce Contracts には、EnvelopeStatusScheduler という Apex クラスが用意されています。このクラスをスケジュールして、電子署名プロセスの一環として送信された封筒の状況を DocuSign にポーリングできます。
エンベロープの詳細はメッセージングフレームワークに対して反復的にキューに入れられます。メッセージングフレームワークは、エンベロープの状況の更新を一度に 1 つずつ処理し、状況の更新中に特定の失敗が発生した場合の再試行メカニズムも備えています。
Salesforce UI からこのクラスをスケジュールする場合、スケジュールできるのは 1 時間ごとのみです (これは Salesforce の動作です)。ただし、開発者コンソールからより頻繁にクラスをスケジュールできます。DocuSign は 2 回連続してコールの間に独自の 15 分の最小間隔要件を設定しているため、次の例は、1 時間に 4 つのジョブが実行されるように 15 分間隔で実行されるスケジューラーを使用してスケジュールする方法を示しています。DocuSign をポーリングする頻度を減らす場合は、より少ない数のスケジューラーで実行できます。
これは、Docusign API の制限であり、15 分以上の間隔でのみリソースをポーリングできます。このジョブでは、15 分間隔の 4 つの Apex ジョブスケジューラが作成されます。そのため、Docusign 状況アンケートは 15 分間隔でのみ実行でき、それより短い間隔で実行することはできません。
-
[ユーザー] メニューから、[開発者コンソール] を選択します。
Force.com 開発者コンソールウィンドウが開きます。
-
[Debug (デバッグ)] メニューから、[Open Execute Anonymous Window (実行匿名ウィンドウを開く)] を選択します。
[Enter Apex Code] ダイアログボックスが開きます。
-
次のコードを「Enter Apex Code」ダイアログに貼り付けます。
ind_docgen_api.EnvelopeStatusScheduler envelopeScheduler = new ind_docgen_api.EnvelopeStatusScheduler(); System.schedule('Update Docusign Envelope Job 1', '0 0 * * * ?', envelopeScheduler); System.schedule('Update Docusign Envelope Job 2', '0 15 * * * ?', envelopeScheduler); System.schedule('Update Docusign Envelope Job 3', '0 30 * * * ?', envelopeScheduler); System.schedule('Update Docusign Envelope Job 4', '0 45 * * * ?', envelopeScheduler); - ステートメントを選択します。
- [強調表示を実行] をクリックします。
- 開発者コンソールを閉じます。
