Loading
メールアドレスがデフォルトのログイン方式となります 続きを読む
Salesforce Contracts API シーケンスのサンプル

Salesforce Contracts API シーケンスのサンプル

Salesforce Contracts APIコールのサンプル シーケンスを次に示します。これは、エンドツーエンドの契約ライフサイクルの最適なパスを対象としています。ライフサイクルは、契約を作成したときに開始され、契約がドラフト状態から契約の有効化になります。

Salesforce Contracts API コールのサンプルシーケンス。

API シーケンス シナリオ メソッド種別 API パス Description
1 契約の作成 POST <ドメイン URL>/services/data/{API バージョン}/connect/clm/contract

商談、見積、注文、またはその他の標準またはカスタムオブジェクトから契約を作成する。契約が作成されると、ドラフト状況になります。

request body:

{
    "sourceObjectId":"{$SourceObjectId}",
   "templateName":"{$DocumentTemplateName}",
    "isAutoDocgenRequired":false
} 

[契約時にドキュメントを自動生成] 設定種別が [契約作成時] に設定されている場合、契約の作成時に契約ドキュメントバージョンが自動的に生成されます。

2 ドキュメントテンプレートの取得 GET <ドメイン URL>/services/data/{API バージョン}/connect/clm/document-template?usageType=Contract_LifeCycle_Management&isActive=true&type=MicrosoftWord

すべての有効なドキュメントテンプレートがリストされます。デフォルトでは、次の条件を満たすテンプレートが表示されます。

Type = ‘Microsoftword’,

UsageType = ‘Contract_Lifecycle_Management’,

IsActive = true

カスタムフィルタリングの詳細については、「Use Custom Document Template Filtering for Salesforce Contracts (Salesforce Contracts のカスタムドキュメントテンプレートフィルタリングの使用)」を参照してください。

3 契約ドキュメントの生成 PATCH <ドメイン URL>/services/data/{API version}/connect/clm/contract/{ContractId}/contract-document-version

新しい契約ドキュメントバージョンを生成する。新しい契約ドキュメントバージョンを生成するには、契約状況がドラフト状態である必要があります。

request body:

{
    "templateId":"<DocumentTemplateId>"
}
4 Check In (チェックイン) PATCH <ドメイン URL>/services/data/{API version}/connect/clm/contract-document-version/${contract document version ID}/checkin 無効かつロックされている最新の契約ドキュメントバージョンをチェックインする。注意: チェックインを実行できるのは、ドキュメントを生成したユーザーのみです。
5 ロック PATCH <ドメイン URL>/services/data/{API version}/connect/clm/contract-document-version/${contract document version ID}/lock 現在の契約ドキュメントバージョンをロックする。契約ドキュメントバージョンをロックできるのは、契約がドラフト状態で、契約ドキュメントバージョンが有効またはチェックインされている場合のみです。
6 ロック解除 PATCH <ドメイン URL>/services/data/{API version}/connect/clm/contract-document-version/${contract document version ID}/unlock 現在の契約ドキュメントバージョンのロックを解除する。ロックされた契約ドキュメントバージョンをロック解除できるのは、契約ドキュメントバージョンをロックしたユーザーまたはシステム管理者のみです。
7 チェックアウト 生成 PATCH <ドメイン URL>/services/data/{API バージョン}/connect/clm/contract-document-version/{$contract document version id}/Checkout

チェックアウト時の [アクションを生成] を使用して、同じテンプレートまたは異なるテンプレートを使用して新しい契約ドキュメントバージョンを生成する。

request body:

{
    "templateId":"{$templateId}"
} 

チェックアウト後、チェックイン API を実行する必要があります。

8 承認申請 (アクションの実行) PATCH <ドメイン URL>/services/data/{API バージョン}/connect/clm/contract/${contractid}

[アクションを実行] API を使用して承認申請アクションをコールする。エンドポイントは同じままですが、API ごとに要求パラメーターが異なります。

{
    "actionApiName" : "submitForApproval"
}

承認プロセスを設定する必要があります。

9 承認 なし なし

これは汎用の Salesforce Approval API です。詳細については、 https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_process_approvals_approve.htm を参照してください。

10 Get Documents for eSign with contract (契約で電子サインのドキュメントを取得) GET <ドメイン URL>/services/data/{API バージョン}/connect/e-sign/documents?sourceObjectId=${contractId}

電子署名を送信する契約に関連付けられているドキュメントのリストを表示する。

電子署名を送信するには、ドキュメントの詳細が必要です。ドキュメント リストは、カスタム Apex クラスを使用してカスタマイズできます。Apex クラスの詳細は、電子署名設定に追加する必要があります。

