eSignature

Soluzioni di Firma con validità europea disponibili tutte in un'unica API

eSignature è l'API per automatizzare la firma digitale di documenti, conforme al regolamento eIDAS e senza costi fissi: paghi solo per gli utilizzi effettivi.

Tutte le informazioni di cui hai bisogno

Qui trovi qualche consiglio da prendere in considerazione per approcciare a questa API. Se preferisci forniamo esempi di codice, documentazione in OAS3, la possibilità di provare l'API dal vivo con la Swagger UI oppure importare l'intera collezione in Postman. Offriamo inoltre un ambiente di Sandbox dove puoi sperimentare tutte le API gratuitamente.

Utili consigli per iniziare con eSignature

Prendi il token nell'apposita sezione prima di cominciare.

Usa lo strumento online o generalo via API. Imposta una data di scadenza e aggiungi una serie di Scopes per limitare le possibli azioni permesse al token.

Ottieni il tuo Certificato

Utilizza i seguenti endpoint per ottenere un certificato di firma per firmare digitalmente i tuoi file:

Ottieni il tuo primo certificato

POST /certificates/namirial-automatic
Questo endpoint ti permette di ottenere un nuovo certificato.
La risposta conterrà un link dell'autorità di registrazione per verificare l'identità e generare il certificato.
Una volta completata la procedura, l'utente riceverà le credenziali per firmare utilizzando il certificato.
Dato che questa potrebbe essere un'operazione una tantum, potresti preferire contattare il nostro team per ottenere maggiori informazioni o per ottenere il certificato manualmente.

Ottieni una lista dei certificati posseduti
GET /certificates
Questo endpoint restituisce una lista di certificati. La lista può essere filtrata per stato e tipo di certificato.

Ottieni i dettagli del certificato
GET /certificates/{id}
Questo endpoint restituisce i dettagli di un certificato.

Fai la tua prima Firma Elettronica

Utilizza i seguenti endpoint per gestire le firme elettroniche:

Crea la tua prima Firma QES

POST /EU-QES_automatic
Questo endpoint ti permette di creare una Firma QES utilizzando un Certificato Automatico Massivo.
Inserisci il tuo documento e le credenziali del certificato per firmare il documento.
La risposta conterrà i dettagli della firma. Prendi l'{id} e...

Scarica il documento firmato
GET /signatures/{id}/signedDocument
L'output sarà il documento firmato.

Ottieni una lista delle firme
GET /signatures
Questo endpoint restituisce una lista di firme. La lista può essere filtrata per stato, tipo di certificato e tipo di firma.

Ottieni i dettagli della firma
GET /signatures/{id}/{actionType}
Questo endpoint restituisce i dettagli, l'audit, il documento firmato (signedDocument) o il documento validato (validatedDocument) di una firma.

E-Signature API (1.0.16)

Questa API è stata progettata per fornire un insieme completo di strumenti per integrare i processi di firma elettronica in qualsiasi applicazione.

Cosa si può fare con questa API:

  • acquistare e rinnovare certificati di firma fisici, remoti, otp o automatici
  • firmare elettronicamente i documenti secondo i principali standard eIDAS
    • QES (CAdES, PAdES, XAdES, PKCS#1, QTimestamp)
      • OTP remoto
      • Automatico massivo
      • Automatico massivo E-seal
  • verifica la validità di un documento firmato

Certificates

Acquistare o rinnovare i certificati di firma

Ottenere un elenco di certificati

Ottiene un elenco di certificati. L'elenco può essere filtrato per tipo di certificato e stato. I tipi disponibili sono: EU-QES_automaticm EU-QES_otp. Gli stati disponibili sono: NUOVO, SCADUTO e SOSPESO.

Authorizations:
bearerAuth
query Parameters
certificateType
string
Enum: "EU-QES_automatic" "EU-QES_otp" "EU-QES_eseal"
Example: certificateType=EU-QES_automatic

Tipo di certificato

state
string
Enum: "NEW" "EXPIRED" "SUSPENDED"
Example: state=NEW

Stato del certificato

skip
integer >= 0
Default: 0

Numero di voci da saltare

limit
integer [ 1 .. 100 ]
Default: 100
Example: limit=100

Numero massimo di elementi da restituire (min 1 max 100)

Responses

Response Schema: application/json
Array
id
string

ID del certificato

certificateOwner
string

Nome del proprietario del certificato

customReference
string

Riferimento personalizzato per il certificato

certificateType
string
Enum: "EU-QES_automatic" "EU-QES_otp"

Tipo di certificato

createdAt
string

Data e ora di creazione

expireAt
string

Data e ora di scadenza del certificato

state
string
Enum: "NEW" "EXPIRED" "SUSPENDED"

Stato del certificato

certificateLink
string <uri>

URL per avviare la procedura di attribuzione del certificato

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://esignature.openapi.com/certificates?certificateType=SOME_STRING_VALUE&state=SOME_STRING_VALUE&skip=SOME_INTEGER_VALUE&limit=SOME_INTEGER_VALUE");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

CURLcode ret = curl_easy_perform(hnd);

Response samples

Content type
application/json
[
  • {
    }
]

Ottenere un certificato

Ottenere un certificato in base all'ID. L'ID del certificato è necessario per accedere al servizio.

Authorizations:
bearerAuth
path Parameters
id
required
string
Example: 67af24c5af9b55291406e946

ID del certificato

Responses

Response Schema: application/json
id
string

ID del certificato

certificateOwner
string

Nome del proprietario del certificato

customReference
string

Riferimento personalizzato per il certificato

certificateType
string
Enum: "EU-QES_automatic" "EU-QES_otp"

Tipo di certificato

createdAt
string

Data e ora di creazione

expireAt
string

Data e ora di scadenza del certificato

state
string
Enum: "NEW" "EXPIRED" "SUSPENDED"

Stato del certificato

certificateLink
string <uri>

URL per avviare la procedura di attribuzione del certificato

object (Callback)

È il nostro sistema di callback OpenAPI standardizzato. Consente di configurare i parametri per ricevere notifiche sugli aggiornamenti di stato delle richieste asincrone a questo endpoint.

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://esignature.openapi.com/certificates/67af24c5af9b55291406e946");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

CURLcode ret = curl_easy_perform(hnd);

Response samples

Content type
application/json
{
  • "id": "67af24c5af9b55291406e946",
  • "certificateOwner": "John Doe",
  • "customReference": "MyCustomReference#123",
  • "certificateType": "EU-QES_automatic",
  • "createdAt": "2025-02-14 11:11:01.892+00:00",
  • "expireAt": "2025-02-14 11:11:01.892+00:00",
  • "state": "NEW",
  • "callback": {
    }
}

Acquistare un certificato automatico Namirial

Acquistare un certificato automatico Namirial. Il certificato è valido per un anno e può essere utilizzato per firmare documenti nei formati CAdES, PAdES, XAdES e PKCS#1. La procedura restituisce un certificatoLink. Si tratta di una procedura una tantum da parte dell'autorità di certificazione per qualificare il proprietario del certificato. Una volta completata la procedura, il firmatario riceverà

Authorizations:
bearerAuth
Request Body schema: application/json

Creare una nuova richiesta di certificato automatico Namirial specificando i dettagli del certificato.

certificateOwner
string

Nome del proprietario del certificato

customReference
string

Riferimento personalizzato per il certificato, utile per la tracciabilità interna

object (Callback)

È il nostro sistema di callback OpenAPI standardizzato. Consente di configurare i parametri per ricevere notifiche sugli aggiornamenti di stato delle richieste asincrone a questo endpoint.

Responses

Response Schema: application/json
object
success
boolean

Success dell'operazione

message
string

Messaggio

error
string or null

Codice di errore

Request samples

Content type
application/json
{
  • "certificateOwner": "John Doe",
  • "customReference": "MyCustomReference#123",
  • "callback": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true,
  • "message": "Certificate purchased successfully",
  • "error": ""
}

Acquistare un certificato OTP Namirial

Acquistare un certificato OTP Namirial. Il certificato è valido per un anno e può essere utilizzato per firmare documenti nei formati CAdES, PAdES, XAdES e PKCS#1.

Authorizations:
bearerAuth
Request Body schema: application/json

Creare una nuova richiesta di certificato automatico Namirial specificando i dettagli del certificato.

certificateOwner
string

Nome del proprietario del certificato

customReference
string

Riferimento personalizzato per il certificato, utile per la tracciabilità interna

object (Callback)

È il nostro sistema di callback OpenAPI standardizzato. Consente di configurare i parametri per ricevere notifiche sugli aggiornamenti di stato delle richieste asincrone a questo endpoint.

Responses

Response Schema: application/json
object
success
boolean

Success dell'operazione

message
string

Messaggio

error
string or null

Codice di errore

Request samples

Content type
application/json
{
  • "certificateOwner": "John Doe",
  • "customReference": "MyCustomReference#123",
  • "callback": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true,
  • "message": "Certificate purchased successfully",
  • "error": ""
}

Signatures

Applicare una firma elettronica a un file

Ottenere un elenco di firme

Ottiene un elenco di firme. L'elenco può essere filtrato per stato, tipo di certificato e tipo di firma. Gli stati disponibili sono: WAIT_VALIDATION, WAIT_SIGN, DONE ed ERROR. I tipi di certificato disponibili sono: EU-QES_automatic, EU-QES_remote_otp, EU-QES_remote_eseal, EU-QES_disposable_recognition, EU-QES_disposable_spid, EU-QES_mail_otp e EU-QES_sms_otp. I tipi di firma disponibili sono: cades, pades, xades e pkcs1.

Authorizations:
bearerAuth
query Parameters
state
string
Enum: "WAIT_VALIDATION" "WAIT_SIGN" "DONE" "ERROR"
Example: state=DONE

Stato della firma

certificateType
string
Enum: "EU-QES_automatic" "EU-QES_otp"
Example: certificateType=EU-QES_automatic

Tipo di certificato

signatureType
string
Enum: "cades" "pades" "xades" "pkcs1"
Example: signatureType=pades

Tipo di firma

skip
integer >= 0
Default: 0

Numero di voci da saltare

limit
integer [ 1 .. 100 ]
Default: 100
Example: limit=100

Numero massimo di elementi da restituire (min 1 max 100)

Responses

Response Schema: application/json
Array
id
string

ID della firma

updatedAt
string

Data e ora dell'ultimo aggiornamento

createdAt
string

Data e ora di creazione

documentTitle
string

Titolo del documento

certificateType
string
Enum: "EU-QES_automatic" "EU-QES_remote_otp"

Tipo di certificato

signatureType
string
Enum: "cades" "pades" "xades" "pkcs1"

Tipo di firma

state
string
Enum: "WAIT_VALIDATION" "WAIT_SIGN" "DONE" "ERROR"

Stato della firma

errorNumber
integer or null

Numero di errore

errorMessage
string or null

Messaggio di errore

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://esignature.openapi.com/signatures?state=SOME_STRING_VALUE&certificateType=SOME_STRING_VALUE&signatureType=SOME_STRING_VALUE&skip=SOME_INTEGER_VALUE&limit=SOME_INTEGER_VALUE");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

CURLcode ret = curl_easy_perform(hnd);

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "success": true,
  • "message": "",
  • "error": null
}

