Loading
Esempio di sequenza API Salesforce Contracts

Esempio di sequenza API Salesforce Contracts

Di seguito è riportato un esempio di sequenza di chiamate API Salesforce Contracts, che descrive un percorso ottimale per un ciclo di vita del contratto end-to-end. Il ciclo di vita inizia quando si crea un contratto e il contratto è nello stato bozza per l'attivazione del contratto.

Esempio di sequenza di chiamate API Salesforce Contracts.

Sequenza API Scenario Tipo di metodo Percorso API Descrizione
1 Crea contratto POST <URL del dominio>/services/data/{API version}/connect/clm/contract

Per creare un contratto da opportunità, preventivi, ordini o qualsiasi altro oggetto standard o personalizzato. Dopo la creazione, un contratto è nello stato Bozza.

corpo della richiesta:

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

Se il tipo di configurazione Genera automaticamente documento alla creazione del contratto è impostato su true, l'applicazione genera automaticamente una versione del documento contratto quando viene creato un contratto.

2 Ottenere modelli di documento GET <URL del dominio>/services/data/{API version}/connect/clm/document-template?usageType=Contract_LifeCycle_Management&isActive=true&type=MicrosoftWord

Elenca tutti i modelli di documento attivi. Per impostazione predefinita, i modelli che soddisfano questi criteri sono elencati:

Tipo = ‘Microsoftword’,

UsageType = ‘Contract_Lifecycle_Management’,

IsActive = true

Per informazioni sui filtri personalizzati, vedere Utilizzo dei filtri dei modelli di documento personalizzati per Salesforce Contracts.

3 Genera documento contratto PATCH <URL del dominio>/services/data/{API version}/connect/clm/contract/{ContractId}/contract-document-version

Per generare una nuova versione del documento contratto. Lo stato del contratto deve essere nello stato bozza per generare una nuova versione del documento contratto.

corpo della richiesta:

{
    "templateId":"<DocumentTemplateId>"
}
4 Check In (Registra) PATCH <URL del dominio>/services/data/{API version}/connect/clm/contract-document-version/${contract document version ID}/checkin Per verificare la versione più recente del documento di contratto che è inattiva e bloccata.Nota: Solo l'utente che ha generato il documento può eseguire il check-in.
5 Blocca PATCH <URL del dominio>/services/data/{API version}/connect/clm/contract-document-version/${contract document version ID}/lock Per bloccare la versione corrente del documento contratto. È possibile bloccare la versione di un documento contratto solo quando il contratto è in stato Bozza e la versione del documento contratto è attiva o registrata.
6 Sblocca PATCH <URL del dominio>/services/data/{API version}/connect/clm/contract-document-version/${contract document version ID}/unlock Per sbloccare la versione corrente del documento contratto. Solo l'utente che ha bloccato la versione del documento contratto o un amministratore di sistema può sbloccare una versione del documento contratto bloccata.
7 Check-out Genera PATCH <URL del dominio>/services/data/{API version}/connect/clm/contract-document-version/{$contract document version id}/Checkout

Per generare una nuova versione del documento contratto utilizzando lo stesso modello o un modello diverso, utilizzare l'azione Genera check-out.

corpo della richiesta:

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

Dopo il check-out, è necessario eseguire l'API Check-in.

8 Invia per l'approvazione (Esegui azione) PATCH <URL del dominio>/services/data/{API version}/connect/clm/contract/${contractid}

Per chiamare l'azione Invia per l'approvazione utilizzando Execute Action API. L'endpoint rimane lo stesso; tuttavia, ogni API ha parametri di richiesta diversi.

{
    "actionApiName" : "submitForApproval"
}

Il processo di approvazione deve essere configurato.

9 Approva N/D N/D

Si tratta di un'API di approvazione Salesforce generica. Per ulteriori informazioni, vedere https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_process_approvals_approve.htm.

10 Ottenere documenti per eSign con contratto GET <URL del dominio>/services/data/{API version}/connect/e-sign/documents?sourceObjectId=${contractId}

Visualizzare l'elenco dei documenti associati a un contratto che si desidera inviare per la firma elettronica.

I dettagli del documento sono obbligatori per l'invio della firma elettronica. È possibile personalizzare l'elenco dei documenti utilizzando una classe Apex personalizzata. I dettagli della classe Apex devono essere aggiunti nella configurazione della firma elettronica.

11 Ottieni destinatari GET <URL del dominio>/services/data/{API version}/connect/e-sign/recipients?recipientSelector=ESignContactList&sourceObjectId={$contractId}

Per visualizzare un elenco di destinatari dei documenti.

I dati del destinatario sono obbligatori per l'invio della firma elettronica. È possibile personalizzare l'elenco dei destinatari utilizzando una classe Apex personalizzata. I dettagli della classe Apex devono essere aggiunti nella configurazione della firma elettronica.

12 Impostazioni Ottieni notifica GET <URL del dominio>/services/data/{API version}/connect/e-sign/notification-settings?sourceObjectId={$contractId} Per visualizzare le impostazioni dei promemoria e delle notifiche di scadenza.Nota: I dettagli della notifica sono obbligatori per l'invio della firma elettronica.
13 Ottenere ruoli firmatari GET <URL del dominio>/services/data/{API version}/connect/e-sign/signer-roles

Visualizzare l'elenco dei firmatari che firma e aggiunge dati ai campi modulo dei documenti nella busta.

I dati del firmatario sono obbligatori per l'invio della firma elettronica.

14 Invia per E-Sign (Esegui azione) PATCH <URL del dominio>/services/data/{API version}/connect/clm/contract/${contractid}

Per abilitare una nuova transazione DocuSign utilizzando l'API Invia busta.

L'api azione deve coprire i seguenti parametri:

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

Esempio di corpo della richiesta. È necessario convertire i dettagli JSON in stringa e aggiungerli nel corpo della richiesta di cui sopra.

{
    "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 è un JSON stringato contenente impostazioni di documento, recipeint, ruolo firmatario e notifica.

15 Aggiorna stato busta PATCH <URL del dominio>/services/data/{API version}/connect/clm/contract/${contractid}

Inviare una richiesta ad hoc a DocuSign per aggiornare lo stato della busta. Dopo che il firmatario ha firmato il documento, è possibile chiamare l'API Aggiorna busta.

{
  "actionApiName": "updateEnvelopeStatus"
}
16

Attiva contratto (Esegui azione)

PATCH <URL del dominio>/services/data/{API version}/connect/clm/contract/${contractid}

Per attivare il contratto.

Utilizzare l'API per attivare il contratto.

{
    "actionApiName" : "activateContract"
}
17 Risoluzione del contratto PATCH <dettagli organizzazione>/services/data/{versione API}/connect/clm/contract/${contractid}

Per risolvere il contratto.

{
    "actionApiName" : "terminateContract"
}

API aggiuntive

Scenario Tipo di metodo Percorso API Descrizione
Ottenere l'elenco delle versioni dei documenti contrattuali GET <URL del dominio>/services/data/{API version}/connect/clm/contract/<contractid>/contract-document-version Per visualizzare l'elenco delle versioni del documento contratto già disponibili nel contratto.
Ottenere la versione documento SpecificContract GET <URL del dominio>/services/data/{API version}/connect/clm/contract/{ContractId}/contract-document-version?contractDocumentVersionId={ContractDocumentVersionId} Per visualizzare una versione specifica del documento contratto già disponibile nel contratto.
 
Caricamento
Salesforce Help | Article