API di Adobe Sign API - Domande frequenti

L’accesso alle API è riservato esclusivamente agli account di livello Enterprise e Sviluppatore.

Collegamenti alla documentazione di base

Nota:

A maggio 2021 le API SOAP legacy non saranno più supportate. 

Tutti i clienti che utilizzano le API SOAP devono migrare alle API REST il prima possibile.


Concetti generali

Non è possibile creare il documento visualizzando la pagina nell’interfaccia utente Web, tramite trascinamento o assegnando ruoli firmatari utilizzando transientDocumentId tramite API.

La chiamata transientDocuments restituisce transientDocumentID, valido per 7 giorni. Puoi utilizzarlo solo per le chiamate API successive. Viene memorizzato nel server API e gli viene assegnato questo ID. Carica un file e fai riferimento al suo ID nelle ulteriori chiamate API.

Non puoi caricare direttamente un documento in Accordo utilizzando le API REST.

In base al requisito REST, devi prima creare un documento transitorio e quindi utilizzare questo ID nei metodi Agreement, Widget o Library come origine del file.

Il documento transitorio è un file di origine raw, ad esempio PDF, doc o docx, caricato sui server di Adobe . Pertanto, questo è un modo pratico per trasmettere il documento di base ai server API e un documento transitorio sul Web.

Sì, puoi pubblicare gli accordi utilizzando i flussi di lavoro nella versione 6 utilizzando la chiamata API POST /agreements. Trasmetti il parametro workflowId nella chiamata API.

Puoi ottenere l’ID workflowId di un flusso di lavoro utilizzando la chiamata GET /workflows.

  1. Accedi ad Adobe Sign come Amministratore.

  2. Passa a Account > API Adobe Sign > Registro richieste API.

    Registri API

  1. Accedi all’account Adobe Sign con Amministratore.

  2. Passa a Account > API Adobe Sign > Informazioni API.

  3. Fai clic sul collegamento Esempi API REST.

    Nota:

    Per scaricare l’SDK JavaScript, vedi https://github.com/adobe-sign/AdobeSignJsSdk.

A partire dalla versione 6, l’opzione “sendTroughWeb” non è più disponibile. È sostituita da state. Si tratta dello stato a cui arriva l’accordo. Il campo “state” può essere fornito solo nelle chiamate POST. Non viene mai restituito in GET /agreements/{ID} e viene ignorato se fornito nella chiamata PUT /agreements/{ID}. L’eventuale stato finale dell’accordo può essere ottenuto da GET /agreements/ID.

state(string) = ['AUTHORING' o 'DRAFT' o 'IN_PROCESS'].

AUTHORING (Creazione) consente a un utente di creare creare i documenti di un accordo prima di inviarli. L’operazione di creazione in questo caso si riferisce alla creazione, modifica o inserimento di campi modulo con le relative configurazioni (assegnatario, condizioni, tipo di dati, ecc.). nei documenti dell’accordo. Dopo aver pubblicato il documento nello stato Authoring, il documento diventa visibile nella sezione Bozza della scheda Gestisci di Adobe Sign.

DRAFT (Bozza) è una fase temporanea o di base della risorsa finale prevista che può essere aggiornata in ulteriori passaggi per creare la risorsa finale; non è visibile nella sezione Bozza della scheda Gestisci di Adobe Sign. Utilizzando lo stato Bozza, le informazioni del set di partecipanti non sono obbligatorie e possono essere assegnate in seguito durante l’esecuzione della chiamata PUT /agreement/agreementId per completare la bozza. Questo passaggio può essere ripetuto più volte fino a disporre di tutti i dati necessari per creare l’accordo.

IN_PROCESS (In corso) modifica lo stato dell’accordo in Inviato per firma ed è visibile nella sezione Inviato per firma della scheda Gestisci di Adobe Sign.

sendThroughWeb consente di inviare l’accordo in modo interattivo. I vari parametri nel campo “options” della richiesta POST v5 /agreements consentono all’utente di configurare questa vista interattiva (pagina Invia). Tutti questi parametri di configurazione della pagina, ad esempio fileUploadOptions, vengono spostati nell’API POST agreement/ID/views.

In pratica, per eseguire sendThroughWeb puoi creare un accordo nello stato AUTHORING tramite l’API POST /agreements. Quindi, per richiedere l’URL della pagina successiva nella configurazione desiderata, chiama l’API POST agreements/ID/views.

Procedi come segue:

1. Accedi alla documentazione delle API REST v6 e seleziona il metodo POST/agreements.
2. Utilizza il seguente codice di richiesta:

{

  "fileInfos": [

    {

      "transientDocumentId": "***************************"

    }

  ],

  "name": "test",

  "participantSetsInfo": [

    {

      "memberInfos": [

        {

          "email": "abc@gmail.com"

        }

      ],

      "order": 1,

      "role": "SIGNER"

    }

  ],

  "signatureType": "ESIGN",

  "state": "AUTHORING"

}

 

3. A questo punto, usa il metodo POST /agreements/{agreementId}/views con il seguente codice di richiesta:

 

{

  "name": "AUTHORING"

}

Il codice di risposta fornisce l’URL per i campi di creazione.

È possibile definire l’URL di richiamata nei modi seguenti:

  • Usa il parametro seguente per definire l’URL di richiamata in base alle esigenze:

    "callbackInfo": "",
  • Contatta l’assistenza di Adobe Sign per impostare l’URL di richiamata predefinito per l’account completo.

L’interfaccia utente SOAP (SmartBear) riceve un errore di connessione SSL simile al seguente, che viene generato quando si effettua una chiamata API. Questo errore si verifica in genere se si utilizza un protocollo SSL o TLS obsoleto precedente a TLS1.2.

ERRORE: Eccezione nella richiesta: javax.net.ssl.SSLException: Ricevuto avviso irreversibile: protocol_version
ERRORE: Si è verificato un errore [Ricevuto avviso irreversibile: protocol_version], per i dettagli consulta il registro degli errori.

  1. Aggiungi (-Dsoapui.https.protocols=SSLv3,TLSv1.2) nel file VMOPTIONS nella cartella Bin.

  2. Passa a C:\Programmi\SmartBear\SoapUI-5.2.1\bin (o altra, in base alla posizione in cui è stata installata l’interfaccia SOAP). Potrebbe essere in C:\Programmi (x86)

  3. Nel file VMOPTIONS, abilita per il file l’autorizzazione completa di lettura/scrittura.

    VMOPTIONS

  4. Fai clic con il pulsante destro del mouse sul file VMOPTIONS, quindi scegli Proprietà, passa alla scheda Sicurezza, seleziona l’utente e fai clic su Modifica. L’icona Controllo accesso utente viene visualizzata sul pulsante Modifica. Seleziona tutte le caselle di controllo e fai clic su OK.

  5. Ripeti la stessa procedura per Amministratori, Sistemi e tutti i pacchetti di applicazioni.

  6. Apri il file con Blocco note.

  7. In fondo, aggiungi questo protocollo: “-Dsoapui.https.protocols=SSLv3,TLSv1.2” e salva le modifiche.

  8. Chiudi l’interfaccia SOAP e riavvia. Quando fai la chiamata API, ora funziona senza errori SSL. Esegui una chiamata ping di prova per controllare.