Scaricare il documento firmato, ottenere i dettagli, l'audit trail o il documento convalidato di una firma

Ottenere i dettagli, l'audit, il signedDocument o il validatedDocument di una firma.
Per accedere al servizio è necessario l'ID della firma.
Il parametro actionType può essere utilizzato per specificare il tipo di informazioni da recuperare.
Le opzioni disponibili sono: signedDocument, validatedDocument, audit e detail.
Il signedDocument e il validatedDocument restituiscono il contenuto binario del file pronto per essere scaricato.
L'audit trail è disponibile in più formati in base al valore Accept dell'intestazione della richiesta.
I formati disponibili sono: application/json, text/plain, text/html, application/pdf.

Authorizations:
bearerAuth
path Parameters
id
required
string
Example: 67af24c5af9b55291406e946

ID della firma

actionType
required
string
Default: ""
Enum: "detail" "audit" "signedDocument" "validatedDocument" ""
Example: detail

Tipo di azione da eseguire, "dettaglio" o lasciare vuoto per le informazioni sul documento firmato, "signedDocument", "audit" per la pista di controllo o "validatedDocument"

Responses

Response Schema:
string <binary>

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://esignature.openapi.com/signatures/67af24c5af9b55291406e946/detail");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

CURLcode ret = curl_easy_perform(hnd);

Response samples

Content type
Example
Loading...

Creare la firma QES utilizzando il certificato automatico massivo

Creare una procedura di firma da uno o più file.

Ottenere il certificato:

Per accedere al servizio, è necessario un certificato automatico che può essere acquistato tramite l'endpoint appropriato "/certificati/namirial-automatico".

Formati disponibili:

Il sistema può firmare nei formati CAdES, PAdES, XAdES e PKCS#1.

Se non viene specificato, il sistema cercherà il formato più adatto in base al mimeType del file caricato file caricato.

File di input:

È possibile caricare file di input singoli o multipli sia in formato in formato base64 sia specificando l'URL della risorsa ed eventuali parametri di parametri di autenticazione.

  • Nel caso di caricamento di più file con firma PAdES, questi verranno uniti in un unico documento pdf firmato firmato.

  • Nel caso di firma di più file in formato CAdES, verrà generato e firmato un file zip verrà generato e firmato un file zip.

Modalità asincrona, elaborazione batch, callback e firma "detached":

Per la firma massiva di grandi quantità di file, è possibile caricare e firmare in modalità asincrona modalità asincrona. È disponibile un sistema di callback autenticato per ricevere gli aggiornamenti aggiornamenti.

È anche possibile firmare direttamente l'hash del file originale e ottenere solo il file di firma "staccato" direttamente e ottenere solo il file di firma "detached".

Conservazione dei documenti e dei dati nel sistema:

I dettagli dei dati strutturati di firma e gli audit trail saranno conservati nel sistema per un massimo di 1 anno. i documenti firmati, i documenti caricati e quelli convalidati rimarranno nel sistema per un massimo di 30 giorni per consentirne il download. Trascorso questo periodo, i documenti verranno automaticamente cancellati.

Timestamping qualificato disponibile:

È disponibile un'opzione di timestamp qualificato. Esiste anche l'opzione di utilizzare le credenziali di timestamp qualificate già in vostro possesso. In questo caso, il sistema consente di specificare l'URL di autenticazione dell'autorità di certificazione interessata.

Sandbox:

A scopo di test, è possibile utilizzare le seguenti credenziali:

  • certificateUsername: "openapiSandboxUsername"
  • certificatePassword: "openapiSandboxPassword"
Authorizations:
bearerAuth
Request Body schema: application/json

Creare una nuova richiesta di firma automatica massiva specificando i file di input e le credenziali del certificato.

Il sistema può firmare nei formati CAdES, PAdES, XAdES e PKCS#1. Se non viene specificato, il sistema cercherà il formato più adatto in base al mimeType del file caricato.

Any of
required
string or string or InputDocumentObject (object) or (Array of strings or strings or InputDocumentObject (object)) (InputDocuments)

È possibile specificare i documenti di input da firmare:

  • un documento come URL (il sistema scaricherà il documento e indovinerà il mimetype)
  • una stringa base64 di un file (il sistema indovinerà il mimetype)
  • una stringa base64 dell'hash (SHA256) di un file (il sistema indovinerà il mimetype in base alla lunghezza dell'hash di 32)
  • un oggetto InputDocumentObject con dettagli aggiuntivi, come il "sourceType" del documento, l'"url" del documento, le "intestazioni" per la richiesta del documento remoto, il "metodo" HTTP per la richiesta del documento remoto, i "postData" per la richiesta del documento remoto, il "payload" del documento codificato in base64 (nel caso di base64 sourceType) o l'hash del documento (nel caso di base64Hash sourceType)".
  • un array di alcune delle opzioni precedenti

