Loading
E-allekirjoitusten API-rajapinnat

E-allekirjoitusten API-rajapinnat

Voit käyttää e-allekirjoitusten API-rajapintoja itsenäisesti kutsumaan Salesforce Contracts -ominaisuuksia käyttämättä käyttöliittymää. Näitä API-rajapintoja voi mukauttaa paljon. Voit lähettää yhden tai useamman luodun asiakirjan sähköistä allekirjoitusta varten. Luomasi asiakirjat voidaan liittää joko vakio-objekteihin tai mukautettuihin objekteihin.

Lisätietoja vaadituista käyttöoikeuksista on kohdassa Permission Sets For DocuSign.

Lisätietoja Apex-hallintarajoituksista on kohdassa Execution Governors and Limits.

Lisätietoja e-signature API -rajapinnoista on kohdassa E-signature Resources.

Metodi Kuvaus
getRecipients (Vastaanottajat)

Käytä tätä menetelmää tarkastellaksesi asiakirjojen vastaanottajien luetteloa.

Mukautetun logiikan lisääminen mukautetun luokan kautta:

  • Luo globaali Apex, joka käyttää ind_docgen_api.OpenInterfacessa.

  • Lisää logiikkasi invokeMethod()-metodiin.

  • Lisää luokka organisaatioosi.

  • Kutsu API:a käyttämällä URL-osoitteessa olevaa customClass-parametriä. Esimerkki:

    /connect/e-sign/recipients?sourceObjectId=<sourceObjectId>&recipientSelector=<recipientCustomClassName>

Jos haluat mukauttaa vastaanottajien palautustapoja, ota ind_docgen_api.OpenInterface-rajapinta käyttöön globaalissa Apex. Alla on esimerkki toteutuksesta, joka noutaa kaikki yhteyshenkilöt, joiden tervehdys on "Hr.":

public class GetEsignRecipients implements ind_docgen_api.OpenInterface {

    private static final String ERROR_UNSUPPORTED = 'Unsupported method. Only method [getRecipients] is supported.';
    private static final String ERROR_NO_RECIPIENTS = 'Recipient data not found';

    public Boolean invokeMethod(String methodName, Map<String, Object> inputMap, Map<String, Object> outMap) {
        system.debug(inputMap);
        Boolean success;

        if (methodName == 'getRecipients') {
            success = getRecipients(inputMap, outMap);
        }  else {
            throw new CustomGetRecipientsException(ERROR_UNSUPPORTED);
        }

        System.debug('invokeMethod:outMap -> ' + outMap);
        System.debug('invokeMethod:success -> ' + success);
        return success;
    }

    private Boolean getRecipients(Map<String, Object> input, Map<String, Object> output) {
        Boolean success = false;

        Id sourceObjectId = (Id) input.get('sourceObjectId');
        
        List<Map<String, Object>> recipients = new List<Map<String, Object>>();
        
        Map<String, Object> recipient = new Map<String, Object>();
        recipient.put('name', 'John Peter');
        recipient.put('email', 'johnxxxx@gmail.com');
        recipient.put('id', '1');
        
        Map<String, Object> additionalFields = new Map<String, Object>();
        additionalFields.put('routingOrder', '1');
        additionalFields.put('routingNumber', '1');
        additionalFields.put('signerRole', '1');
        additionalFields.put('recipientType','Signer'); // Case Sensitive
        additionalFields.put('recipientLocale','English (U.S.)');
        //We need to send recipientLocale as same as What we see in the Salesforce UI While Manually Adding Recipient Locale 
        recipient.put('additionalFields', additionalFields);
        recipients.add(recipient);    
             
        output.put('recipients', recipients);
        
        success = true;
        System.debug('getRecipients:output -> ' + output);
        System.debug('getRecipients:success -> ' + success);
        
        return success;

    }
    
    class CustomGetRecipientsException extends Exception {

    }
}

recipientSelector ja sourceObjectId ovat valinnaisia parametrejä. sourceObjectId-parametri välitetään input-arvona Apex ja kulutetaan tarvittaessa.

Jos haluat määrittää mukautetun luokan käyttämällä metadataa, lisää Sähköisen allekirjoituksen kokoonpano -objektiin tietue näillä arvoilla:

  • Toimittaja: Asiakirjan suunnittelu

  • Ryhmän tyyppi: Ryhmän tyyppi

  • Määritystyyppi: Vastaanottajat-mukautettu luokka

  • Määritä arvo: Mukautetun luokkasi nimi. >.

getDocuments

Käytä tätä menetelmää tarkastellaksesi sähköistä allekirjoitusta varten lähetettyjen asiakirjojen luetteloa.

Jos IsAssociatedWithClm-parametri on:

  • true – API noutaa sopimusasiakirjat.

  • false – API noutaa asiakirjoja vain huomautuksista ja liitteistä.

Mukautetun logiikan lisääminen mukautetun luokan kautta:

  • Luo globaali Apex, joka käyttää ind_docgen_api.OpenInterfacessa.

  • Lisää logiikkasi invokeMethod()-metodiin.

  • Lisää luokka organisaatioosi.

  • Kutsu API:a käyttämällä URL-osoitteessa olevaa customClass-parametriä. Esimerkki:

    /connect/e-sign/documents?sourceObjectId=<sourceObjectId>&documentSelector=<customClassName>

