Individuazione del punto di accesso API valido
Prima di utilizzare l’API di Sign, crea un account sviluppatore gratuito per accedere all’API, testare lo scambio e l’esecuzione dei documenti e la funzionalità di invio tramite e-mail.
Adobe distribuisce le API di Acrobat Sign in tutto il mondo in molte unità di distribuzione denominate "frammenti". Ogni partizione serve l'account di un cliente, come NA1, NA2, NA3, EU1, JP1, AU1, IN1 e altri. I nomi delle partizioni corrispondono a posizioni geografiche. Queste partizioni compongono l’URI di base (punti di accesso) degli endpoint API.
Per accedere all’API di Sign, devi prima scoprire il punto di accesso corretto per il tuo account, che può essere api.na1.adobesign.com, api.na4.adobesign.com, api.eu1.adobesign.com o altro, a seconda di dove ti trovi.
GET /api/rest/v6/baseUris HTTP/1.1
Host: https://api.adobesign.com
Authorization: Bearer {YOUR-INTEGRATION-KEY-HERE}
Accept: application/json
Response Body (example):
{
"apiAccessPoint": "https://api.na4.adobesign.com/",
"webAccessPoint": "https://secure.na4.adobesign.com/"
}
Nell'esempio precedente, è una risposta con il valore come punto di accesso.
Caricamento di un documento transitorio
Adobe Sign consente di creare diversi flussi per preparare i documenti per le firme o la raccolta dei dati. Indipendentemente dal flusso dell'applicazione, è necessario prima caricare un documento, che rimane disponibile solo per sette giorni. Le successive chiamate API devono quindi fare riferimento a questo documento temporaneo.
Il documento viene caricato utilizzando una richiesta POST nell'endpoint /transientDocuments
. La richiesta multipart è costituita dal nome del file, da un flusso di file e dal tipo MIME (media) del file del documento. La risposta dell'endpoint contiene un ID che identifica il documento.
Inoltre, l’applicazione può specificare un URL di richiamata da Acrobat Sign a ping, che viene notificato all’app al termine del processo di firma.
POST /api/rest/v6/transientDocuments HTTP/1.1
Host: {YOUR-API-ACCESS-POINT}
Authorization: Bearer {YOUR-INTEGRATION-KEY-HERE}
x-api-user: email:your-api-user@your-domain.com
Content-Type: multipart/form-data
File-Name: "Insurance Form.pdf"
File: "[path]\Insurance Form.pdf"
Accept: application/json
Response Body (example):
{
"transientDocumentId": "3AAA...BRZuM"
}
Creazione di un modulo Web
I moduli Web (noti in precedenza come widget per la firma) sono documenti ospitati che chiunque abbia accesso può firmare. Esempi di moduli Web includono fogli di iscrizione, rinunce e altri documenti a cui molte persone hanno accesso e che firmano online.
Per creare un nuovo modulo Web utilizzando l’API di Sign, devi prima caricare un documento transitorio. La richiesta POST all'endpoint /widgets
utilizza l'elemento transientDocumentId
restituito.
In questo esempio il modulo Web è ACTIVE
, ma è possibile crearlo in uno dei tre stati seguenti:
-
DRAFT - per creare in modo incrementale il modulo Web
-
AUTHORING — per aggiungere o modificare campi modulo nel modulo Web
-
ACTIVE - per ospitare immediatamente il modulo Web
È inoltre necessario definire le informazioni sui partecipanti del modulo. La proprietà memberInfos
contiene dati sui partecipanti, ad esempio e-mail. Attualmente questo set non supporta più di un membro. Tuttavia, poiché l’indirizzo e-mail del firmatario del modulo Web è sconosciuto al momento della creazione del modulo Web, l’indirizzo e-mail deve essere lasciato vuoto, come nell’esempio seguente. La proprietà role
definisce il ruolo assunto dai membri in memberInfos
(ad esempio SIGNER e APPROVER).
POST /api/rest/v6/widgets HTTP/1.1
Host: {YOUR-API-ACCESS-POINT}
Authorization: Bearer {YOUR-INTEGRATION-KEY-HERE}
x-api-user: email:your-api-user@your-domain.com
Content-Type: application/json
Request Body:
{
"fileInfos": [
{
"transientDocumentId": "YOUR-TRANSIENT-DOCUMENT-ID"
}
],
"name": "Insurance Form",
"widgetParticipantSetInfo": {
"memberInfos": [{
"email": ""
}],
"role": "SIGNER"
},
"state": "ACTIVE"
}
Response Body (example):
{
"id": "CBJ...PXoK2o"
}
Puoi creare un modulo Web come DRAFT
o AUTHORING
, quindi modificarne lo stato durante il passaggio del modulo nella pipeline dell’applicazione. Per modificare lo stato di un modulo Web, fai riferimento all'endpoint PUT /widgets/{widgetId}/state.
Lettura dell’URL di hosting del modulo Web
Il passaggio successivo consiste nell’individuare l’URL che ospita il modulo Web. L’endpoint /widgets recupera un elenco di dati del modulo Web, incluso l’URL ospitato del modulo Web che invii agli utenti, per raccogliere firme e altri dati del modulo.
Questo endpoint restituisce un elenco, in modo da poter individuare il modulo specifico in base al relativo ID in userWidgetList
prima di ottenere l'URL che ospita il modulo Web:
GET /api/rest/v6/widgets HTTP/1.1
Host: {YOUR-API-ACCESS-POINT}
Authorization: Bearer {YOUR-INTEGRATION-KEY-HERE}
Accept: application/json
Response Body:
{
"userWidgetList": [
{
"id": "CBJCHB...FGf",
"name": "Insurance Form",
"groupId": "CBJCHB...W86",
"javascript": "<script type='text/javascript' ...
"modifiedDate": "2021-03-13T15:52:41Z",
"status": "ACTIVE",
"Url":
"https://secure.na4.adobesign.com/public/esignWidget?wid=CBFCIB...Rag*",
"hidden": false
},
{
"id": "CBJCHB...I8_",
"name": "Insurance Form",
"groupId": "CBJCHBCAABAAyhgaehdJ9GTzvNRchxQEGH_H1ya0xW86",
"javascript": "<script type='text/javascript' language='JavaScript'
src='https://sec
"modifiedDate": "2021-03-13T02:47:32Z",
"status": "ACTIVE",
"Url":
"https://secure.na4.adobesign.com/public/esignWidget?wid=CBFCIB...AAB",
"hidden": false
},
{
"id": "CBJCHB...Wmc",
Gestione del modulo Web
Questo modulo è un documento PDF da compilare a cura degli utenti. Tuttavia, è comunque necessario comunicare all’editor del modulo quali campi devono essere compilati dagli utenti e dove si trovano all’interno del documento:
Il documento qui sopra non mostra ancora i campi. Vengono aggiunti durante la definizione dei campi che raccolgono le informazioni del firmatario, nonché delle loro dimensioni e posizione.
Passa ora alla scheda Moduli Web nella pagina "I tuoi accordi" e trova il modulo creato.
Fai clic su Modifica per aprire la pagina di modifica del documento. I campi predefiniti disponibili si trovano nel pannello a destra.
L’editor consente di trascinare campi di testo e firma. Dopo aver aggiunto tutti i campi necessari, è possibile ridimensionarli e allinearli per rifinire il modulo. Infine, fai clic su Salva per creare il modulo.
Invio di un modulo Web da firmare
Una volta completato il modulo Web, è necessario inviarlo per consentire agli utenti di compilarlo e firmarlo. Una volta salvato il modulo, puoi visualizzare e copiare l’URL e il codice incorporato.
Copia URL modulo Web: utilizza questo URL per inviare gli utenti a una versione ospitata di questo accordo per la revisione e la firma. Ad esempio:
https://secure.na4.adobesign.com/public/esignWidget?wid=CBFCIBAA3…babw*
Copia codice di incorporamento modulo Web: aggiungi l’accordo al tuo sito Web copiando questo codice e incollandolo nel tuo HTML.
Ad esempio:
<iframe
src="https://secure.na4.adobesign.com/public/esignWidget?wid=CBFC
...yx8*&hosted=false" width="100%" height="100%" frameborder="0"
style="border: 0;
overflow: hidden; min-height: 500px; min-width: 600px;"></iframe>
Quando gli utenti accedono alla versione ospitata del modulo, esaminano il documento transitorio caricato per la prima volta con i campi posizionati come specificato.
L’utente compila i campi e firma il modulo.
Successivamente, l’utente firma il documento con una firma archiviata in precedenza o con una nuova firma.
Quando l'utente fa clic su Applica, in Adobe viene richiesto di aprire l'e-mail e confermare la firma. La firma rimane in sospeso fino all’arrivo della conferma.
Questa autenticazione aggiunge l’autenticazione a più fattori e rafforza la sicurezza del processo di firma.