Note sull'hash del file:

Questo esempio mostra come creare l'hash del file e codificarlo in base64:

bash openssl dgst -sha256 -binary FILE_TO_BE_SIGN | openssl enc -a

L'output sarà qualcosa di simile a questo: "msj3f4hJCSELbMkWjkFwNrf0XhkebTnAKaKhx4686DY="

Il sistema indovina se la stringa base64 è un hash o un file; se la stringa è un hash (SHA256==CHAR(32)) il sistema firma l'hash del file originale.

Per ignorare questo comportamento di indovinare, si può usare il campo sourceType nello schema InputDocumentObject.

certificateUsername
required
string

Nome utente per il certificato, deve essere utilizzato il nome del dispositivo ricevuto. Inizia con: RHI (/EU-QES_otp), SHI (/EU-QES_eseal) o AHI (/EU-QES_automatic)

certificatePassword
required
string

Password per il certificato, deve essere utilizzato il PIN associato al nome del dispositivo (può essere impostato dal cliente o letto nella busta cieca)

certificateOtp
string

VALIDO SOLO PER L'endpoint /EU-QES_otp, è OBBLIGATORIO ed è ottenibile utilizzando la relativa app otp dell'autorità di certificazione

certificateIdOtp
integer

VALIDO SOLO PER L'endpoint /EU-QES_otp, è facoltativo e viene utilizzato nel caso in cui sia impostato più di un otp sull'app dell'autorità di certificazione. Si trova nella sezione in alto a destra dell'applicazione otp

title
string

Titolo della firma

description
string

Descrizione della firma

signatureType
string
Enum: "cades" "pades" "xades" "pkcs1"

Tipo di firma. Potrebbe essere cades, pades, xades, pkcs1

object

Opzioni aggiuntive per la firma. Le opzioni disponibili dipendono dal tipo di firma:

  • Opzioni comuni:
    • asyncDocumentsValidation (booleano): Se convalidare i documenti in modo asincrono. Predefinito: false.
    • asyncSignature (booleano): Se firmare i documenti in modo asincrono. Predefinito: false.
  • opzioni PAdES:
    • livello (stringa): Livello di firma. Valori: B, T, LT, LTA, LTV. Valore predefinito: B.
    • hashAlgorithm (stringa): Algoritmo di hash. Valori: SHA1, SHA256, SHA384, SHA512. Predefinito: SHA256.
    • encryptInAnyCase (booleano): Crittografa in qualsiasi caso. Predefinito: false.
    • page (intero): Numero di pagina da firmare. Predefinito: 1.
    • encryptionPassword (stringa): Password per la crittografia del pdf. Predefinito: null.
    • immagine del firmatario" (stringa): Immagine del firmatario. Predefinito: null.
    • lockFields (stringa): Campi da bloccare. Predefinito: null.
    • withSignatureField (booleano): Include il campo firma. Predefinito: false.
    • withTimestamp (booleano): Include il timestamp. Predefinito: false.
    • timestampUrl (stringa): URL del servizio timestamp. Predefinito: null.
    • timestampUsername (stringa): Nome utente del servizio di timestamp. Predefinito: null.
    • timestampPassword (stringa): Password per il servizio di timestamp. Predefinito: null.
    • timestampHashAlgo (stringa): Algoritmo di hash per il servizio di timestamp. Valori: SHA1, SHA256, SHA384, SHA512. Valore predefinito: SHA256.
  • opzioni CAdES:
    • detached (booleano): Firma "detached". Predefinito: false.
    • level (stringa): Livello della firma. Valori: B, T, LT, LTA, LTV. Valore predefinito: B.
    • hashAlgorithm (stringa): Algoritmo di hash. Valori: SHA1, SHA256, SHA384, SHA512. Predefinito: SHA256.
    • counterSignature (booleano): Controfirma. Predefinito: false.
    • withTimestamp (booleano): Include il timestamp. Predefinito: false.
    • timestampUrl (stringa): URL del servizio timestamp. Predefinito: null.
    • timestampUsername (stringa): Nome utente del servizio di timestamp. Predefinito: null.
    • timestampPassword (stringa): Password per il servizio di timestamp. Predefinito: null.
    • timestampHashAlgo (stringa): Algoritmo di hash per il servizio di timestamp. Valori: SHA1, SHA256, SHA384, SHA512. Valore predefinito: SHA256.
  • Opzioni XAdES:
    • livello (stringa): Livello di firma. Valori: B, T, LT, LTA, LTV. Valore predefinito: B.
    • hashAlgorithm (stringa): Algoritmo di hash. Valori: SHA1, SHA256, SHA384, SHA512. Predefinito: SHA256.
    • detached (booleano): Firma "detached". Predefinito: false.
    • withoutSignatureExclusion (booleano): Senza esclusione della firma. Predefinito: false.
    • XPathQuery (stringa): Query XPath. Predefinito: null.
    • signElement (stringa): Elemento segno. Predefinito: null.
    • signatureId (stringa): ID firma. Predefinito: null.
    • withTimestamp (booleano): Include il timestamp. Predefinito: false.
    • timestampUrl (stringa): URL del servizio di timestamp. Predefinito: null.
    • timestampUsername (stringa): Nome utente del servizio di timestamp. Predefinito: null.
    • timestampPassword (stringa): Password per il servizio di timestamp. Predefinito: null.
    • timestampHashAlgo (stringa): Algoritmo di hash per il servizio di timestamp. Valori: SHA1, SHA256, SHA384, SHA512. Valore predefinito: SHA256.
  • opzioni PKCS1:
    • hashAlgorithm (stringa): Algoritmo di hash. Valori: SHA1, SHA256, SHA384, SHA512. Predefinito: SHA256.
object (Callback)

È il nostro sistema di callback OpenAPI standardizzato. Consente di configurare i parametri per ricevere notifiche sugli aggiornamenti di stato delle richieste asincrone a questo endpoint.

Responses

Response Schema: application/json
Any of
required
string or string or InputDocumentObject (object) or (Array of strings or strings or InputDocumentObject (object)) (InputDocuments)

È possibile specificare i documenti di input da firmare:

  • un documento come URL (il sistema scaricherà il documento e indovinerà il mimetype)
  • una stringa base64 di un file (il sistema indovinerà il mimetype)
  • una stringa base64 dell'hash (SHA256) di un file (il sistema indovinerà il mimetype in base alla lunghezza dell'hash di 32)
  • un oggetto InputDocumentObject con dettagli aggiuntivi, come il "sourceType" del documento, l'"url" del documento, le "intestazioni" per la richiesta del documento remoto, il "metodo" HTTP per la richiesta del documento remoto, i "postData" per la richiesta del documento remoto, il "payload" del documento codificato in base64 (nel caso di base64 sourceType) o l'hash del documento (nel caso di base64Hash sourceType)".
  • un array di alcune delle opzioni precedenti

Note sull'hash del file:

Questo esempio mostra come creare l'hash del file e codificarlo in base64:

bash openssl dgst -sha256 -binary FILE_TO_BE_SIGN | openssl enc -a

L'output sarà qualcosa di simile a questo: "msj3f4hJCSELbMkWjkFwNrf0XhkebTnAKaKhx4686DY="

Il sistema indovina se la stringa base64 è un hash o un file; se la stringa è un hash (SHA256==CHAR(32)) il sistema firma l'hash del file originale.

Per ignorare questo comportamento di indovinare, si può usare il campo sourceType nello schema InputDocumentObject.

certificateUsername
required
string

Nome utente per il certificato, deve essere utilizzato il nome del dispositivo ricevuto. Inizia con: RHI (/EU-QES_otp), SHI (/EU-QES_eseal) o AHI (/EU-QES_automatic)

certificatePassword
required
string

Password per il certificato, deve essere utilizzato il PIN associato al nome del dispositivo (può essere impostato dal cliente o letto nella busta cieca)

certificateOtp
string

VALIDO SOLO PER L'endpoint /EU-QES_otp, è OBBLIGATORIO ed è ottenibile utilizzando la relativa app otp dell'autorità di certificazione