Jos haluat mukauttaa, miten asiakirjat palautetaan eSignature-ominaisuutta varten, ota ind_docgen_api.OpenInterface-rajapinta käyttöön globaalissa Apex. Alla on esimerkki toteutuksesta, joka noutaa asiakirjoja ContentVersion-tietueista, jotka on linkitetty annettuun sourceObjectId-tunnukseen:

public class GetEsignDocuments implements ind_docgen_api.OpenInterface {
    private static final String ERROR_UNSUPPORTED = 'Unsupported method. Only method [getDocuments] is supported.';

    public Boolean invokeMethod(String methodName, Map<String, Object> request, Map<String, Object> outMap) {
        Boolean success = true;
        if (methodName == 'getDocuments') {
            success = executeAction(request, outMap);
        } else {
             throw new CustomGetDocumentsException(ERROR_UNSUPPORTED);
         }
        return success;
    }

    private Boolean executeAction(Map<String, Object> inputMap, Map<String, Object> outMap) {
        Boolean success = false;
        System.debug('getDocuments:inputMap -> ' + inputMap);
        Id contractId = (Id)inputMap.get('sourceObjectId');
        
        // Fetch contract master document
        ContentDocument contentDocument = getMasterContractDocument(contractId);
        
        List<Map<String, Object>> documents = new List<Map<String, Object>>();
        Map<String, Object> document = new Map<String, Object>();
        document.put('fileExtension', contentDocument.FileExtension);
        document.put('name',contentDocument.Title);
        String contentVersionId = Id.valueOf(contentDocument.LatestPublishedVersionId);
        document.put('sourceId', contentVersionId);
        document.put('sourceType','Content');
        
        Map<String, String> additionalFields = new Map<String, String>();
        additionalFields.put('documentId', '1');
        document.put('additionalFields', additionalFields);
        documents.add(document);
        outMap.put('documents', documents);

        success = true;
        System.debug('getDocuments:outMap -> ' + outMap);
        System.debug('getDocuments:success -> ' + success);
        return success;
    }
    
    private ContentDocument getMasterContractDocument(Id contractId) {
        // Fetch latest contract document version
        ContractDocumentVersion latestCdv = [SELECT Id FROM ContractDocumentVersion WHERE contractId=:contractId ORDER BY VersionNumber DESC LIMIT 1];
        
        // Fetch latest contendocumentId associated with latest contract document version
        ContractDocVerContentDoc contractDoc = [SELECT ContentDocumentId FROM ContractDocVerContentDoc WHERE ContractDocumentVersionId=:latestCdv.Id LIMIT 1];
        
        // Load content document details
        ContentDocument contentDocument = [SELECT FileExtension, FileType, Id, LatestPublishedVersionId, Title FROM ContentDocument WHERE Id=:contractDoc.ContentDocumentId LIMIT 1];
        return contentDocument;    
    }

    class CustomGetDocumentsException extends Exception {

    }
}

documentSelector on valinnainen parametri.

Jos haluat määrittää mukautetun luokan käyttämällä metadataa, lisää Sähköisen allekirjoituksen kokoonpano -objektiin tietue näillä arvoilla:

  • Toimittaja: Asiakirjan suunnittelu

  • Ryhmän tyyppi: Ryhmän tyyppi

  • Määritystyyppi: Asiakirjat-mukautettu luokka

  • Määritä arvo: Mukautetun luokkasi nimi.

Sinun ei tarvitse välittää mukautetun luokan nimeä API-URL-osoitteessa.

getNotificationAsetukset

Käytä tätä menetelmää tarkastellaksesi muistutusten ja vanhenemisilmoitusten asetuksia. sourceObjectId on pakollinen parametri, joka palauttaa objektin asiaankuuluvat ilmoitusasetukset.

API lukee ilmoitusasetukset näistä kokoonpanoasetuksista:

  • Jos vain DocGen-käyttöoikeudet ovat käytössä, API lukee sähköisen allekirjoituksen kirjekuoren kokoonpano -asetuksen ilmoitusasetukset.

  • Jos DocGen- ja CLM (Salesforce Contracts) -käyttöoikeudet ovat molemmat käytössä ja objektityyppi on sopimus, API lukee ilmoitusasetukset sopimustyypin määritysasetuksista.

  • Jos DocGen- ja CLM (Salesforce Contracts) -käyttöoikeudet ovat molemmat käytössä ja objektityyppi ei ole sopimus, API lukee sähköisen allekirjoituksen kirjekuoren kokoonpanoasetuksista saadut ilmoitusasetukset.

sendEnvelope Käytä tätä menetelmää ottaaksesi uuden DocuSign-transaktion käyttöön.
voidEnvelope Käytä tätä menetelmää merkitäksesi objektiin liittyvät kirjekuoret vanhentuneiksi tai tyhjiksi.
updateEnvelope Käytä tätä menetelmää lähettääksesi ad hoc -pyynnön DocuSigniin kirjekuoren tilan päivittämiseksi.
 
Ladataan
Salesforce Help | Article