Di seguito sono descritti i passaggi per creare ID client e Segreto client nell’applicazione Adobe Sign:

  1. Accedi all’account Adobe Sign.

  2. Passa a Account > API Adobe Sign > Applicazioni API.

    Fnord.

  3. Per creare un’applicazione, fai clic sull’icona +.

    Fnord.

  4. Immetti il nome e il nome visualizzato.

  5. In Dominio, seleziona CUSTOMER (Cliente) e fai clic su Salva.

    Fnord.

  6. Evidenzia l’applicazione con un solo clic.

  7. Fai clic su Configura OAuth per l’applicazione.

    Fnord.

  8. Immetti l’URI di reindirizzamento.

  9. Per abilitare gli ambiti richiesti, seleziona le rispettive caselle di controllo e fai clic su Salva.

Attenzione:

A giugno 2020 Adobe Sign non supporterà più le chiavi di integrazione. Gli sviluppatori devono piuttosto utilizzare il processo OAuth.

  1. Accedi ad Adobe Sign con un account Amministratore.

  2. Passa a Account > API Adobe Sign > Informazioni API.

  3. Fai sul collegamento Chiave di integrazione.

    Passare a Chiave di integrazione

    Nota:

    Se non vedi il collegamento Chiave di integrazione (Integration Key), contatta il tuo Success Manager per richiedere l’abilitazione del il tuo account.

    • Assegna un nome alla chiave utilizzando un valore intuitivo.
    • Seleziona i vari ambiti necessari in base alla funzione dell’applicazione.
    • Una volta completata la configurazione della chiave, fai clic su Salva.
    Interfaccia Crea chiave di integrazione

  4. Una volta salvata, la chiave si trova in: Account > Preferenze personali > Token di accesso.

    Vengono elencati il nome della chiave e tutti gli ambiti attivati.  

    Fai clic una volta sulla descrizione della chiave per esporre i collegamenti delle azioni disponibili:

    • Chiave di integrazione: questo collegamento fornisce la chiave letterale.
    • Revoca: questo collegamento revoca ed elimina definitivamente il token di accesso.
    Token di accesso - Chiave di integrazione

  1. Accedi all’account Adobe Sign.

  2. Passa a Account > API Adobe Sign > Applicazioni API.

  3. Fai clic sull’icona + per creare un’applicazione.

    Postman1

  4. Fai clic su Configura OAuth per l’applicazione.

    Fnord.

  5. Genera il codice di autorizzazione utilizzando il seguente collegamento. L’ID client, l’URI di reindirizzamento e gli ambiti devono corrispondere a quelli dell’URL seguente selezionato nell’applicazione (non inserire spazi nell’URL seguente; la partizione, come “NA1”, deve corrispondere alla partizione a cui appartiene l’account Adobe Sign):

    https://secure.na1.echosign.com/public/oauth?redirect_uri=https://www.google.co.in&response_type=code&client_id=CBJCHBCAABAAo9FZgq31_5BVG_kcIXEe6gNtn-R-gdNe&scope=user_login:self+agreement_send:account

  6. Se la chiamata ha esito positivo, preleva il codice di autorizzazione dalla barra degli indirizzi.

    Fnord.

  7. Scarica e installa Postman dal collegamento https://www.getpostman.com/apps.

  8. Una volta scaricato e installato, fai clic su NEW per creare un POST.

  9. Immetti il collegamento https://secure.na1.echosign.com/oauth/token in base alla partizione a cui appartiene il tuo account Adobe Sign.

  10. In Headers (Intestazioni), per Content-Type immetti application/x-www-form-urlencoded.

  11. Verifica che x-www-form-urlencoded sia selezionato nella sezione Body (Corpo) e immetti i parametri seguenti con i relativi valori dall’applicazione creata nell’account Adobe Sign, quindi fai clic su SEND (Invia).

    Fnord.

  12. Se tutte le informazioni sono corrette, nella risposta vengono restituiti il token di accesso e il token di aggiornamento:

    Fnord.

Durante l’esecuzione del processo OAuth:

1. Verifica che siano stati specificati l’ID client e l’URI di reindirizzamento corretti.
2. Controlla che gli ambiti forniti nell’URL di autorizzazione corrispondano esattamente agli ambiti forniti nell’applicazione Adobe Sign.
3. Assicurati che sia stata utilizzata la partizione (na1, na2, au1, eu1, jp1) corretta in base alla configurazione dell’account.
4. Verifica che siano stati rimossi eventuali spazi nell’URL di autorizzazione.
5. Controlla la sintassi dell’URL di autorizzazione:

https://secure.na1.echosign.com/public/oauth?redirect_uri=https://secure.na1.echosign.com/public/oauthDemo&
response_type=code&client_id=9MEJXY4Y4R7L2T&scope=agreement_send

I token di accesso sono validi solo per 3600 secondi (1 ora), dopodiché scadono.

Il titolare della richiesta API può utilizzare i token di aggiornamento per generare nuovi token di accesso in base alle esigenze.

I webhook sono supportati in API REST v6 e versioni successive.

Se un ricevitore di webhook non risponde entro 72 ore, il webhook viene disabilitato e non viene inviata alcuna notifica.

Se l’URL di destinazione per il webhook è inattivo per qualsiasi motivo, Adobe Sign mette in coda il codice JSON e tenta di inviarlo di nuovo in un ciclo progressivo di 72 ore.

Gli eventi non consegnati vengono mantenuti in una coda di tentativi e nelle successive 72 ore verrà fatto il possibile per inviare le notifiche nell’ordine in cui si sono verificate.

La strategia con sui viene nuovamente tentato di consegnare le notifiche prevede il raddoppiamento del tempo tra tentativi successivi, a partire da un intervallo di 1 minuto che aumenta fino a 12 ore, per un totale di 15 tentativi nell’arco di 72 ore.

 