certificateIdOtp
integer

VALIDO SOLO PER L'endpoint /EU-QES_otp, è facoltativo e viene utilizzato nel caso in cui sia impostato più di un otp sull'app dell'autorità di certificazione. Si trova nella sezione in alto a destra dell'applicazione otp

title
string

Titolo della firma

description
string

Descrizione della firma

signatureType
string
Enum: "cades" "pades" "xades" "pkcs1"

Tipo di firma. Potrebbe essere cades, pades, xades, pkcs1

object

Opzioni aggiuntive per la firma. Le opzioni disponibili dipendono dal tipo di firma:

  • Opzioni comuni:
    • asyncDocumentsValidation (booleano): Se convalidare i documenti in modo asincrono. Predefinito: false.
    • asyncSignature (booleano): Se firmare i documenti in modo asincrono. Predefinito: false.
  • opzioni PAdES:
    • livello (stringa): Livello di firma. Valori: B, T, LT, LTA, LTV. Valore predefinito: B.
    • hashAlgorithm (stringa): Algoritmo di hash. Valori: SHA1, SHA256, SHA384, SHA512. Predefinito: SHA256.
    • encryptInAnyCase (booleano): Crittografa in qualsiasi caso. Predefinito: false.
    • page (intero): Numero di pagina da firmare. Predefinito: 1.
    • encryptionPassword (stringa): Password per la crittografia del pdf. Predefinito: null.
    • immagine del firmatario" (stringa): Immagine del firmatario. Predefinito: null.
    • lockFields (stringa): Campi da bloccare. Predefinito: null.
    • withSignatureField (booleano): Include il campo firma. Predefinito: false.
    • withTimestamp (booleano): Include il timestamp. Predefinito: false.
    • timestampUrl (stringa): URL del servizio timestamp. Predefinito: null.
    • timestampUsername (stringa): Nome utente del servizio di timestamp. Predefinito: null.
    • timestampPassword (stringa): Password per il servizio di timestamp. Predefinito: null.
    • timestampHashAlgo (stringa): Algoritmo di hash per il servizio di timestamp. Valori: SHA1, SHA256, SHA384, SHA512. Valore predefinito: SHA256.
  • opzioni CAdES:
    • detached (booleano): Firma "detached". Predefinito: false.
    • level (stringa): Livello della firma. Valori: B, T, LT, LTA, LTV. Valore predefinito: B.
    • hashAlgorithm (stringa): Algoritmo di hash. Valori: SHA1, SHA256, SHA384, SHA512. Predefinito: SHA256.
    • counterSignature (booleano): Controfirma. Predefinito: false.
    • withTimestamp (booleano): Include il timestamp. Predefinito: false.
    • timestampUrl (stringa): URL del servizio timestamp. Predefinito: null.
    • timestampUsername (stringa): Nome utente del servizio di timestamp. Predefinito: null.
    • timestampPassword (stringa): Password per il servizio di timestamp. Predefinito: null.
    • timestampHashAlgo (stringa): Algoritmo di hash per il servizio di timestamp. Valori: SHA1, SHA256, SHA384, SHA512. Valore predefinito: SHA256.
  • Opzioni XAdES:
    • livello (stringa): Livello di firma. Valori: B, T, LT, LTA, LTV. Valore predefinito: B.
    • hashAlgorithm (stringa): Algoritmo di hash. Valori: SHA1, SHA256, SHA384, SHA512. Predefinito: SHA256.
    • detached (booleano): Firma "detached". Predefinito: false.
    • withoutSignatureExclusion (booleano): Senza esclusione della firma. Predefinito: false.
    • XPathQuery (stringa): Query XPath. Predefinito: null.
    • signElement (stringa): Elemento segno. Predefinito: null.
    • signatureId (stringa): ID firma. Predefinito: null.
    • withTimestamp (booleano): Include il timestamp. Predefinito: false.
    • timestampUrl (stringa): URL del servizio di timestamp. Predefinito: null.
    • timestampUsername (stringa): Nome utente del servizio di timestamp. Predefinito: null.
    • timestampPassword (stringa): Password per il servizio di timestamp. Predefinito: null.
    • timestampHashAlgo (stringa): Algoritmo di hash per il servizio di timestamp. Valori: SHA1, SHA256, SHA384, SHA512. Valore predefinito: SHA256.
  • opzioni PKCS1:
    • hashAlgorithm (stringa): Algoritmo di hash. Valori: SHA1, SHA256, SHA384, SHA512. Predefinito: SHA256.
object (Callback)

È il nostro sistema di callback OpenAPI standardizzato. Consente di configurare i parametri per ricevere notifiche sugli aggiornamenti di stato delle richieste asincrone a questo endpoint.

Callbacks

Request samples

Content type
application/json
Example
{
  • "inputDocuments": [
    ],
  • "certificateUsername": "openapiSandboxUsername",
  • "certificatePassword": "openapiSandboxPassword",
  • "title": "CAdES Signature",
  • "description": "Firma CAdES di un file base64",
  • "signatureType": "cades"
}

Response samples

Content type
application/json
Example
{
  • "data": {
    },
  • "message": "Created",
  • "success": true,
  • "error": null
}

Callback payload samples

Callback
POST: {$request.body#/callback/url}
Content type
{
  • "data": {
    },
  • "custom": {
    }
}

Creare la firma QES utilizzando il certificato OTP remoto

Creare una procedura di firma da uno o più file.

Ottenere il certificato:

Per accedere al servizio, è necessario un certificato automatico, che può essere acquistato tramite l'endpoint appropriato /certificati/namirial-otp.

Formati disponibili:

Il sistema può firmare nei formati CAdES, PAdES, XAdES e PKCS#1.

Se non viene specificato, il sistema cercherà il formato più adatto in base al mimeType del file caricato file caricato.

File di input:

È possibile caricare file di input singoli o multipli sia in formato in formato base64 sia specificando l'URL della risorsa ed eventuali parametri di parametri di autenticazione.

  • Nel caso di caricamento di più file con firma PAdES, questi verranno uniti in un unico documento pdf firmato firmato.

  • Nel caso di firma di più file in formato CAdES, verrà generato e firmato un file zip verrà generato e firmato un file zip.

Modalità asincrona, elaborazione batch, callback e firma "detached":

Per la firma massiva di grandi quantità di file, è possibile caricare e firmare in modalità asincrona modalità asincrona. È disponibile un sistema di callback autenticato per ricevere gli aggiornamenti aggiornamenti.

È anche possibile firmare direttamente l'hash del file originale e ottenere solo il file di firma "staccato" direttamente e ottenere solo il file di firma "detached".

Conservazione dei documenti e dei dati nel sistema:

I dettagli dei dati strutturati di firma e gli audit trail saranno conservati nel sistema per un massimo di 1 anno. i documenti firmati, i documenti caricati e quelli convalidati rimarranno nel sistema per un massimo di 30 giorni per consentirne il download. Trascorso questo periodo, i documenti verranno automaticamente cancellati.

Timestamping qualificato disponibile:

È disponibile un'opzione di timestamp qualificato. Esiste anche l'opzione di utilizzare le credenziali di timestamp qualificate già in vostro possesso. In questo caso, il sistema consente di specificare l'URL di autenticazione dell'autorità di certificazione interessata.

Sandbox:

A scopo di test, è possibile utilizzare le seguenti credenziali:

  • certificateUsername: "openapiSandboxUsername"
  • certificatePassword: "openapiSandboxPassword"
Authorizations:
bearerAuth
Request Body schema: application/json

Creare una nuova richiesta di firma automatica massiva specificando i file di input e le credenziali del certificato.

Il sistema può firmare nei formati CAdES, PAdES, XAdES e PKCS#1. Se non viene specificato, il sistema cercherà il formato più adatto in base al mimeType del file caricato.

Any of
required
string or string or InputDocumentObject (object) or (Array of strings or strings or InputDocumentObject (object)) (InputDocuments)

È possibile specificare i documenti di input da firmare:

  • un documento come URL (il sistema scaricherà il documento e indovinerà il mimetype)
  • una stringa base64 di un file (il sistema indovinerà il mimetype)
  • una stringa base64 dell'hash (SHA256) di un file (il sistema indovinerà il mimetype in base alla lunghezza dell'hash di 32)
  • un oggetto InputDocumentObject con dettagli aggiuntivi, come il "sourceType" del documento, l'"url" del documento, le "intestazioni" per la richiesta del documento remoto, il "metodo" HTTP per la richiesta del documento remoto, i "postData" per la richiesta del documento remoto, il "payload" del documento codificato in base64 (nel caso di base64 sourceType) o l'hash del documento (nel caso di base64Hash sourceType)".
  • un array di alcune delle opzioni precedenti

