Loading
Пример последовательности API Salesforce Contracts

Пример последовательности API Salesforce Contracts

Ниже указана примерная последовательность вызовов Salesforce Contracts API, которая охватывает оптимальный путь для полного жизненного цикла контракта. Жизненный цикл начинается, когда вы создаете контракт, а контракт находится в состоянии черновика для активации контракта.

Пример последовательности вызовов Salesforce Contracts API.

Последовательность API Сценарий Тип метода Путь API Описание
1 Создание контракта POST <URL-адрес вашего домена>/services/data/{API-версия}/connect/clm/contract

Для создания контракта из возможности, сметы, заказа или любого другого стандартного или настраиваемого объекта. После создания контракта он находится в статусе черновика.

текст запроса:

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

Если тип конфигурации «Автоматическое создание документа при создании контракта» установлен на значение true, приложение автоматически создает версию документа контракта при создании контракта.

2 Получение шаблонов документов GET <URL-адрес вашего домена>/services/data/{API-версия}/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-версия}/connect/clm/contract/{ContractId}/contract-document-version

Для создания новой версии документа контракта. Статус контракта должен находиться в состоянии черновика для создания новой версии документа контракта.

текст запроса:

{
    "templateId":"<DocumentTemplateId>"
}
4 Регистрация PATCH <URL-адрес вашего домена>/services/data/{API-версия}/connect/clm/contract-document-version/${код версии документа контракта}/checkin Чтобы проверить последнюю версию документа контракта, которая является неактивной и заблокированной.Примечание: Регистрацию может выполнять только пользователь, создавший документ.
5 Шлюз PATCH <URL-адрес вашего домена>/services/data/{API-версия}/connect/clm/contract-document-version/${код версии документа контракта}/lock Для блокировки текущей версии документа контракта. Версия документа контракта может быть заблокирована только в том случае, если контракт находится в состоянии черновика, а версия документа контракта активна или зарегистрирована.
6 Разблокировка PATCH <URL-адрес вашего домена>/services/data/{API-версия}/connect/clm/contract-document-version/${код версии документа контракта}/разблокировка Для разблокировки текущей версии документа контракта. Разблокировать заблокированную версию документа контракта может только пользователь, заблокировавший версию документа контракта, или системный администратор.
7 Проверка создания PATCH <URL-адрес вашего домена>/services/data/{API-версия}/connect/clm/contract-document-version/{версия документа $contract version id}/ Checkout

Чтобы создать новую версию документа контракта с использованием одного или другого шаблона, воспользуйтесь действием check out Generation.

текст запроса:

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

После Check Out необходимо запустить Check In API.

8 Отправить на утверждение (выполнить действие) PATCH <URL-адрес вашего домена>/services/data/{API-версия}/connect/clm/contract/${contractid}

Чтобы вызвать действие отправки на утверждение посредством Execute Action 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 Получение документов для eSign посредством контракта GET <URL-адрес вашего домена>/services/data/{API-версия}/connect/e-sign/documents?sourceObjectId=${contractId}

Для просмотра списка документов, связанных с контрактом, который нужно отправить на электронную подпись.

Сведения о документе обязательно отправляются для электронной подписи. Список документов можно настроить посредством настраиваемого класса Apex. Сведения о классе Apex должны быть добавлены в конфигурацию электронной подписи.

11 Получение получателей GET <URL-адрес вашего домена>/services/data/{API-версия}/connect/e-sign/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}

Для включения новой транзакции DocuSign посредством Send Envelope API.

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 Обновление статуса конверта PATCH <URL-адрес вашего домена>/services/data/{API-версия}/connect/clm/contract/${contractid}

Чтобы отправить специальный запрос в DocuSign для обновления статуса конверта. Подписавший документ пользователь может вызвать 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-версия}/connect/clm/contract/<contractid>/contract-document-version Для просмотра списка версий документов контракта, которые уже доступны в контракте.
Получение версии документа SpecificContract GET <URL-адрес вашего домена>/services/data/{API-версия}/connect/clm/contract/{ContractId}/contract-document-version?contractDocumentVersionId={ContractDocumentVersionId} Для просмотра определенной версии документа контракта, уже доступной в контракте.
 
Загрузка
Salesforce Help | Article