Loading
Salesforce Contracts API 序列範例

Salesforce Contracts API 序列範例

以下是 Salesforce Contracts API 呼叫的範例順序,涵蓋端對端契約生命週期的最佳路徑。生命週期會在您建立契約且契約處於草稿狀態為契約啟用時開始。

Salesforce Contracts API 呼叫的範例順序。

API 序列 實例 方法類型 API 路徑 描述
1 建立契約 POST <您的網域 URL>/services/data/{API version}/connect/clm/contract

從機會、報價、訂單或任何其他標準或自訂物件建立契約。建立契約後,其會處於草稿狀態。

要求內文:

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

如果「契約建立時自動產生文件」組態類型設定為 true,則應用程式會在建立契約時自動產生契約文件版本。

2 個 取得文件範本 GET <您的網域 URL>/services/data/{API version}/connect/clm/document-template?usageType=Contract_LifeCycle_Management&isActive=true&type=MicrosoftWord

列出所有啟用的文件範本。依預設,會列出符合這些條件的範本:

類型 = ‘Microsoftword’,

UsageType = ‘Contract_Lifecycle_Management’,

IsActive = true

如需自訂篩選的資訊,請參閱針對 Salesforce Contracts 使用自訂文件範本篩選。

3 產生契約文件 PATCH <您的網域 URL>/services/data/{API version}/connect/clm/contract/{ContractId}/contract-document-version

產生新的契約文件版本。契約狀態必須為草稿狀態,才能產生新的契約文件版本。

要求內文:

{
    "templateId":"<DocumentTemplateId>"
}
4 聯繫 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 version}/connect/clm/contract-document-version/{$contract document version id}/Checkout

若要使用相同或不同的範本產生新契約文件版本,請使用簽退產生動作。

要求內文:

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

簽退後,您必須執行簽到 API。

8 提交以待批准 (執行動作) PATCH <您的網域 URL>/services/data/{API version}/connect/clm/contract/${contractid}

使用「執行動作 API」呼叫提交以待批准動作。端點保持不變,但每個 API 都有不同的要求參數。

{
    "actionApiName" : "submitForApproval"
}

必須設定「批准流程」。

9 批准 無 無

這是一般 Salesforce 批准 API。如需詳細資訊,請參閱 https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_process_approvals_approve.htm。

10 通 使用契約取得電子簽署文件 GET <您的網域 URL>/services/data/{API version}/connect/e-sign/documents?sourceObjectId=${contractId}

檢視與您要傳送以進行電子簽章的契約相關聯的文件清單。

電子簽章需要傳送文件詳細資料。您可以使用自訂 Apex 類別自訂文件清單。必須在「電子簽章組態」中新增 Apex 類別詳細資料。

11 取得收件者 GET <您的網域 URL>/services/data/{API version}/connect/e-sign/recipients?recipientSelector=ESignContactList&sourceObjectId={$contractId}

檢視文件收件者清單。

必須傳送收件者詳細資料,才能進行電子簽名。您可以使用自訂 Apex 類別自訂收件者清單。必須在「電子簽章組態」中新增 Apex 類別詳細資料。

12 取得通知設定 GET <您的網域 URL>/services/data/{API version}/connect/e-sign/notification-settings?sourceObjectId={$contractId} 若要檢視提醒與到期通知設定。備註:電子簽章需要傳送通知詳細資料。
13 取得簽署人角色 GET <您的網域 URL>/services/data/{API version}/connect/e-sign/signer-roles

檢視簽署並新增資料至信封中文件表格欄位的簽署者清單。

必須傳送簽署者詳細資料以進行電子簽章。

14 傳送電子簽名 (執行動作) PATCH <您的網域 URL>/services/data/{API version}/connect/clm/contract/${contractid}

使用「傳送信封 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 是包含文件、recipeint、簽署者角色和通知設定的已串連 JSON。

15 更新信封狀態 PATCH <您的網域 URL>/services/data/{API version}/connect/clm/contract/${contractid}

將臨時要求傳送至 DocuSign 以更新信封狀態。簽署者簽署文件後,您可以呼叫「更新信封 API」。

{
  "actionApiName": "updateEnvelopeStatus"
}
16

啟用契約 (執行動作)

PATCH <您的網域 URL>/services/data/{API version}/connect/clm/contract/${contractid}

啟用契約。

使用 API 啟用契約。

{
    "actionApiName" : "activateContract"
}
17 終止契約 PATCH <您的組織詳細資料>/services/data/{API version}/connect/clm/contract/${contractid}

若要終止契約。

{
    "actionApiName" : "terminateContract"
}

其他 API

實例 方法類型 API 路徑 描述
取得契約文件版本清單 GET <您的網域 URL>/services/data/{API version}/connect/clm/contract/<contractid>/contract-document-version 檢視契約中已提供的契約文件版本清單。
取得 SpecificContract 文件版本 GET <您的網域 URL>/services/data/{API version}/connect/clm/contract/{ContractId}/contract-document-version?contractDocumentVersionId={ContractDocumentVersionId} 檢視契約中已提供的特定契約文件版本。
 
正在載入
Salesforce Help | Article