Note sull'hash del file:

Questo esempio mostra come creare l'hash del file e codificarlo in base64:

bash openssl dgst -sha256 -binary FILE_TO_BE_SIGN | openssl enc -a

L'output sarà qualcosa di simile a questo: "msj3f4hJCSELbMkWjkFwNrf0XhkebTnAKaKhx4686DY="

Il sistema indovina se la stringa base64 è un hash o un file; se la stringa è un hash (SHA256==CHAR(32)) il sistema firma l'hash del file originale.

Per ignorare questo comportamento di indovinare, si può usare il campo sourceType nello schema InputDocumentObject.

certificateUsername
required
string

Nome utente per il certificato, deve essere utilizzato il nome del dispositivo ricevuto. Inizia con: RHI (/EU-QES_otp), SHI (/EU-QES_eseal) o AHI (/EU-QES_automatic)

certificatePassword
required
string

Password per il certificato, deve essere utilizzato il PIN associato al nome del dispositivo (può essere impostato dal cliente o letto nella busta cieca)

certificateOtp
string

VALIDO SOLO PER L'endpoint /EU-QES_otp, è OBBLIGATORIO ed è ottenibile utilizzando la relativa app otp dell'autorità di certificazione

certificateIdOtp
integer

VALIDO SOLO PER L'endpoint /EU-QES_otp, è facoltativo e viene utilizzato nel caso in cui sia impostato più di un otp sull'app dell'autorità di certificazione. Si trova nella sezione in alto a destra dell'applicazione otp

title
string

Titolo della firma

description
string

Descrizione della firma

signatureType
string
Enum: "cades" "pades" "xades" "pkcs1"

Tipo di firma. Potrebbe essere cades, pades, xades, pkcs1

object

Opzioni aggiuntive per la firma. Le opzioni disponibili dipendono dal tipo di firma:

  • Opzioni comuni:
    • asyncDocumentsValidation (booleano): Se convalidare i documenti in modo asincrono. Predefinito: false.
    • asyncSignature (booleano): Se firmare i documenti in modo asincrono. Predefinito: false.
  • opzioni PAdES:
    • livello (stringa): Livello di firma. Valori: B, T, LT, LTA, LTV. Valore predefinito: B.
    • hashAlgorithm (stringa): Algoritmo di hash. Valori: SHA1, SHA256, SHA384, SHA512. Predefinito: SHA256.
    • encryptInAnyCase (booleano): Crittografa in qualsiasi caso. Predefinito: false.
    • page (intero): Numero di pagina da firmare. Predefinito: 1.
    • encryptionPassword (stringa): Password per la crittografia del pdf. Predefinito: null.
    • immagine del firmatario" (stringa): Immagine del firmatario. Predefinito: null.
    • lockFields (stringa): Campi da bloccare. Predefinito: null.
    • withSignatureField (booleano): Include il campo firma. Predefinito: false.
    • withTimestamp (booleano): Include il timestamp. Predefinito: false.
    • timestampUrl (stringa): URL del servizio timestamp. Predefinito: null.
    • timestampUsername (stringa): Nome utente del servizio di timestamp. Predefinito: null.
    • timestampPassword (stringa): Password per il servizio di timestamp. Predefinito: null.
    • timestampHashAlgo (stringa): Algoritmo di hash per il servizio di timestamp. Valori: SHA1, SHA256, SHA384, SHA512. Valore predefinito: SHA256.
  • opzioni CAdES:
    • detached (booleano): Firma "detached". Predefinito: false.
    • level (stringa): Livello della firma. Valori: B, T, LT, LTA, LTV. Valore predefinito: B.
    • hashAlgorithm (stringa): Algoritmo di hash. Valori: SHA1, SHA256, SHA384, SHA512. Predefinito: SHA256.
    • counterSignature (booleano): Controfirma. Predefinito: false.
    • withTimestamp (booleano): Include il timestamp. Predefinito: false.
    • timestampUrl (stringa): URL del servizio timestamp. Predefinito: null.
    • timestampUsername (stringa): Nome utente del servizio di timestamp. Predefinito: null.
    • timestampPassword (stringa): Password per il servizio di timestamp. Predefinito: null.
    • timestampHashAlgo (stringa): Algoritmo di hash per il servizio di timestamp. Valori: SHA1, SHA256, SHA384, SHA512. Valore predefinito: SHA256.
  • Opzioni XAdES:
    • livello (stringa): Livello di firma. Valori: B, T, LT, LTA, LTV. Valore predefinito: B.
    • hashAlgorithm (stringa): Algoritmo di hash. Valori: SHA1, SHA256, SHA384, SHA512. Predefinito: SHA256.
    • detached (booleano): Firma "detached". Predefinito: false.
    • withoutSignatureExclusion (booleano): Senza esclusione della firma. Predefinito: false.
    • XPathQuery (stringa): Query XPath. Predefinito: null.
    • signElement (stringa): Elemento segno. Predefinito: null.
    • signatureId (stringa): ID firma. Predefinito: null.
    • withTimestamp (booleano): Include il timestamp. Predefinito: false.
    • timestampUrl (stringa): URL del servizio di timestamp. Predefinito: null.
    • timestampUsername (stringa): Nome utente del servizio di timestamp. Predefinito: null.
    • timestampPassword (stringa): Password per il servizio di timestamp. Predefinito: null.
    • timestampHashAlgo (stringa): Algoritmo di hash per il servizio di timestamp. Valori: SHA1, SHA256, SHA384, SHA512. Valore predefinito: SHA256.
  • opzioni PKCS1:
    • hashAlgorithm (stringa): Algoritmo di hash. Valori: SHA1, SHA256, SHA384, SHA512. Predefinito: SHA256.
object (Callback)

È il nostro sistema di callback OpenAPI standardizzato. Consente di configurare i parametri per ricevere notifiche sugli aggiornamenti di stato delle richieste asincrone a questo endpoint.

Responses

Response Schema: application/json
Any of
required
string or string or InputDocumentObject (object) or (Array of strings or strings or InputDocumentObject (object)) (InputDocuments)

È possibile specificare i documenti di input da firmare:

  • un documento come URL (il sistema scaricherà il documento e indovinerà il mimetype)
  • una stringa base64 di un file (il sistema indovinerà il mimetype)
  • una stringa base64 dell'hash (SHA256) di un file (il sistema indovinerà il mimetype in base alla lunghezza dell'hash di 32)
  • un oggetto InputDocumentObject con dettagli aggiuntivi, come il "sourceType" del documento, l'"url" del documento, le "intestazioni" per la richiesta del documento remoto, il "metodo" HTTP per la richiesta del documento remoto, i "postData" per la richiesta del documento remoto, il "payload" del documento codificato in base64 (nel caso di base64 sourceType) o l'hash del documento (nel caso di base64Hash sourceType)".
  • un array di alcune delle opzioni precedenti

Note sull'hash del file:

Questo esempio mostra come creare l'hash del file e codificarlo in base64:

bash openssl dgst -sha256 -binary FILE_TO_BE_SIGN | openssl enc -a

L'output sarà qualcosa di simile a questo: "msj3f4hJCSELbMkWjkFwNrf0XhkebTnAKaKhx4686DY="

Il sistema indovina se la stringa base64 è un hash o un file; se la stringa è un hash (SHA256==CHAR(32)) il sistema firma l'hash del file originale.