Per creare un webhook direttamente dall’interfaccia utente di Adobe Sign, crea innanzitutto un URL webhook tramite le app della funzione Azure AD, come descritto di seguito:

  1. Accedi dall’account Microsoft https://portal.azure.com/.

  2. Registrati per le App per le funzioni nell’account Azure AD.

    Menu di Azure

  3. Passa ad Azure AD, seleziona App per le funzioni e fai clic sull’icona + per Funzioni.

  4. Seleziona Webhook e API con il linguaggio JavaScript e fai clic su Crea funzione.

    Interfaccia API di Azure

  5. Sostituisci il file Index.js con lo snippet di codice seguente:

    module.exports = function (context, req) { var clientId = req.headers['x-adobesign-clientid']; // Validate that the incoming ClientID is genuine if (clientId === '************************************') { context.res = { // status: 200, /* Defaults to 200 */ // any 2XX response is acceptable body: { 'xAdobeSignClientId' : clientId, }, headers : { 'Content-Type' : 'application/json' } }; } else { context.res = { status: 400, body: "Opps!! Illegitimate Call identified" }; } context.done(); };
  6. Fai clic sul pulsante Prova nell’angolo a destra e fornisci la seguente intestazione:

    X-AdobeSign-ClientId as ***********************

    Provare l’API

  7. Fai clic su Salva ed esegui.

  8. Dopo aver ricevuto la risposta “200 OK” con l’intestazione seguente, fai clic su Ottieni URL funzione

    Risposta 200

  9. Copia l’URL e passa all’interfaccia utente di Adobe Sign, seleziona Webhook e fai clic sull’icona + per creare il webhook.

  10. Immetti i dati seguenti: 

    • Nome: scegli un nome intuitivo che altri amministratori possono facilmente riconoscere.
    • Ambito: ampiezza della rete che deve essere coperta dal webhook. Nell’interfaccia sono disponibili gli ambiti Account e Gruppo.
      L’API supporta gli ambiti Account, Gruppo, Utente e Risorsa.
    • È possibile definire un solo ambito per webhook.
    • URL: URL di destinazione a cui Adobe Sign ha trasmesso il payload JSON.
    • Eventi: trigger in risposta del quale Adobe Sign crea il file JSON e lo trasmette all’URL.
      Ogni evento crea un payload diverso relativo all’evento trigger
      Più eventi possono essere inclusi in un webhook.
    • Parametri di notifica: i parametri di notifica identificano le sezioni del payload JSON dell’evento e consentono di selezionare solo le sezioni dell’evento che ritieni importanti.
    Interfaccia utente Webhook

  11. Una volta definito il webhook, fai clic su Salva: il nuovo webhook inizia subito a reagire agli eventi trigger.

La risorsa dell’accordo è una risorsa tramite la quale puoi creare un accordo, ad esempio un documento libreria, un widget e un accordo stesso.

Per cercare gli eventi delle risorse degli accordi, effettua una richiesta all’API per creare agreementAssetEvents con i parametri di ricerca pertinenti.

La Risposta è la prima pagina di risultati, insieme a un parametro ID di ricerca e al cursore per passare alla pagina successiva. Puoi usarlo per recuperare ulteriori risultati di pagina se disponibili mediante l’API, che recupera agreementAssetEvents in base all’ID di ricerca.

  1. Apri la documentazione delle API REST per la versione 5.

  2. Passa a POST /search/agreementAssetEvents e genera il token di accesso con gli ambiti pertinenti.

  3. Nel codice della richiesta, definisci la data di inizio e di fine in base al requisito:

    { "endDate": "2018-05-22T22:33:33", "startDate": "2017-12-22T22:33:33" }
  4. Fai clic su Try it Out. Vengono recuperati gli ID delle risorse dell’accordo, che possono essere utilizzati anche come ID accordo.


Gestione degli utenti e dell’account

  1. Accedi ad Adobe Sign.
  2. Passa a Account > API Adobe Sign > Documentazione REST API.
  3. Seleziona Versione 5.
  4. Nel metodo POST /users, usa il codice di richiesta descritto per il
    metodo UserCreationInfo
    {
    "email": "email@email.com",
    "firstName": "AA",
    "lastName": "AB",
    "password":"12******rte"
    }

Gli account Adobe Sign che utilizzano Admin Console (Adobe One) per gestire le autorizzazioni degli utenti non possono utilizzare le API di Adobe Sign per creare nuovi utenti o gestire gli utenti esistenti.

Adobe One Admin Console utilizza API diverse dalle API di Adobe Sign. Per ulteriori informazioni, consulta questi articoli:

 

Ottenere l’ID di un gruppo:

  1. Passa a https://secure.na1.echosign.com/public/docs/restapi/v5.

  2. In Risorse e operazioni, fai clic su groups.

  3. Fai clic su GET /groups.

  4. Fai clic sul pulsante OAuth Access-token.

  5. Genera il token di accesso.

  6. Fai clic sul pulsante Try it out per provarlo.

    Riceverai una risposta simile alla seguente, con il nome e l’ID del gruppo:

    { "groupInfoList": [ { "groupId": "3AAABLblqZhB4o9EnlvmGB_m8CrG5O6XClTBO7vmojOOexu5r3G95LtEV2Sp7BuhNvQYSvWB7PmmwVPXnhPIiYSuHV98Cerkp", "groupName": "Default Group" }, { "groupId": "3AAABLblqZhC3dPT6za5h7r1-BOEWivCe_OcAVONhcsKa57SL9_iCwGr5v_JED1No5jE20Pcjv0mYH2J-LoY1AcmqS69vRkO7", "groupName": "test" }, ] }

Eliminazione di un gruppo:

  1. Fai clic su DELETE /groups/{groupId}.

  2. Per generare il token di accesso, fai clic sul pulsante OAuth Access-token.

  3. Nella casella groupId, inserisci il groupId ricevuto nella risposta della chiamata precedente e che desideri eliminare.

  4. Fai clic su Try it Out per provarlo.

    Una volta eliminato il gruppo, riceverai una risposta simile alla seguente: Nessun contenuto

Nota:

Non è possibile eliminare un gruppo a cui è assegnato un utente. È possibile eliminare solo gruppi vuoti. Se nel gruppo è presente un utente, riceverai la seguente risposta.


{

  "code": "GROUP_NOT_EMPTY",

  "message": "Impossibile eliminare il gruppo perché non è vuoto."

}


Avvio e invio di accordi

Generazione di un documento transitorio

  1. Fai clic su transientDocuments ed espandi il metodo POST /transientDocuments.

  2. Fai clic sul pulsante OAuth Access-token.

    Metodo API transientDocument

    • Abilita gli ambiti (Scopes) per la transazione.
    • Fai clic su Authorize.
    Ambiti OAuth

  3. Consenti accesso

    Se richiesto, fai clic su Consenti accesso.

  4. Viene visualizzata nuovamente la pagina dei metodi API. Il valore Autorizzazione è ora compilato.

    • Immetti il nome file nel campo File-Name.
    • Fai clic sul pulsante Choose File per scegliere e caricare il documento per l’accordo.
    • Fai clic sul pulsante Try it out!
    Try it out!

  5. Viene generata la risposta.

    Il transientDocumentID si trova nel corpo della risposta:

    ID documento transitorio

Generazione di un accordo mediante il documento transitorio

  1. Fai clic su agreements ed espandi il metodo POST /agreements.

    • Fai clic sul pulsante OAuth Access-token.
    • Abilita l’ambito OAuth.
    • Fai clic su Authorize.
      • Se richiesto, fai clic su Consenti accesso.
  2. Viene visualizzata nuovamente la pagina dei metodi API. Il valore Autorizzazione è ora compilato.

    • Copia lo script seguente in un editor di testo (questo script è solo un esempio con configurazioni minime; il codice di produzione sarà diverso).
    • Inserisci il valore trasientDocumentId nel codice, dove è indicato.
    { "fileInfos": [ {"transientDocumentId":"INCOLLA QUI IL TUO TRANSIENTDOCUMENTID"} ], "name": "test doc", "participantSetsInfo": [ { "memberInfos": [ { "email": "noreply@echosign.com" } ], "order": 1, "role": "SIGNER" } ], "signatureType": "ESIGN", "state": "DRAFT" }

     

    • Copia lo script personalizzato e incollalo nel campo AgreementInfo.
    • Fai clic sul pulsante Try it out!
    Metodo POST agreement

  3. Viene generata la risposta.

    Il codice agreementID si trova nel corpo della risposta:

    Risposta del metodo POST agreement

Di seguito viene descritto come aggiungere dei file al parametro FileInfo:

  1. Utilizza l’ID transitorio:

    Passa a POST/transientDocuments e carica il documento da utilizzare dal sistema locale.
    Utilizza l’ID transitorio generato nella sezione Info file in POST/agreements:

    "fileInfos": [ { "transientDocumentId": "" } ],
  2. Utilizza l’ID documento libreria:

    Passa al dashboard. Fai clic su Aggiungi documento a libreria e salva il modello.
    In Documentazione API REST, fai clic su GET /libraryDocuments e recupera l’ID libreria del modello creato.
    In POST/agreements, specifica l’ID del documento libreria:

    "libraryDocumentId": "", "libraryDocumentName": "",
  3. Utilizza un URL pubblico:

    Specifica l’URL accessibile al pubblico da utilizzare nel parametro FileInfo:

    { "documentURL": { "mimeType": "", "name": "", "url": "" },
  1. Seleziona l’opzione Agreements > POST/agreements. 

  2. Seleziona l’opzione OAuth Access-Token e specifica gli ambiti necessari.

  3. Una volta aggiunto il token di accesso, è possibile utilizzare il seguente codice di richiesta:

    { "documentCreationInfo": { "recipientSetInfos": [ { "recipientSetRole": "SIGNER", "recipientSetMemberInfos": [{"email": "testemail@email.com"}] }, { "recipientSetRole": "SIGNER", "recipientSetMemberInfos": [{"email": "testemail@email.com"}] } ], "signatureFlow": "SEQUENTIAL", "name": "husband wife", "signatureType": "ESIGN", "fileInfos": [ { "transientDocumentId": "(SAMPLE VALUE)3AAABLblqZhAJ9H6e23kZAfBUbItPvIhHTEyA6eZhziEp4KSntYcULpo43OEXwuWiWa-IM1r1EExYW0044CjCkliP4WFL5yKBUDq5DYSmSxVlFypcD0at8kK-BX-Mu3T9c_3GUqgDg0ArX0MmzWT72GLR_0M4Jq--mtuqGzq-VK1s-WGR6GcbedVY7XWAf3b3h-SpE08Hc-iF3zO7jQzi9newXSl-iW2JJsb_55tggkyxkXAkj74C1WD6KkJzgblK0JU-seh6QPDd0Fv6_mfQe2EPQA31nXj50aXwD_xlUBq7mg5FeaBnZ5bzgoqIWGHkbyeD2taaFdw*"} ] } }

Nella chiamata POST /agreements, per il parametro signatureflow puoi trasmettere il valore SENDER_SIGNS_FIRST o SENDER_SIGNS_LAST per aggiungere rispettivamente il mittente come Primo o Ultimo firmatario.

Esempio di una chiamata in formato JSON:

{

  "documentCreationInfo": {

    "fileInfos": [

      {        "transientDocumentId":"3AAABLblqZ-yourIDGoesHere"

      }

    ],

    "name": "Test",

    "recipientSetInfos": [

      {

        "recipientSetMemberInfos": [

          {

            "email": "test@email.com"

          }

        ],

        "recipientSetRole": "SIGNER"

      }

    ],

    "signatureType": "ESIGN",

    "signatureFlow": "SENDER_SIGNS_FIRST"

  }

}

Nota:

L’opzione “Invia per conto di” è disponibile solo in API REST v6 quando è attivata la condivisione avanzata.

Se l’autorizzazione Invia non è fornita in condivisione o se Condivisione avanzata non è abilitata, viene visualizzata una risposta come quella seguente:

 

{"code":"PERMISSION_DENIED","message":"L’utente fornito nell’intestazione x-on-behalf-of-user non ha le autorizzazioni necessarie per eseguire questa operazione."}

 

Per la funzione “Invia per conto di”, abilita Condivisione account avanzata affinché gli utenti possano concedere autorizzazioni di invio ad altri utenti durante la condivisione del proprio account. Per la condivisione avanzata, vedi Attivazione della condivisione avanzata dell’account.

Una volta attivata la condivisione degli utenti, effettua le seguenti operazioni per impostare Inviare per di:

Generazione di un documento transitorio:

  1. In transientDocuments, fai clic su POST /transientDocuments.

  2. Per generare un token di autorizzazione, fai clic sul pulsante OAUTH ACCESS-TOKEN.

  3. In x-on-behalf-of-user, specifica l’e-mail dell’utente per conto del quale si desidera inviare, nel formato seguente: email:test@email.com

  4. Per selezionare un file, fai clic su Choose File, quindi su Try it Out.

    Viene ricevuta una risposta simile alla seguente con transientDocumentId:

    {"transientDocumentId":"3AAABLblqZhB9Mjo0mrIu_pSgrf5VsMaKM68_Vmn80cimaqiUAD2OxrPp2e5H8GvjfiOxj4d5B8bCPkUfvaozW3KLisp_wseGVOL8A7oNZni1DWyFi4uNoxLQu4nUO44Wh63GQv9_HEJMePust0Pk94vJ_rbS96R7ic-vl7jbOkN0b4EB5-JMqlC-Fl_Vpyz8I1EQUrM5I4nB9ztMov4ad00yiOtDw0tB-Y2t5JdzM07P-mpJmwYEl8Fq2IeDuWjcR2tV7qY7TNGX2CNyh9jt0aMyduHeYa0GABr69z8Hm76eKdtaM_1E1ggWj205fSrNcwJsnpSO278*"}

Generazione di un accordo mediante il documento transitorio:

  1. In agreements, fai clic su POST /agreements.

  2. Per generare un token di autorizzazione, fai clic sul pulsante OAUTH ACCESS-TOKEN.

  3. In x-on-behalf-of-user, specifica l’e-mail dell’utente come per la creazione del documento transitorio.

  4. In AgreementInfo, aggiungi il codice seguente e fai clic su Try it Out:

    { "fileInfos": [ { "transientDocumentId":"3AAABLblqZhB9Mjo0mrIu_pSgrf5VsMaKM68_Vmn80cimaqiUAD2OxrPp2e5H8GvjfiOxj4d5B8bCPkUfvaozW3KLisp_wseGVOL8A7oNZni1DWyFi4uNoxLQu4nUO44Wh63GQv9_HEJMePust0Pk94vJ_rbS96R7ic-vl7jbOkN0b4EB5-JMqlC-Fl_Vpyz8I1EQUrM5I4nB9ztMov4ad00yiOtDw0tB-Y2t5JdzM07P-mpJmwYEl8Fq2IeDuWjcR2tV7qY7TNGX2CNyh9jt0aMyduHeYa0GABr69z8Hm76eKdtaM_1E1ggWj205fSrNcwJsnpSO278*" } ], "name": "Test", "participantSetsInfo": [ { "memberInfos": [ { "email": "signer@email.com" } ], "order": 1, "role": "SIGNER" } ], "signatureType": "ESIGN", "state": "IN_PROCESS" }

     

    Viene ricevuta una risposta simille alla seguente con agreementId:

    { "id": "CBJCHBCAABAAUlen3l_fzlj1Kbn_wGZAhYcIgN0J7Qtq" }
  1. Accedi ad Adobe Sign.

  2. Passa a Account > API Adobe Sign > Informazioni API e fai clic su Documentazione metodi REST API.

    Interfaccia utente Webhook

  3. POST /transientDocuments, carica un file e crea un ID documento transitorio.

  4. Copia l’ID del documento transitorio e utilizzalo nel metodo POST /agreements. Indica la seguente richiesta JSON nella casella:

    { "documentCreationInfo": { "mergeFieldInfo": null, "recipientSetInfos": [{ "signingOrder": null, "recipientSetRole": "SIGNER", "recipientSetMemberInfos": [{ "securityOptions": null, "email": "test1@gmail.com" }], "privateMessage": "Hello 1", "securityOptions": null }, { "signingOrder": null, "recipientSetRole": "SIGNER", "recipientSetMemberInfos": [{ "securityOptions": null, "email": "test2@gmail.com" }], "privateMessage": "Hello 2", "securityOptions": null } ], "signatureType": "ESIGN", "callbackInfo": null, "message": "Rivedi e firma questo documento.", "locale": "it_IT", "vaultingInfo": null, "securityOptions": null, "reminderFrequency": null, "ccs": null, "postSignOptions": null, "signatureFlow": "SENDER_SIGNATURE_NOT_REQUIRED", "daysUntilSigningDeadline": null, "formFieldLayerTemplates": [], "name": "Accordo Adobe Sign", "formFields": null, "fileInfos": [{ "libraryDocumentName": null, "transientDocumentId": "XXXXXXXXXXXX", "documentURL": null, "libraryDocumentId": null }] } }
  5. Per eseguire la richiesta JSON, fai clic sul pulsante Try it Out.

    Interfaccia utente Webhook

    Il codice JSON corretto restituisce la risposta con l’ID dell’accordo.

    Interfaccia utente Webhook

Di seguito sono riportati i parametri che è possibile passare nel codice per impostare la password di apertura:

 

{

    "documentCreationInfo":

    [{

        "signatureType": "ESIGN",

               "recipientSetInfos": [{

            "recipientSetMemberInfos": [{                      

                "email": "abc@xyz.com"                  

            }],

                   

            "recipientSetRole": "SIGNER"                         

        }],

               "signatureFlow": "SENDER_SIGNATURE_NOT_REQUIRED",

                   "fileInfos": [           {               

            "libraryDocumentId": "3AAABLblqZhBsm_vH7TVzU3hRdbtWuvzfTKDvBzaKZTiehjO2eGTk5Rlu02K-0BYn8HBJVFTWOmT_BQlrofPBlrCdjiJ_JI-V"        

        }       ],

               "name": "Password di apertura per visualizzare il documento",

               "securityOptions": {        

            "openPassword": "1234",

                     "protectOpen": true   

        }  

    }]

}

 

Per creare un accordo tramite API con stato “AUTHORING”, effettua le seguenti operazioni:

Accedi a POST /agreements e crea un token di accesso con gli ambiti richiesti.

Utilizza il codice di richiesta nel modo seguente:

 

{

  "fileInfos": [

    {

      "transientDocumentId": "*********************"

    }

  ],

  "name": "A1",

  "participantSetsInfo": [

    {

      "memberInfos": [

        {

          "email": "abc@xyz.com"

        }

      ],

      "order": 1,

      "role": "SIGNER"

    }

  ],

  "signatureType": "ESIGN",

  "state": "AUTHORING"

}

 

La versione 6 dispone di un set di API per la creazione di un accordo. Nella versione 5, i formFields vengono utilizzati direttamente nell’API POST /agreements. Tuttavia, nella versione 6 gli utenti possono creare un accordo nello stato AUTHORING (state = AUTHORING) tramite POST v6 /agreements e utilizzare PUT /agreements/ID/formFields in qualsiasi un secondo tempo per aggiungere dei campi modulo ai documenti dell’accordo.

Di seguito sono riportati i passaggi da eseguire:

  1. Accedi alla documentazione delle API REST v6 e seleziona il metodo POST /agreements.

  2. Utilizza il seguente codice di richiesta:

    { "fileInfos": [ { "transientDocumentId": "***************************" } ], "name": "test", "participantSetsInfo": [ { "memberInfos": [ { "email": "abc@gmail.com" } ], "order": 1, "role": "SIGNER" } ], "signatureType": "ESIGN", "state": "AUTHORING" }
  3. Utilizza il metodo PUT /agreements/{agreementId}/formFields con la seguente richiesta di esempio:

    { "fields": [ { "locations": [ { "height": 36, "left": 75, "pageNumber": "1", "top": 200, "width": 150 } ], "contentType": "SIGNATURE_BLOCK", "name": "sigBlock1", "inputType": "SIGNATURE", "recipientIndex":1 } ]}

     

    Una volta completata la richiesta, l’accordo viene inviato al destinatario indicato.

  1. Accedi ad Adobe Sign.

  2. Passa a Account > API Adobe Sign > Informazioni API e fai clic su Documentazione metodi REST API.

    Interfaccia utente Webhook

  3. POST /transientDocuments, carica un file e crea un ID documento transitorio.

  4. Copia l’ID del documento transitorio e utilizzalo nel metodo POST /agreements. Indica la seguente richiesta JSON nella casella:

    { "documentCreationInfo": { "recipientSetInfos": [{ "recipientSetRole": "SIGNER", "recipientSetMemberInfos": [{ "email": "test1@gmail.com" }], "privateMessage": "Hello 1" }, { "recipientSetRole": "SIGNER", "recipientSetMemberInfos": [{ "email": "test2@gmail.com" }], "privateMessage": "Hello 2" } ], "signatureType": "ESIGN", "message": "Rivedi e firma questo documento.", "signatureFlow": "SENDER_SIGNATURE_NOT_REQUIRED", "name": "Demo1", "fileInfos": [{ "transientDocumentId": "XXXXXXXXXX" }], "formFields": [{ "hidden": "1", "defaultValue": "test1@gmail.com", "name": "Signer Email (Applicant-1)", "inputType": "TEXT_FIELD", "readOnly": true, "locations": { "pageNumber": 1, "top": 100, "left": 100, "width": 100, "height": 30 }, "contentType": "SIGNER_EMAIL" }, { "name": "Signature (Applicant-2)", "inputType": "SIGNATURE", "locations": { "pageNumber": 1, "top": 520, "left": 162, "width": 280, "height": 30 }, "contentType": "SIGNATURE", "required": 1, "recipientIndex": 1 }, { "name": "Signature (Applicant-3)", "inputType": "SIGNATURE", "locations": { "pageNumber": 2, "top": 312, "left": 154, "width": 280, "height": 30 }, "contentType": "SIGNATURE", "required": 1, "recipientIndex": 1 }, { "defaultValue": "017/09/2018", "displayFormatType": "DATE", "name": "Signature Date (Applicant-4)", "format": "DATE_DD_MM_YYYY", "inputType": "TEXT_FIELD", "readOnly": true, "locations": { "pageNumber": 2, "top": 260, "left": 90, "width": 80, "height": 30 }, "contentType": "DATA", "required": 1, "recipientIndex": 1 }, { "name": "Signature (Applicant-5)", "inputType": "SIGNATURE", "locations": { "pageNumber": 3, "top": 199, "left": 179, "width": 276, "height": 30 }, "contentType ": "SIGNATURE", "required": 1, "recipientIndex": 1 }, { "contentType": "SIGNATURE_DATE", "defaultValue": "06/07/2018", "displayFormatType": "DATE", "name": "Signature Date (Applicant-6)", "format": "DATE_DD_MM_YYYY", "inputType": "TEXT_FIELD", "readOnly": true, "locations": { "pageNumber": 3, "top": 188, "left": 488, "width": 76, "height": 25 }, "required": 1, "recipientIndex": 1 }, { "name": "Signature (Applicant-7)", "inputType": "SIGNATURE", "locations": { "pageNumber": 3, "top": 370, "left": 37, "width": 210, "height": 26 }, "contentType ": "SIGNATURE", "required": 1, "recipientIndex": 2 }, { "contentType ": "SIGNATURE_DATE", "defaultValue": "01/02/2018", "name": "Signature Date (Applicant-8)", "locations": { "pageNumber": 3, "top": 370, "left": 300, "width": 76, "height": 26 }, "required": 1, "recipientIndex": 2 } ] } }
  5. Per eseguire la richiesta JSON, fai clic sul pulsante Try it Out.

    Interfaccia utente Webhook

    Il codice JSON corretto restituisce la risposta con l’ID dell’accordo.

    Interfaccia utente Webhook

  1. Accedi ad Adobe Sign.

  2. Passa a Account > API Adobe Sign > Informazioni API e fai clic su Documentazione metodi REST API.

    Fnord.

  3. POST /transientDocuments, carica un file e crea un ID documento transitorio.

  4. Copia l’ID del documento transitorio e utilizzalo nel metodo POST /agreements. Indica la seguente richiesta JSON nella casella:

    { "options": { "noChrome": true, "authoringRequested": true }, "documentCreationInfo": { "recipientSetInfos": [{ "recipientSetRole": "SIGNER", "recipientSetMemberInfos": [{ "email": "test1@gmail.com" }], "privateMessage": "Hello 1" }, { "recipientSetRole": "SIGNER", "recipientSetMemberInfos": [{ "email": "test2@gmail.com" }], "privateMessage": "Hello 44" } ], "signatureType": "ESIGN", "message": "Rivedi e firma questo documento.", "locale": "it_IT", "signatureFlow": "SENDER_SIGNATURE_NOT_REQUIRED", "formFieldLayerTemplates": [], "name": "Accordo Adobe Sign", "formFields": null, "fileInfos": [{ "libraryDocumentName": null, "transientDocumentId": "XXXXXXXXXXXX" }] } }
  5. Per eseguire la richiesta JSON, fai clic sul pulsante Try it Out.

    Fnord.

    Il codice JSON corretto restituisce la risposta con l’ID dell’accordo.

    Fnord.

  6. Per aprire l’accordo in modalità di creazione, copia l’URL e incollalo nella barra degli indirizzi di un browser.

  7. Trascina i campi modulo nella posizione desiderata.

  8. Per inviare l’accordo da firmare, fai clic su Invia. 

Usa POST /agreements per creare un accordo. Viene inviato per la firma e l’ID dell’accordo viene restituito nella risposta al client. Di seguito è riportato il formato JSON per inviare un accordo mediante il metodo di autenticazione telefonica.

 

{

"documentCreationInfo": {

"mergeFieldInfo": null,

"recipientSetInfos": [{

"signingOrder": null,

"recipientSetRole": "SIGNER",

"recipientSetMemberInfos": [{

"securityOptions": null,

"email": "Signer@email.com"

}],

 

"privateMessage": null,

"securityOptions": [{

"authenticationMethod": "PHONE",

"phoneInfos": [{

"phone": "1111111111",

"countryCode": "+1"

}]

}]

}],

 

"signatureType": "ESIGN",

"callbackInfo": null,

"message": "Rivedi e firma questo documento.",

"locale": "en_US",

"vaultingInfo": null,

"securityOptions": null,

"reminderFrequency": null,

"ccs": null,

"postSignOptions": null,

"signatureFlow": "SENDER_SIGNATURE_NOT_REQUIRED",

"daysUntilSigningDeadline": null,

"formFieldLayerTemplates": [],

"name": "Adobe Sign Agreement-Phone authentication testing",

"formFields": null,

"fileInfos": [{

"libraryDocumentName": null,

"transientDocumentId": "3AAABLYourTransactionID",

"documentURL": null,

"libraryDocumentId": null

}]

},

 

"options": {

"autoLoginUser": true,

"authoringRequested": false,

"noChrome": true,

"sendThroughWeb": null,

"sendThroughWebOptions": null,

"locale": "en_US"

}

}

 

È possibile unire i dati direttamente nei campi modulo utilizzando i seguenti metodi:

  • Mediante un modello libreria:

    Se nel parametro FileInfo utilizzi un ID di modello libreria, assicurati di specificare il nome esatto del campo e i relativi dati associati nella sezione seguente:

 

"mergeFieldInfo": [

     {

       "defaultValue": "",

       "fieldName": ""

     }

   ],

 

  • Mediante tag di testo in un documento caricato come documento transitorio:

    Se carichi un documento a cui sono stati aggiunti tag di testo come documento transitorio, assicurati di fornire il nome esatto del campo e i relativi dati associati nella sezione seguente: 

 

"mergeFieldInfo": [

     {

       "defaultValue": "",

       "fieldName": ""

     }

   ],

 

Come inviare un accordo mediante API con valori precompilati per i campi modulo specifici (campi unione)?

Per questa chiamata è necessario che completare innanzitutto il passaggio “Caricamento transitorio” e ottenere il “transientDocumentId” (utilizzando: secure.na1.echosign.com/public/docs/restapi/v5#!/transientDocuments/createTransientDocument) da utilizzare.

  • Questa chiamata include la sezione “mergeFieldInfo” in cui vengono forniti i valori predefiniti di campi modulo specifici.
  • In tal modo nella chiamata API vengono pre-compilati i dati provenienti da un altro sistema.
  • Tali campi nell’accordo possono essere modificabili o di sola lettura.

 

Prerequisiti:

  1. ID documento transitorio
  2. Nomi dei campi e relativi valori

 

Esempio di chiamata di richiesta:

 

Richiesta:

POST /api/rest/v5/agreements HTTP/1.1

Host: api.na1.echosign.com (o il nome della tua partizione, che puoi trovare utilizzando la chiamata getbaseURis: https://secure.na1.echosign.com/public/docs/restapi/v5#!/base_uris/getBaseUris

Token di accesso: 2AAABLblqZhA_D1mluNKQP7py5vXtt-1UHl9NR25e_C3LnKTUH14IblbrXODbXGRozyr7ChBkJNM*

x-user-email: sender@yourdomain.com

Content-Type: application/json

Cache-Control: no-cache

 

{

   "documentCreationInfo": {

       "signatureType": "ESIGN",

       "recipientSetInfos": [

           {

               "recipientSetMemberInfos": [

                   {

                       "email": “signerEmail@domain.com"

                   }

               ],

               "recipientSetRole": "SIGNER"

           }

        ],

      

       "signatureFlow": "SENDER_SIGNATURE_NOT_REQUIRED",

       "message": "Ti i invitiamo a firmare questo documento!",

       "fileInfos": [

           {

               "transientDocumentId": "3AAABLblqZhD1uP3ZnkJximC0JV1S677PR5xmybSJ-SJn6OtEy2tVqFyMN4xUAbhKTSkLw2Zb6HEF4zAGsrUd2ycoB8fFHQJhrci0O6267VztmIL4nCicSqvAjO7HckATHAsovVmuYwI9_FDDgHg0ogyti62L13HQFZIQRe9iyQMvvzbmksM7ODNK_HEepEKRCeJTtis9FOlz6uRCcIMNlbX_2GU8utWT"

           }

       ],

       "name": "MSA Edited”,

        "mergeFieldInfo": [

            {

                "fieldName": "AccountName",

                "defaultValue": "Sam's Garage"

            },

            {

                "fieldName": "AccountNumber",

                "defaultValue": "8756999"

            },

            {

                "fieldName": "Zip",

                "defaultValue": "94501"

            },

            {

                "fieldName": "City",

                "defaultValue": "CityVille"

            },

            {

                "fieldName": "State",

                "defaultValue": "CA"

            },

            {

                "fieldName": "Street",

                "defaultValue": "123 Some Road"

            },

            {

                "fieldName": "Title1",

                "defaultValue": "COO"

            },

            {

                "fieldName": "Description",

                "defaultValue": "Some new description here"

            }

        ]

   }

 

}

 

La risposta a questa chiamata è l’ID “agreementId” che dovrai memorizzare nel sistema per le chiamate successive (signingUrl, status, formData, ecc.).

 

Risposta:

{

  "agreementId": "3AAABLblqZhCf_7xDcrOgKFwAabp1S-OFfvUdHf2wJsSMwlB95_x_WdUeab67jOkJi1IJzWuSJ0zdNNKugS1blZB4LT5vNVyJ"

}

 

Durante l’esecuzione del metodo “POST /megaSigns/{megaSignId}/views”, viene visualizzato un errore di tipo “La vista richiesta non è disponibile per la risorsa nel suo stato corrente”.

Questo errore viene presentato se il valore del nome del parametro fornito non è valido nel codice di richiesta seguente:

{
  "name": " "
}

Ad esempio, se lo stato dell’accordo MegaSign è già “IN_PROCESS”, il valore “AUTHORING” restituirà questo errore. Verifica che il valore fornito sia conforme allo stato corrente dell’accordo.

Durante l’esecuzione del metodo “put /megaSigns/{megaSignId}/state”, viene presentato un errore di tipo “Nessun valore fornito per le informazioni di annullamento MegaSign”.

Questo errore si verifica se manca il codice di richiesta del parametro:

 "megaSignCancellationInfo": {
    "comment": "",
    "notifyOthers": false
  }

Anziché utilizzare lo “Schema minimo”, fai clic su “Modello schema completo” e fornisci il codice di richiesta completo per eseguire la chiamata API. 

Per modificare lo stato dell’accordo MegaSign, utilizza PUT /megaSigns/{megaSignId}/state ed effettua le seguenti operazioni:

  1. Passa alla documentazione REST API per v6 e seleziona il metodo 
    PUT /megaSigns/{megaSignId}/state.
  2. Specifica il valore di Authorization, nonché If-Match e megasignID.
    • Per recuperare il codice megasignID, utilizza GET /megaSigns.
    • Per recuperare il valore If-Match, utilizza GET /megaSigns/{megaSignId} e individua “Etag” nell’intestazione.
  3. {
      "state": "CANCELED",
      "megaSignCancellationInfo": {
       "comment": "cancel",
       "notifyOthers": false
      }

Per registrare correttamente un webhook, il suo URL risponde a questa richiesta di verifica con un codice di risposta 2XX; inoltre, può restituire lo stesso valore di ID client in uno dei due modi seguenti:

  1. In un’intestazione di risposta X-AdobeSign-ClientId. Si tratta della stessa intestazione trasmessa nella richiesta, che viene riecheggiata nella risposta.
  2. Nel corpo della risposta JSON con la chiave X-AdobeSign-ClientId. Il suo valore corrisponde all’ID client inviato nella richiesta.

Adobe Sign riceve la risposta 2XX con X-AdobeSign-ClientId. L’utente può verificare se è configurato correttamente nel webhook.

L’URL del webhook non risponde in base al comportamento previsto. Per ogni notifica Post inviata da Adobe Sign, l’URL risponde con il codice di stato 2XX e restituisce nelle intestazioni di risposta l’ID client che era stato inviato nelle intestazioni di richiesta (X-AdobeSign-ClientId).

Per informazioni complete, visita il seguente collegamento:
https://www.adobe.io/apis/documentcloud/sign/docs.html#!adobedocs/adobe-sign/master/webhooks/webhook_events.md

Se l’URL non rispetta questo protocollo, Adobe Sign ritiene che non sia stata accettata la richiesta e tenta di riprogrammarla in base ai criteri di affidabilità.

Se il webhook non risponde e viene superato il tempo o l’intervallo massimo di tentativi, il webhook viene disabilitato.

Questo prodotto è concesso in licenza in base alla licenza di Attribuzione-Non commerciale-Condividi allo stesso modo 3.0 Unported di Creative CommonsI post su Twitter™ e Facebook non sono coperti dai termini di Creative Co


Gestire/Ottenere informazioni sugli accordi

Per modificare un documento già inviato per la firma, utilizza il metodo PUT /agreements/{agreementId} con cui puoi aggiornare un accordo esistente. Fornisci l’ID transitorio e l’ID accordo nel seguente codice di richiesta:

 

{

  "documentUpdateInfo": {

    "fileInfos": [

      {

        "agreementDocumentId": "",

        "transientDocumentId": ""

      }

    ]

  }

}

 

Di seguito sono riportate le istruzioni per cambiare lo stato da “AUTHORING” a “IN_PROCESS” utilizzando PUT /agreements/{agreementId}/state:

  1. Ottieni l’ID accordo recuperato utilizzando il metodo POST /agreements.

  2. Utilizza GET /agreements/{agreementId} per recuperare l’ultimo ETag.

  3. Passa a PUT /agreements/{agreementId}/state e fornisci le seguenti informazioni: "state": "IN_PROCESS"

No.

Non esiste alcun metodo nell’API REST corrente per caricare una copia firmata.

Il mittente deve caricare la copia firmata dalla pagina Gestisci.

DELETE /agreements/ID viene utilizzato per consentire di nascondere un accordo dalla pagina Gestisci.

Adobe ha un nuovo metodo API PUT /agreements/ID/me/visibility per controllare la visibilità di un accordo (in GET /agreements). Oltre alla funzionalità fornita dal metodo DELETE /agreements/ID, il nuovo endpoint di visibilità consente anche all’utente di annullare l’operazione “hide”, per rendere nuovamente visibile l’accordo. 

Puoi anche seguire i passaggi dettagliati riportati di seguito:

  1. Passa al metodo GET /agreements e recupera l’ID dell’accordo.
  2. Fai clic su PUT /agreements/{agreementId}/me/visibility e fornisci la seguente richiesta di esempio:
    {
      "visibility": "HIDE"
    }
    L’ID dell’accordo è nascosto solo da GET /libraryDocuments, ma è ancora visibile nella scheda Gestisci.
Nota:

La funzione API Retention (conservazione) non è attivata per impostazione predefinita.

Per abilitare l’operazione DELETE /agreements, chiedi al tuo Success Manager che l’opzione API Retention sia attivata per l’account.

Per ulteriori informazioni su come abilitare le funzioni di conservazione per l’account, consulta Adobe Sign - Conservazione dei documenti.

  1. Accedi ad Adobe Sign come amministratore e passa a: https://secure.adobesign.com/public/docs/restapi/v6

    • Fai clic su agreements ed espandi il metodo GET /agreements.
    • Fai clic sul pulsante OAUTH ACCESS-TOKEN.
    • Abilita l’ambito agreement_read:self.
    • Fai clic sul pulsante Authorize.
      • Se richiesto, fai clic su Consenti accesso.
    • Fai clic sul pulsante Provalo.
    Metodo GET /agreements

  2. Viene generata la risposta.

    Il codice agreementID si trova nel corpo della risposta:

    Risposta di GET /agreements

  3. DELETE /agreements/{agreementId}/documents: elimina tutti i documenti correlati a un accordo. L’accordo stesso resta visibile nella pagina Gestisci.

    • Seleziona l’operazione DELETE /agreements da eseguire.
    • Fai clic sul pulsante OAUTH ACCESS-TOKEN e crea un token di accesso con ambito agreement_retention.
    • Fornisci il codice agreementId dell’accordo da eliminare.
    • Una volta eliminato l’accordo, il corpo della risposta contiene “nessun contenuto”.

Se ricevi la risposta seguente, significa che l’operazione DELETE /agreements non è abilitata:

 "code": "DYNAMIC_DOCUMENT_EXPIRATION_NOT_ENABLED",

  "message": "L’operazione richiede l’attivazione di alcune impostazioni account. Contattare il team Adobe Sign per attivare le impostazioni."

Come scaricare il documento firmato con il report di audit e il documento di supporto tramite API REST di Adobe Sign, anziché effettuare una chiamata separata per scaricare il report di audit, con il metodo seguente.

GET /agreements/{agreementId}/auditTrail

  1. Fai clic su GET /agreements/{agreementId}/combinedDocument.

  2. Fai clic sul pulsante OAuth Access-token.

  3. Il token di accesso viene generato automaticamente una volta accettata l’autorizzazione.

  4. Fornisci l’ID agreementId.

  5. In attachSupportingDocuments, seleziona true dal menu a discesa.

  6. In attachAuditReport, seleziona true dal menu a discesa.

  7. Fai clic sul pulsante Try it Out. 

    Ottenere i documenti combinati

    Viene scaricato un PDF combinato con l’accordo Firmato, il documento di supporto e il report di audit.

Per scaricare più documenti in blocco, è disponibile solo lo strumento di esportazione dei documenti; con l’API è possibile scaricare solo un documento alla volta. Di seguito è riportato il metodo API:

https://secure.na1.adobesign.com/public/docs/restapi/v5#!/agreements/getCombinedDocument


Modelli libreria e moduli Web

  1. Accedi ad Adobe Sign come amministratore e passa a: https://secure.na1.adobesign.com/public/docs/restapi/v6

    • Fai clic su libraryDocuments ed espandi il metodo GET /libraryDocuments.
    • Fai clic sul pulsante OAUTH ACCESS-TOKEN.
    • Abilita l’ambito library_read:self.
    • Fai clic sul pulsante Authorize.
      • Se richiesto, fai clic su Consenti accesso.
    • Fai clic sul pulsante Provalo.
    Metodo GET LibraryDocument

  2. Viene generata la risposta.

    Il codice libraryDocumentId si trova nel corpo della risposta:

    Risposta di GET LibraryDocument

Adobe ha un nuovo metodo API PUT/libraryDocuments/ID/me/visibility che consente di controllare la visibilità di un accordo (in GET /agreements). Oltre alla funzionalità fornita dal metodo DELETE /agreements/ID, il nuovo endpoint di visibilità consente anche all’utente di annullare l’operazione “hide”, per rendere nuovamente visibile l’accordo.

Puoi anche seguire i passaggi dettagliati riportati di seguito:

  1. Passa al metodo GET /libraryDocuments e recupera l’ID dell’accordo.
  2. Fai clic su PUT /libraryDocuments/{libraryDocumentId}/me/visibility e fornisci la seguente richiesta di esempio:
    {
      "visibility": "HIDE"
    }
    L’ID della libreria è nascosto solo da GET /libraryDocuments, ma è ancora visibile nella scheda Gestisci.
Nota:
  • Invia una richiesta al team di supporto per richiedere che venga abilitato l’ambito per l’eliminazione della libreria.
  • L’API elimina il documento libreria. Tuttavia, gli accordi creati con il documento libreria restano intatti.


Generazione di un codice libraryDocumentID

  1. Passa a https://secure.echosign.com/public/docs/restapi/v5.

  2. Fai clic su libraryDocuments.

  3. Fai clic sul pulsante OAuth Access-Token.

    Autorizza l’accesso: token per se stesso, gruppo o account.

  4. Seleziona libraryTemplateType - Document o Form_field_layer.

  5. Fai clic su Try it Out per provarlo.

    Puoi ricevere una risposta come quella seguente per tutti i tuoi modelli. Copia l’ID libraryDocumentId per il modello libreria da eliminare.

    { "libraryDocumentList": [ { "name": "testing fields", "modifiedDate": "2017-08-04T01:06:05-07:00", "scope": "PERSONAL", "libraryDocumentId": "3AAABLblqZhAK53Dvzq88Q1Ov0TEvMAySDPpIVjF1PWgUpy0H1uYggt4iwGiRSZYlWfl9ms_AcmgZ_uZMPPN2hNT9izwaspHc", "libraryTemplateTypes": [ "DOCUMENT" ] },


Eliminazione dei modelli libreria

  1. Copia l’ID libraryDocumentID dal corpo della risposta.

  2. Passa a DELETE libraryDocuments.

  3. Fai clic sul pulsante OAuth Access-token.Autorizza l’accesso: token per se stesso, gruppo o account.

  4. Incolla l’ID libraryDocumentId nel campo Value.

  5. Fai clic su Try it Out.
    Il modello viene eliminato.

    Viene visualizzato il seguente codice di errore: 204

Nota:

È possibile aggiornare solo i moduli web che si trovano nello stato Bozza.

  1. Crea il widget utilizzando il metodo POST /widgets.

  2. Ottieni l’ID del widget da GET /widgets.

  3. Una volta creato utilizzando il metodo GET /widgets/{widgetId}, recupera l’Etag dall’intestazione della risposta.

    Foo

  4. In PUT /widgets/{widgetId}, utilizza il valore Etag da GET /widgets/{widgetId}. Per il parametro If-Match, immetti widgetId e widgetInfo.

    Foo

    { "fileInfos": [ { "transientDocumentId": "******" } ], "name": "Widht_Name", "status": "DRAFT", "widgetParticipantSetInfo": { "memberInfos": [ { "email": "" } ], "role": "SIGNER" } }


Esempi di utilizzo

  1. Effettua una chiamata GET /agreements con il valore x-api-user corretto.

  2. Nel corpo della risposta, individua l’accordo inviato per la firma di cui desideri trovare l’URL di firma e prendi nota dell’ID dell’accordo.

  3. Effettua una chiamata GET /agreements/{agreementId}/signingUrls utilizzando l’ID dell’accordo ricevuto dalla chiamata GET /agreements.

     

    Risultato

    L’output restituisce l’indirizzo e-mail dei firmatari e l’URL per la firma elettronica.

    Metodo GET /agreements

Logo Adobe

Accedi al tuo account