Loading
Salesforce Contracts API 序列示例

Salesforce Contracts API 序列示例

以下是 Salesforce Contracts API 调用的示例顺序,涵盖了端到端合同生命周期的最佳路径。生命周期在您创建合同且合同处于草稿状态时开始,以激活合同。

Salesforce Contracts API 调用的示例顺序。

API 序列 场景 方法类型 API 路径 描述
1 创建合同 发布 <your domain URL>/services/data/{API version}/connect/clm/contract

从业务机会、报价、订单或任何其他标准或自定义对象创建合同。创建合同后,它处于草稿状态。

请求正文:

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

如果在合同创建时自动生成文档配置类型设置为真,应用程序将在合同创建时自动生成合同文档版本。

2 获取文档模板 取得 <您的域 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 合同使用自定义文档模板筛选。

3 生成合同文档 补丁 <your domain URL>/services/data/{API version}/connect/clm/contract/{ContractId}/contract-document-version

生成新的合同文档版本。合同状态必须是草稿状态,才能生成新的合同文档版本。

请求正文:

{
    "templateId":"<DocumentTemplateId>"
}
4 签入 补丁 <your domain URL>/services/data/{API version}/connect/clm/contract-document-version/${contract document version ID}/checkin 签入处于无效和锁定状态的最新合同文档版本。注意:只有生成文档的用户才能执行签到。
5 锁定 补丁 <your domain URL>/services/data/{API version}/connect/clm/contract-document-version/${contract document version ID}/lock 锁定当前合同文档版本。只有当合同处于草稿状态并且合同文档版本处于活动或签到状态时,您才能锁定合同文档版本。
6 解锁 补丁 <your domain URL>/services/data/{API version}/connect/clm/contract-document-version/${contract document version ID}/unlock 解锁当前合同文档版本。只有锁定合同文档版本的用户或系统管理员,才可以解锁锁定的合同文档版本。
7 签出生成 补丁 <your domain URL>/services/data/{API version}/connect/clm/contract-document-version/{$contract document version id}/checkout

使用签出生成操作,使用相同或不同模板生成新合同文档版本。

请求正文:

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

签出后,您必须运行签入 API。

8 提交待批准(执行操作) 补丁 <your domain 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 获取带有合同的电子签名文档 取得 <your domain URL>/services/data/{API version}/connect/e-sign/documents?sourceObjectId=${contractId}

查看与要发送电子签名的合同关联的文档列表。

文档详细信息是必须发送电子签名。您可以使用自定义 Apex 类自定义文档列表。Apex 类详细信息必须添加到电子签名配置中。

11 获取收件人 取得 <your domain URL>/services/data/{API version}/connect/e-sign/recipients?recipientSelector=ESignContactList&sourceObjectId={$contractId}

查看文档收件人列表。

收件人详细信息是发送电子签名所必需的。您可以使用自定义 Apex 类自定义收件人列表。Apex 类详细信息必须添加到电子签名配置中。

12 获取通知设置 取得 <your domain URL>/services/data/{API version}/connect/e-sign/notification-settings?sourceObjectId={$contractId} 查看提醒和到期通知设置。注意:通知详细信息是强制发送电子签名。
13 获取签名人角色 取得 <your domain URL>/services/data/{API version}/connect/e-sign/signer-roles

查看签名并将数据添加到信封中文档的表单字段的签名人列表。

签名人详细信息是发送电子签名所必需的。

14 发送电子签名(执行操作) 补丁 <your domain 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 是字符串化的 JSON,包含文档、模式、签名者角色和通知设置。

15 更新信封状态 补丁 <your domain URL>/services/data/{API version}/connect/clm/contract/${contractid}

向 DocuSign 发送更新信封状态的临时请求。一旦签名人签署了文档,您可以调用更新信封 API。

{
  "actionApiName": "updateEnvelopeStatus"
}
16

激活合同(执行操作)

补丁 <your domain URL>/services/data/{API version}/connect/clm/contract/${contractid}

激活合同。

使用 API 激活合同。

{
    "actionApiName" : "activateContract"
}
17 终止合同 补丁 <your org details>/services/data/{API version}/connect/clm/contract/${contractid}

终止合同。

{
    "actionApiName" : "terminateContract"
}

其他 API

场景 方法类型 API 路径 描述
获取合同文档版本列表 取得 <your domain URL>/services/data/{API version}/connect/clm/contract/<contractid>/contract-document-version 查看合同中已经可用的合同文档版本列表。
获取 SpecificContract 文档版本 取得 <your domain URL>/services/data/{API version}/connect/clm/contract/{ContractId}/contract-document-version?contractDocumentVersionId={ContractDocumentVersionId} 查看合同中已有的特定合同文档版本。
 
正在加载
Salesforce Help | Article