Per ignorare questo comportamento di indovinare, si può usare il campo sourceType nello schema InputDocumentObject.

certificateUsername
required
string

Nome utente per il certificato, deve essere utilizzato il nome del dispositivo ricevuto. Inizia con: RHI (/EU-QES_otp), SHI (/EU-QES_eseal) o AHI (/EU-QES_automatic)

certificatePassword
required
string

Password per il certificato, deve essere utilizzato il PIN associato al nome del dispositivo (può essere impostato dal cliente o letto nella busta cieca)

certificateOtp
string

VALIDO SOLO PER L'endpoint /EU-QES_otp, è OBBLIGATORIO ed è ottenibile utilizzando la relativa app otp dell'autorità di certificazione

certificateIdOtp
integer

VALIDO SOLO PER L'endpoint /EU-QES_otp, è facoltativo e viene utilizzato nel caso in cui sia impostato più di un otp sull'app dell'autorità di certificazione. Si trova nella sezione in alto a destra dell'applicazione otp

title
string

Titolo della firma

description
string

Descrizione della firma

signatureType
string
Enum: "cades" "pades" "xades" "pkcs1"

Tipo di firma. Potrebbe essere cades, pades, xades, pkcs1

object

Opzioni aggiuntive per la firma. Le opzioni disponibili dipendono dal tipo di firma:

  • Opzioni comuni:
    • asyncDocumentsValidation (booleano): Se convalidare i documenti in modo asincrono. Predefinito: false.
    • asyncSignature (booleano): Se firmare i documenti in modo asincrono. Predefinito: false.
  • opzioni PAdES:
    • livello (stringa): Livello di firma. Valori: B, T, LT, LTA, LTV. Valore predefinito: B.
    • hashAlgorithm (stringa): Algoritmo di hash. Valori: SHA1, SHA256, SHA384, SHA512. Predefinito: SHA256.
    • encryptInAnyCase (booleano): Crittografa in qualsiasi caso. Predefinito: false.
    • page (intero): Numero di pagina da firmare. Predefinito: 1.
    • encryptionPassword (stringa): Password per la crittografia del pdf. Predefinito: null.
    • immagine del firmatario" (stringa): Immagine del firmatario. Predefinito: null.
    • lockFields (stringa): Campi da bloccare. Predefinito: null.
    • withSignatureField (booleano): Include il campo firma. Predefinito: false.
    • withTimestamp (booleano): Include il timestamp. Predefinito: false.
    • timestampUrl (stringa): URL del servizio timestamp. Predefinito: null.
    • timestampUsername (stringa): Nome utente del servizio di timestamp. Predefinito: null.
    • timestampPassword (stringa): Password per il servizio di timestamp. Predefinito: null.
    • timestampHashAlgo (stringa): Algoritmo di hash per il servizio di timestamp. Valori: SHA1, SHA256, SHA384, SHA512. Valore predefinito: SHA256.
  • opzioni CAdES:
    • detached (booleano): Firma "detached". Predefinito: false.
    • level (stringa): Livello della firma. Valori: B, T, LT, LTA, LTV. Valore predefinito: B.
    • hashAlgorithm (stringa): Algoritmo di hash. Valori: SHA1, SHA256, SHA384, SHA512. Predefinito: SHA256.
    • counterSignature (booleano): Controfirma. Predefinito: false.
    • withTimestamp (booleano): Include il timestamp. Predefinito: false.
    • timestampUrl (stringa): URL del servizio timestamp. Predefinito: null.
    • timestampUsername (stringa): Nome utente del servizio di timestamp. Predefinito: null.
    • timestampPassword (stringa): Password per il servizio di timestamp. Predefinito: null.
    • timestampHashAlgo (stringa): Algoritmo di hash per il servizio di timestamp. Valori: SHA1, SHA256, SHA384, SHA512. Valore predefinito: SHA256.
  • Opzioni XAdES:
    • livello (stringa): Livello di firma. Valori: B, T, LT, LTA, LTV. Valore predefinito: B.
    • hashAlgorithm (stringa): Algoritmo di hash. Valori: SHA1, SHA256, SHA384, SHA512. Predefinito: SHA256.
    • detached (booleano): Firma "detached". Predefinito: false.
    • withoutSignatureExclusion (booleano): Senza esclusione della firma. Predefinito: false.
    • XPathQuery (stringa): Query XPath. Predefinito: null.
    • signElement (stringa): Elemento segno. Predefinito: null.
    • signatureId (stringa): ID firma. Predefinito: null.
    • withTimestamp (booleano): Include il timestamp. Predefinito: false.
    • timestampUrl (stringa): URL del servizio di timestamp. Predefinito: null.
    • timestampUsername (stringa): Nome utente del servizio di timestamp. Predefinito: null.
    • timestampPassword (stringa): Password per il servizio di timestamp. Predefinito: null.
    • timestampHashAlgo (stringa): Algoritmo di hash per il servizio di timestamp. Valori: SHA1, SHA256, SHA384, SHA512. Valore predefinito: SHA256.
  • opzioni PKCS1:
    • hashAlgorithm (stringa): Algoritmo di hash. Valori: SHA1, SHA256, SHA384, SHA512. Predefinito: SHA256.
object (Callback)

È il nostro sistema di callback OpenAPI standardizzato. Consente di configurare i parametri per ricevere notifiche sugli aggiornamenti di stato delle richieste asincrone a questo endpoint.

Callbacks

Request samples

Content type
application/json
Example
{
  • "inputDocuments": [
    ],
  • "certificateUsername": "openapiSandboxUsername",
  • "certificatePassword": "openapiSandboxPassword",
  • "certificateOtp": "123456",
  • "certificateIdOtp": -1,
  • "title": "CAdES Signature",
  • "description": "Firma CAdES di un file base64",
  • "signatureType": "cades"
}

Response samples

Content type
application/json
Example
{
  • "data": {
    },
  • "message": "Created",
  • "success": true,
  • "error": null
}

Callback payload samples

Callback
POST: {$request.body#/callback/url}
Content type
{
  • "data": {
    },
  • "custom": {
    }
}

Creare la firma QES utilizzando il certificato E-seal remoto

Creare una procedura di firma da uno o più file.

Ottenere il certificato:

Per accedere al servizio, è necessario un certificato automatico, che può essere acquistato tramite il nostro supporto clienti.

Formati disponibili:

Il sistema può firmare nei formati CAdES, PAdES, XAdES e PKCS#1.

Se non viene specificato, il sistema cercherà il formato più adatto in base al mimeType del file caricato file caricato.

File di input:

È possibile caricare file di input singoli o multipli sia in formato in formato base64 sia specificando l'URL della risorsa ed eventuali parametri di parametri di autenticazione.

  • Nel caso di caricamento di più file con firma PAdES, questi verranno uniti in un unico documento pdf firmato firmato.

  • Nel caso di firma di più file in formato CAdES, verrà generato e firmato un file zip verrà generato e firmato un file zip.

Modalità asincrona, elaborazione batch, callback e firma "detached":

Per la firma massiva di grandi quantità di file, è possibile caricare e firmare in modalità asincrona modalità asincrona. È disponibile un sistema di callback autenticato per ricevere gli aggiornamenti aggiornamenti.

È anche possibile firmare direttamente l'hash del file originale e ottenere solo il file di firma "staccato" direttamente e ottenere solo il file di firma "detached".

Conservazione dei documenti e dei dati nel sistema:

I dettagli dei dati strutturati di firma e gli audit trail saranno conservati nel sistema per un massimo di 1 anno. i documenti firmati, i documenti caricati e quelli convalidati rimarranno nel sistema per un massimo di 30 giorni per consentirne il download. Trascorso questo periodo, i documenti verranno automaticamente cancellati.

Timestamping qualificato disponibile:

È disponibile un'opzione di timestamp qualificato. Esiste anche l'opzione di utilizzare le credenziali di timestamp qualificate già in vostro possesso. In questo caso, il sistema consente di specificare l'URL di autenticazione dell'autorità di certificazione interessata.

Sandbox:

A scopo di test, è possibile utilizzare le seguenti credenziali:

  • certificateUsername: "openapiSandboxUsername"
  • certificatePassword: "openapiSandboxPassword"
Authorizations:
bearerAuth
Request Body schema: application/json

Creare una nuova richiesta di firma automatica massiva specificando i file di input e le credenziali del certificato.

Il sistema può firmare nei formati CAdES, PAdES, XAdES e PKCS#1. Se non viene specificato, il sistema cercherà il formato più adatto in base al mimeType del file caricato.

Any of
required
string or string or InputDocumentObject (object) or (Array of strings or strings or InputDocumentObject (object)) (InputDocuments)

È possibile specificare i documenti di input da firmare:

  • un documento come URL (il sistema scaricherà il documento e indovinerà il mimetype)
  • una stringa base64 di un file (il sistema indovinerà il mimetype)
  • una stringa base64 dell'hash (SHA256) di un file (il sistema indovinerà il mimetype in base alla lunghezza dell'hash di 32)
  • un oggetto InputDocumentObject con dettagli aggiuntivi, come il "sourceType" del documento, l'"url" del documento, le "intestazioni" per la richiesta del documento remoto, il "metodo" HTTP per la richiesta del documento remoto, i "postData" per la richiesta del documento remoto, il "payload" del documento codificato in base64 (nel caso di base64 sourceType) o l'hash del documento (nel caso di base64Hash sourceType)".
  • un array di alcune delle opzioni precedenti