11 Get Recipients (受信者を取得) GET <ドメイン URL>/services/data/{API バージョン}/connect/e-sign/recipients?recipientSelector=ESignContactList&sourceObjectId={$contractId}

ドキュメント受信者のリストを表示する。

電子署名を送信するには、受信者の詳細が必要です。受信者リストは、カスタム Apex クラスを使用してカスタマイズできます。Apex クラスの詳細は、電子署名設定に追加する必要があります。

12 通知設定を取得 GET <ドメイン URL>/services/data/{API バージョン}/connect/e-sign/notification-settings?sourceObjectId={$contractId} リマインダーと有効期限の通知設定を参照する。注意: 電子署名のために通知の詳細を送信する必要があります。
13 署名者ロールの取得 GET <ドメイン URL>/services/data/{API バージョン}/connect/e-sign/signer-roles

封筒内のドキュメントのフォーム項目に署名してデータを追加する署名者のリストを表示する。

電子署名を送信するには、署名者の詳細が必要です。

14 電子署名で送信 (アクションを実行) PATCH <ドメイン URL>/services/data/{API バージョン}/connect/clm/contract/${contractid}

Send Envelope API を使用して新しい DocuSign トランザクションを有効にする。

アクション API は、次のパラメーターをカバーする必要があります。

{
  "actionApiName": "sendForESign",
  "actionData":
  {
  "requestBody": <Request Body for E-Signature>  }
}

サンプルリクエストボディ。JSON の詳細を文字列に変換して、上記のリクエストボディに追加する必要があります。

{
    "vendor": "Docusign",
    "emailSettings": {
        "emailSubject": "<EMail Subject>",
        "emailBody": "<EMail Body>"
    },
    "documents": [{
        "fileExtension": "<Ex:docx>",
        "name": "<File name to be sent for ESign EX:Test.docx>",
        "sourceId": "<Document Content Id of the file to be sent for ESign>",
        "sourceType": "Content",
        "documentId": "1"
    }],
    "recipients": {
        "signers": [{
            "name": "<Signer Name>",
            "email": "abc@example.com", 
            "recipientId": "1",
            "routingNumber": 1,
            "recipientType": "signer",
            "recipientLocale": "EN",
            "signerRole": 1,
            "routingOrder": 1
        }],
         "inPersonSigners": [{
            "name": "<Host Name>",
            "email": "xyz@example.com", 
            "recipientId": "2",
            "routingNumber": 2,
            "parentSignerName":"<Name of the In Person Signer>",
            "recipientType": "inPersonSigner",
            "recipientLocale": "EN",
            "signerRole": 2,
            "routingOrder": 2
        }],
         "carbonCopies": [{
            "name": "<Carbon Copy Recipient Name>",
            "email": "test@example.com", 
            "recipientId": "3",
            "routingNumber": 2,
            "recipientType": "carbonCopy",
            "recipientLocale": "EN",
            "routingOrder": 2
        }]
    },
    "notificationSettings": {
        "useAccountDefaults": false,
        "reminders": {
            "reminderFrequency": "1",
            "reminderDelay": "2",
            "reminderEnabled": false
        },
        "expirations": {
            "expireWarn": "1",
            "expireAfter": "5",
            "expireEnabled": false
        }
    }
}

actionData は、document、recipint、signer roler、notification 設定を含む文字列化された JSON です。

15 エンベロープ状況の更新 PATCH <ドメイン URL>/services/data/{API バージョン}/connect/clm/contract/${contractid}

封筒の状況を更新するアドホック要求を DocuSign に送信する。署名者が文書に署名したら、Update Envelope API をコールできます。

{
  "actionApiName": "updateEnvelopeStatus"
}
16

契約の有効化 (アクションの実行)

PATCH <ドメイン URL>/services/data/{API バージョン}/connect/clm/contract/${contractid}

契約を有効化する。

API を使用して契約を有効化します。

{
    "actionApiName" : "activateContract"
}
17 契約の解除 PATCH <組織の詳細>/services/data/{API バージョン}/connect/clm/contract/${contractid}

契約を終了する場合。

{
    "actionApiName" : "terminateContract"
}

その他の API

シナリオ メソッド種別 API パス 説明
契約ドキュメントバージョンのリストの取得 GET <ドメイン URL>/services/data/{API version}/connect/clm/contract/<contractid>/contract-document-version 契約ですでに使用可能な契約ドキュメントバージョンのリストを表示する。
特定の契約ドキュメントバージョンを取得 GET <ドメイン URL>/services/data/{API バージョン}/connect/clm/contract/{ContractId}/contract-document-version?contractDocumentVersionId={ContractDocumentVersionId} 契約ですでに使用可能な特定の契約ドキュメントバージョンを表示する。
 
読み込み中
Salesforce Help | Article