Note sull'hash del file:

Questo esempio mostra come creare l'hash del file e codificarlo in base64:

bash openssl dgst -sha256 -binary FILE_TO_BE_SIGN | openssl enc -a

L'output sarà qualcosa di simile a questo: "msj3f4hJCSELbMkWjkFwNrf0XhkebTnAKaKhx4686DY="

Il sistema indovina se la stringa base64 è un hash o un file; se la stringa è un hash (SHA256==CHAR(32)) il sistema firma l'hash del file originale.

Per ignorare questo comportamento di indovinare, si può usare il campo sourceType nello schema InputDocumentObject.

certificateUsername
required
string

Nome utente per il certificato, deve essere utilizzato il nome del dispositivo ricevuto. Inizia con: RHI (/EU-QES_otp), SHI (/EU-QES_eseal) o AHI (/EU-QES_automatic)

certificatePassword
required
string

Password per il certificato, deve essere utilizzato il PIN associato al nome del dispositivo (può essere impostato dal cliente o letto nella busta cieca)

certificateOtp
string

VALIDO SOLO PER L'endpoint /EU-QES_otp, è OBBLIGATORIO ed è ottenibile utilizzando la relativa app otp dell'autorità di certificazione

certificateIdOtp
integer

VALIDO SOLO PER L'endpoint /EU-QES_otp, è facoltativo e viene utilizzato nel caso in cui sia impostato più di un otp sull'app dell'autorità di certificazione. Si trova nella sezione in alto a destra dell'applicazione otp

title
string

Titolo della firma

description
string

Descrizione della firma

signatureType
string
Enum: "cades" "pades" "xades" "pkcs1"

Tipo di firma. Potrebbe essere cades, pades, xades, pkcs1

object

Opzioni aggiuntive per la firma. Le opzioni disponibili dipendono dal tipo di firma:

  • Opzioni comuni:
    • asyncDocumentsValidation (booleano): Se convalidare i documenti in modo asincrono. Predefinito: false.
    • asyncSignature (booleano): Se firmare i documenti in modo asincrono. Predefinito: false.
  • opzioni PAdES:
    • livello (stringa): Livello di firma. Valori: B, T, LT, LTA, LTV. Valore predefinito: B.
    • hashAlgorithm (stringa): Algoritmo di hash. Valori: SHA1, SHA256, SHA384, SHA512. Predefinito: SHA256.
    • encryptInAnyCase (booleano): Crittografa in qualsiasi caso. Predefinito: false.
    • page (intero): Numero di pagina da firmare. Predefinito: 1.
    • encryptionPassword (stringa): Password per la crittografia del pdf. Predefinito: null.
    • immagine del firmatario" (stringa): Immagine del firmatario. Predefinito: null.
    • lockFields (stringa): Campi da bloccare. Predefinito: null.
    • withSignatureField (booleano): Include il campo firma. Predefinito: false.
    • withTimestamp (booleano): Include il timestamp. Predefinito: false.
    • timestampUrl (stringa): URL del servizio timestamp. Predefinito: null.
    • timestampUsername (stringa): Nome utente del servizio di timestamp. Predefinito: null.
    • timestampPassword (stringa): Password per il servizio di timestamp. Predefinito: null.
    • timestampHashAlgo (stringa): Algoritmo di hash per il servizio di timestamp. Valori: SHA1, SHA256, SHA384, SHA512. Valore predefinito: SHA256.
  • opzioni CAdES:
    • detached (booleano): Firma "detached". Predefinito: false.
    • level (stringa): Livello della firma. Valori: B, T, LT, LTA, LTV. Valore predefinito: B.
    • hashAlgorithm (stringa): Algoritmo di hash. Valori: SHA1, SHA256, SHA384, SHA512. Predefinito: SHA256.
    • counterSignature (booleano): Controfirma. Predefinito: false.
    • withTimestamp (booleano): Include il timestamp. Predefinito: false.
    • timestampUrl (stringa): URL del servizio timestamp. Predefinito: null.
    • timestampUsername (stringa): Nome utente del servizio di timestamp. Predefinito: null.
    • timestampPassword (stringa): Password per il servizio di timestamp. Predefinito: null.
    • timestampHashAlgo (stringa): Algoritmo di hash per il servizio di timestamp. Valori: SHA1, SHA256, SHA384, SHA512. Valore predefinito: SHA256.
  • Opzioni XAdES:
    • livello (stringa): Livello di firma. Valori: B, T, LT, LTA, LTV. Valore predefinito: B.
    • hashAlgorithm (stringa): Algoritmo di hash. Valori: SHA1, SHA256, SHA384, SHA512. Predefinito: SHA256.
    • detached (booleano): Firma "detached". Predefinito: false.
    • withoutSignatureExclusion (booleano): Senza esclusione della firma. Predefinito: false.
    • XPathQuery (stringa): Query XPath. Predefinito: null.
    • signElement (stringa): Elemento segno. Predefinito: null.
    • signatureId (stringa): ID firma. Predefinito: null.
    • withTimestamp (booleano): Include il timestamp. Predefinito: false.
    • timestampUrl (stringa): URL del servizio di timestamp. Predefinito: null.
    • timestampUsername (stringa): Nome utente del servizio di timestamp. Predefinito: null.
    • timestampPassword (stringa): Password per il servizio di timestamp. Predefinito: null.
    • timestampHashAlgo (stringa): Algoritmo di hash per il servizio di timestamp. Valori: SHA1, SHA256, SHA384, SHA512. Valore predefinito: SHA256.
  • opzioni PKCS1:
    • hashAlgorithm (stringa): Algoritmo di hash. Valori: SHA1, SHA256, SHA384, SHA512. Predefinito: SHA256.
object (Callback)

È il nostro sistema di callback OpenAPI standardizzato. Consente di configurare i parametri per ricevere notifiche sugli aggiornamenti di stato delle richieste asincrone a questo endpoint.

Responses

Response Schema: application/json
Any of
required
string or string or InputDocumentObject (object) or (Array of strings or strings or InputDocumentObject (object)) (InputDocuments)

È possibile specificare i documenti di input da firmare:

  • un documento come URL (il sistema scaricherà il documento e indovinerà il mimetype)
  • una stringa base64 di un file (il sistema indovinerà il mimetype)
  • una stringa base64 dell'hash (SHA256) di un file (il sistema indovinerà il mimetype in base alla lunghezza dell'hash di 32)
  • un oggetto InputDocumentObject con dettagli aggiuntivi, come il "sourceType" del documento, l'"url" del documento, le "intestazioni" per la richiesta del documento remoto, il "metodo" HTTP per la richiesta del documento remoto, i "postData" per la richiesta del documento remoto, il "payload" del documento codificato in base64 (nel caso di base64 sourceType) o l'hash del documento (nel caso di base64Hash sourceType)".
  • un array di alcune delle opzioni precedenti

Note sull'hash del file:

Questo esempio mostra come creare l'hash del file e codificarlo in base64:

bash openssl dgst -sha256 -binary FILE_TO_BE_SIGN | openssl enc -a

L'output sarà qualcosa di simile a questo: "msj3f4hJCSELbMkWjkFwNrf0XhkebTnAKaKhx4686DY="

Il sistema indovina se la stringa base64 è un hash o un file; se la stringa è un hash (SHA256==CHAR(32)) il sistema firma l'hash del file originale.

Per ignorare questo comportamento di indovinare, si può usare il campo sourceType nello schema InputDocumentObject.

certificateUsername
required
string

Nome utente per il certificato, deve essere utilizzato il nome del dispositivo ricevuto. Inizia con: RHI (/EU-QES_otp), SHI (/EU-QES_eseal) o AHI (/EU-QES_automatic)

certificatePassword
required
string

Password per il certificato, deve essere utilizzato il PIN associato al nome del dispositivo (può essere impostato dal cliente o letto nella busta cieca)

certificateOtp
string

VALIDO SOLO PER L'endpoint /EU-QES_otp, è OBBLIGATORIO ed è ottenibile utilizzando la relativa app otp dell'autorità di certificazione

certificateIdOtp
integer

VALIDO SOLO PER L'endpoint /EU-QES_otp, è facoltativo e viene utilizzato nel caso in cui sia impostato più di un otp sull'app dell'autorità di certificazione. Si trova nella sezione in alto a destra dell'applicazione otp

title
string

Titolo della firma

description
string

Descrizione della firma

signatureType
string
Enum: "cades" "pades" "xades" "pkcs1"

Tipo di firma. Potrebbe essere cades, pades, xades, pkcs1

object

Opzioni aggiuntive per la firma. Le opzioni disponibili dipendono dal tipo di firma:

  • Opzioni comuni:
    • asyncDocumentsValidation (booleano): Se convalidare i documenti in modo asincrono. Predefinito: false.
    • asyncSignature (booleano): Se firmare i documenti in modo asincrono. Predefinito: false.
  • opzioni PAdES:
    • livello (stringa): Livello di firma. Valori: B, T, LT, LTA, LTV. Valore predefinito: B.
    • hashAlgorithm (stringa): Algoritmo di hash. Valori: SHA1, SHA256, SHA384, SHA512. Predefinito: SHA256.
    • encryptInAnyCase (booleano): Crittografa in qualsiasi caso. Predefinito: false.
    • page (intero): Numero di pagina da firmare. Predefinito: 1.
    • encryptionPassword (stringa): Password per la crittografia del pdf. Predefinito: null.
    • immagine del firmatario" (stringa): Immagine del firmatario. Predefinito: null.
    • lockFields (stringa): Campi da bloccare. Predefinito: null.
    • withSignatureField (booleano): Include il campo firma. Predefinito: false.
    • withTimestamp (booleano): Include il timestamp. Predefinito: false.
    • timestampUrl (stringa): URL del servizio timestamp. Predefinito: null.
    • timestampUsername (stringa): Nome utente del servizio di timestamp. Predefinito: null.
    • timestampPassword (stringa): Password per il servizio di timestamp. Predefinito: null.
    • timestampHashAlgo (stringa): Algoritmo di hash per il servizio di timestamp. Valori: SHA1, SHA256, SHA384, SHA512. Valore predefinito: SHA256.
  • opzioni CAdES:
    • detached (booleano): Firma "detached". Predefinito: false.
    • level (stringa): Livello della firma. Valori: B, T, LT, LTA, LTV. Valore predefinito: B.
    • hashAlgorithm (stringa): Algoritmo di hash. Valori: SHA1, SHA256, SHA384, SHA512. Predefinito: SHA256.
    • counterSignature (booleano): Controfirma. Predefinito: false.
    • withTimestamp (booleano): Include il timestamp. Predefinito: false.
    • timestampUrl (stringa): URL del servizio timestamp. Predefinito: null.
    • timestampUsername (stringa): Nome utente del servizio di timestamp. Predefinito: null.
    • timestampPassword (stringa): Password per il servizio di timestamp. Predefinito: null.
    • timestampHashAlgo (stringa): Algoritmo di hash per il servizio di timestamp. Valori: SHA1, SHA256, SHA384, SHA512. Valore predefinito: SHA256.
  • Opzioni XAdES:
    • livello (stringa): Livello di firma. Valori: B, T, LT, LTA, LTV. Valore predefinito: B.
    • hashAlgorithm (stringa): Algoritmo di hash. Valori: SHA1, SHA256, SHA384, SHA512. Predefinito: SHA256.
    • detached (booleano): Firma "detached". Predefinito: false.
    • withoutSignatureExclusion (booleano): Senza esclusione della firma. Predefinito: false.
    • XPathQuery (stringa): Query XPath. Predefinito: null.
    • signElement (stringa): Elemento segno. Predefinito: null.
    • signatureId (stringa): ID firma. Predefinito: null.
    • withTimestamp (booleano): Include il timestamp. Predefinito: false.
    • timestampUrl (stringa): URL del servizio di timestamp. Predefinito: null.
    • timestampUsername (stringa): Nome utente del servizio di timestamp. Predefinito: null.
    • timestampPassword (stringa): Password per il servizio di timestamp. Predefinito: null.
    • timestampHashAlgo (stringa): Algoritmo di hash per il servizio di timestamp. Valori: SHA1, SHA256, SHA384, SHA512. Valore predefinito: SHA256.
  • opzioni PKCS1:
    • hashAlgorithm (stringa): Algoritmo di hash. Valori: SHA1, SHA256, SHA384, SHA512. Predefinito: SHA256.
object (Callback)

È il nostro sistema di callback OpenAPI standardizzato. Consente di configurare i parametri per ricevere notifiche sugli aggiornamenti di stato delle richieste asincrone a questo endpoint.

Callbacks

Request samples

Content type
application/json
Example
{
  • "inputDocuments": [
    ],
  • "certificateUsername": "openapiSandboxUsername",
  • "certificatePassword": "openapiSandboxPassword",
  • "title": "CAdES Signature",
  • "description": "Firma CAdES di un file base64",
  • "signatureType": "cades"
}

Response samples

Content type
application/json
Example
{
  • "data": {
    },
  • "message": "Created",
  • "success": true,
  • "error": null
}

Callback payload samples

Callback
POST: {$request.body#/callback/url}
Content type
{
  • "data": {
    },
  • "custom": {
    }
}

Verifica di una firma

Verificare una firma caricando il documento firmato. Il sistema restituirà il risultato della verifica.

Authorizations:
bearerAuth
Request Body schema: application/json

Verificare una firma caricando il documento firmato.

inputDocument
required
string <base64>

Documento firmato

detachedContent
string <base64>

Contenuto distaccato

pdfEncryptionPassword
string

Password per la crittografia dei pdf

recursive
boolean

Verifica ricorsiva

verifyOnDate
string <date>

Data di verifica della firma

Responses

Response Schema: application/json
object

Risultato della verifica

message
string

Messaggio

error
string or null

Codice di errore

success
boolean

Success dell'operazione

Request samples

Content type
application/json
{
  • "inputDocument": "BASE64string",
  • "detachedContent": "BASE64string",
  • "pdfEncryptionPassword": "password123",
  • "recursive": true,
  • "verifyOnDate": "2025-02-14"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "Signature is valid",
  • "error": "",
  • "success": true
}

Eliminare il documento firmato, i dettagli, la pista di controllo e il documento convalidato di una firma

Authorizations:
bearerAuth
path Parameters
id
required
string
Example: 67af24c5af9b55291406e946

ID della firma

Responses

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_easy_setopt(hnd, CURLOPT_URL, "https://esignature.openapi.com/signatures/67af24c5af9b55291406e946");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

CURLcode ret = curl_easy_perform(hnd);