Firma Digitale

Firme Digitali, Elettroniche, Massive e Identità Digitali disponibili tutte in una API

Tutte le soluzioni di firma, elettronica, avanzata, qualificata e di identità digitali in tempo reale

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 Firma Digitale

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.

Firma Digitale (1.0.0)

Servizio web che consente di acquistare o rinnovare le firme digitali Infocert o Aruba e di ottenere identità digitali.

Prodotti

Metodo che consente di visualizzare tutti i prodotti disponibili e i relativi prezzi

Elenco dei prodotti

Questo metodo vi mostra l'elenco di tutti i nostri prodotti

Authorizations:
bearerAuth

Responses

Response Schema: application/json
Array of objects (Prodotto)
success
boolean
message
string
error
integer

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://ws.firmadigitale.com/prodotti");

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
}

Firme

Metodi che consentono di acquistare e rinnovare varie firme digitali

Acquisto e rinnovo di firme digitali

Questo metodo consente di acquistare tutti i prodotti di questo servizio web, come i lettori di smartcard o le firme digitali.

Authorizations:
bearerAuth
path Parameters
codice_prodotto
required
string
Example: FIR

Tipo di codice_prodotto che si desidera acquistare

Request Body schema: application/json

Schemi di riferimento per categoria:

  • PostBodySpid: SPID o SPID_V
  • PostBodyFirmaEstero: FIREST
  • PostBodyLettore: FIR_V o LETTORE o KEY_V o FIRREM_V o KEYCNS_V o SMARTCARDCNS_V
  • PostCorpoRinnovi: RINFIR o RINCNS o RINFIRREM
  • PostCorpoFirme: FIR o KIT o KEY o FIRREM o KEYCNS o KITCNS o SMARTCARDCNS
  • PostBodyFirmeVideoriconoscimento: SMARTCARDCNS_VIDEO o KEYCNS_VIDEO o FIRREM_VIDEO
  • PostCorpoVideoriconoscimento: VIDEORIC
  • PostCorpoFirmeAruba: SCARUBACNS o ARUBAKEYCNS o OTPDIS o OTPMOB
One of
assistenza
boolean

assistenza al prodotto

object (Callback)

Responses

Response Schema: application/json
ResponseRinnovo (object) or ResponseFirmaEstero (object) or ResponseFirma (object) or ResponseLettore (object) or ResponseSpid (object) or ResponseFirmeVideoriconoscimento (object) or ResponseFirmeAruba (object)
success
boolean
message
string
error
integer

Request samples

Content type
application/json
Example
{
  • "assistenza": true,
  • "urgenza": true,
  • "spedizione": "veloce",
  • "anagrafica_spedizione": {
    },
  • "callback": {}
}

Response samples

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

Richieste

Metodi per visualizzare tutte le richieste

Elenco delle vostre richieste

Questo metodo mostra l'elenco di tutte le richieste effettuate

Authorizations:
bearerAuth
query Parameters
codice_prodotto
string
Example: codice_prodotto=FIR

Tipo di codice_prodotto

Responses

Response Schema: application/json
Array of objects (Richieste)
success
boolean
message
string
error
integer

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://ws.firmadigitale.com/richiesta?codice_prodotto=FIR");

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
}

Richiesta specifica

Questo metodo mostra la richiesta specifica relativa all'id

Authorizations:
bearerAuth
path Parameters
id
required
string
Example: 5f7b2e323a716857774a4373

id richiesta

Responses

Response Schema: application/json
ResponseRinnovo (object) or ResponseFirmaEstero (object) or ResponseFirma (object) or ResponseLettore (object) or ResponseSpid (object) or ResponseFirmeVideoriconoscimento (object) or ResponseFirmeAruba (object)
success
boolean
message
string
error
integer

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://ws.firmadigitale.com/richiesta/%7Bid%7D");

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
Example

Lo stesso esempio per /FIR_V /LETTORE /KEY_V /FIRREM_V /KEYCNS_V /SMARTCARDCNS_V

{
  • "data": {
    },
  • "success": true,
  • "message": "",
  • "error": null
}

Richiesta di aggiornamento

Questo metodo consente di caricare il modulo e il documento d'identità.

Authorizations:
bearerAuth
path Parameters
id
required
string
Example: 5f7b2e323a716857774a4373

id richiesta

Request Body schema: application/json
documento
string

File documento ID codificato in base 64

nome_documento
string

nome del file

modulo
string

file del modulo di riconoscimento codificato in base 64

nome_modulo
string

nome del file

Responses

Response Schema: application/json
ResponseFirma (object) or ResponseFirmeAruba (object)
success
boolean
message
string
error
integer

Request samples

Content type
application/json
{
  • "modulo": "MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwGggCSABIID6CVQREYtMS40CiXi48/TCjEgMCBvYmoKPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAyNTgyL04gMz4+c3RyZWFtCnictVZnVFPZFj733vRCCyCd0GuQTgDpvUmRLiohCRBKgJAAKnZEBUYQEWkWkEERBxyVImNBLFgYFBRRQSfIoKCOgwUbKu8Gf+is9db7Ne9b69773W/tvc8++/w4HwDkqTR2ejYMAEjnCwVhPu706JhYOv4+QIAqUAC6QJPFzs50Cw",
  • "nome_modulo": "modulo.pdf",
  • "documento": "YCQEUVEC2EgTMQDCUZikUREgKxHipBKpAFpRbqRPuQ2IkZeIB8xOAwNQ8cwMI4YX0wEho3JwqzHlGBqMEcwHZhLmNuYccwM5iuWilXDmmAdsH7YaGwSNhdbiK3ENmHbsZexw9hJ7DscDqeIM8DZ4XxxMbgU3FpcCW4frg3XgxvETeBm8Xi8Mt4E74QPxrPwQnwhvhp/DH8eP4SfxH8gkAmaBEuCNyGWwCdsJlQSjhLOEYYITwlzRBmiHtGBGEzkEFcTS4mNxG7iTeIkcY4kSzIgOZHCSSmkTaQqUivpMmmM9IZMJmuT7cmhZB55I7mKfJx8lTxO/kiRoxhTPChxFBFlJ+UwpYdyn/KGSqXqU12psVQhdSe1",
  • "nome_documento": "documento.pdf"
}

Response samples

Content type
application/json
Example

Lo stesso esempio per /KEY /FIR /KIT /FIRREM /KEYCNS /KITCNS /SMARTCARDCNS

{
  • "data": {
    },
  • "success": true,
  • "message": "",
  • "error": null
}

Scarica il modulo di riconoscimento

Questa modalità consente di scaricare direttamente il modulo di riconoscimento in formato pdf che dovrà poi essere compilato e inviato tramite raccomandata al fornitore; è indispensabile per completare l'evasione di una procedura di acquisto di una firma digitale; non è necessario per il rinnovo di una firma

Authorizations:
bearerAuth
path Parameters
id
required
string
Example: 5f7b2e323a716857774a4373

id richiesta

Responses

Response Schema: application/pdf
string <binary>

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://ws.firmadigitale.com/richiesta/%7Bid%7D/modulo");

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);

Firma elettronica

Metodi che consentono di firmare digitalmente documenti PDF con API REST.

Richiesta di firma elettronica

Questo servizio consente di firmare digitalmente un file PDF da più utenti con prova di consenso.
Vi forniremo un link, che potrete facilmente integrare in un iframe, che guiderà i vostri utenti durante il processo di firma; verrà inviato loro un SMS sul numero di telefono fornito con un OTP per verificare la loro identità.
Il documento firmato è riconosciuto dalle normative europee.

Per trovare le coordinate dei vostri modelli, consultate il nostro strumento online all'indirizzo: https://developers.openapi.it/playground/firmadigitale/
La richiesta restituirà un parametro di stato, che cambierà ogni volta che ci sarà un aggiornamento.
Quando viene restituito finito, la richiesta è stata completata e tutti i membri hanno firmato il documento; quando viene restituito rifiutato, significa che uno dei firmatari ha rifiutato intenzionalmente il documento. <Se si registra un Callback, una richiesta POST sarà inviata al server ogni volta che lo stato della richiesta cambia o che uno dei membri ha firmato/rifiutato il documento. È sempre possibile controllare lo stato con una richiesta GET

Authorizations:
bearerAuth
Request Body schema: application/json
title
string or null

È possibile fornire un titolo e una descrizione alla richiesta. Verranno mostrati nell'iframe agli utenti durante il processo di firma.

description
string or null
ui
string

Una configurazione dell'interfaccia utente creata con /firma_elettronica_ui.

filename
string
Default: "fes_{timestamp}.pdf"
content
string

codifica base64 del file PDF

Array of objects
object (FesCallback)

Responses

Response Schema: application/json
object (FesBaseResponse)
success
boolean
message
string
error
string

Callbacks

Request samples

Content type
application/json
{
  • "title": "string",
  • "description": "string",
  • "ui": "string",
  • "filename": "fes_{timestamp}.pdf",
  • "content": "string",
  • "members": [
    ],
  • "callback": {}
}

Response samples

Content type
application/json
{
  • "filename": "example.pdf",
  • "members": [
    ],
  • "content": "JVBERi0xLjUKJb/3ov4KNiAwIG9iago8PCAvTGluZWFyaXplZCAxIC9MIDUwMTY4IC9IIFsgNzA4IDE0NCBdIC9PIDEwIC9FIDQ0NTc4IC9OIDIgL1QgNDk4NzIgPj4KZW5kb2JqCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA..."
}

Callback payload samples

Callback
POST: your_url
Content type
application/json
{
  • "data": {
    }
}

Elencare tutte le richieste passate e in sospeso

Authorizations:
bearerAuth

Responses

Response Schema: application/json
Array of objects (FesBaseResponse)
success
boolean
message
string
error
string

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://ws.firmadigitale.com/firma_elettronica");

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": "string",
  • "error": "string"
}

Ottenere informazioni su una richiesta di cartello

Authorizations:
bearerAuth
path Parameters
id
required
string
Example: 923j90n02n1w51504b6ea145

Responses

Response Schema: application/pdf
object (FesBaseResponse)
success
boolean
message
string
error
string

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://ws.firmadigitale.com/firma_elettronica/%7Bid%7D");

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);

Scarica il tuo documento firmato

Una volta completato il processo di firma, è possibile utilizzare questo endpoint per ottenere l'output codificato in base64 del file pdf.

Authorizations:
bearerAuth
path Parameters
id
required
string
Example: 923j90n02n1w51504b6ea145

Responses

Response Schema: application/json
content
string

Una codifica base64 del file pdf FIRMATO.

success
boolean
message
string
error
string

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://ws.firmadigitale.com/firma_elettronica/%7Bid%7D/download");

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
{
  • "content": "aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1kUXc0dzlXZ1hjUQ==",
  • "success": true,
  • "message": "string",
  • "error": "string"
}

Creare un'interfaccia utente personalizzata per le firme elettroniche

Authorizations:
bearerAuth
Request Body schema: application/json
name
string
description
string
defaultZoom
integer
logo
string

Un'immagine codificata in base 64, preceduta dallo schema URI dei dati.

languages
Array of strings
defaultLanguage
string
signImageTypesAvailable
Array of strings
enableHeaderBar
boolean
enableHeaderBarSignAs
boolean
enableSidebar
boolean
enableMemberList
boolean
enableDocumentList
boolean
enableDocumentDownload
boolean
enableActivities
boolean
authenticationPopup
boolean
enableRefuseComment
boolean
Array of objects

Personalizzare il contenuto di alcuni elementi dell'iFrame sovrascrivendo il contenuto di alcune etichette. Ogni lingua disponibile deve avere la propria stringa tradotta, altrimenti verrà mostrata l'etichetta predefinita.

fonts
Array of strings
style
string

Sono disponibili le seguenti classi:

  • sign-ui-title
  • sign-ui-title-label
  • sign-ui-title-underline
  • sign-ui-avatar
  • sign-ui-avatar--primario
  • sign-ui-avatar--successosign-ui-avatar--errore
  • sign-ui-alert
  • sign-ui-alert--primario
  • sign-ui-alert--secondario
  • sign-ui-alert--warning
  • sign-ui-alert--success
  • sign-ui-alert--error
  • sign-ui-procedure-detail-info
  • sign-ui-activity-titlesign-ui-confirm-box-valid
  • sign-ui-button-sign-confirm
  • sign-ui-procedura-nomesign-ui-documenti-elenco
  • sign-ui-firmatari-elenco
  • sign-ui-button-next-document
  • sign-ui-button-rifiutare
  • sign-ui-button-validate
  • sign-ui-button-sign
  • sign-ui-button-validate-cancel
  • sign-ui-button-validate-conferma
  • sign-ui-button-refuse-cancel
  • sign-ui-button-refuse-confirm
  • sign-ui-stamp
  • sign-ui-actions-banner
  • sign-ui-waiting
  • sign-ui-waiting-circle-bg
  • sign-ui-circolo di attesa-attivo
  • sign-ui-circolo di attesa-testo

object
object
object

È possibile personalizzare l'esperienza dopo la firma, l'annullamento o un errore durante il processo. Usare redirectSuccess per reindirizzare un utente a un url quando è stato firmato. Specificare il campo url e il modo in cui aprirlo nel campo target, come un link HTML. Il booleano auto può essere utile se non si vuole reindirizzare subito dopo la firma. Se si vuole visualizzare un pulsante nell'iframe con il seguente testo: "Hai firmato con successo, clicca qui per continuare", passarlo a false. Per impostazione predefinita, con true, il reindirizzamento verrà automaticamente attivato anche quando l'evento viene attivato. È possibile personalizzare altri due reindirizzamenti: redirectCancel quando il membro rifiuta la procedura e redirectError se si verifica un errore durante il processo di firma.

Responses

Response Schema: application/json
object (FesUiResponse)
success
boolean
message
string
error
string

Request samples

Content type
application/json
{
  • "name": "My first template for Signature-UI",
  • "description": "Ecco il modello Signature-UI per gli sviluppatori Yousign.",
  • "defaultZoom": 100,
  • "logo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQU [...] IwU3i6foIAAAAAElFTkSuQmCC",
  • "languages": [
    ],
  • "defaultLanguage": "en",
  • "signImageTypesAvailable": [
    ],
  • "enableHeaderBar": true,
  • "enableHeaderBarSignAs": true,
  • "enableSidebar": true,
  • "enableMemberList": true,
  • "enableDocumentList": true,
  • "enableDocumentDownload": true,
  • "enableActivities": true,
  • "authenticationPopup": true,
  • "enableRefuseComment": true,
  • "labels": [
    ],
  • "fonts": [
    ],
  • "style": "Just a CSS string for customize all of our iFrame.",
  • "redirectCancel": {},
  • "redirectError": {},
  • "redirectSuccess": {}
}

Response samples

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

Elencare tutte le UI personalizzate

Authorizations:
bearerAuth

Responses

Response Schema: application/json
Array of objects (FesUiResponse)
success
boolean
message
string
error
string

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://ws.firmadigitale.com/firma_elettronica_ui");

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
}

UI personalizzata per le firme elettroniche

Authorizations:
bearerAuth
path Parameters
id
required
string
Example: 923j90n02n1w51504b6ea145

L'id di un modello di interfaccia utente

Responses

Response Schema: application/json
object (FesCreateUi)

È possibile specificare le seguenti opzioni:

  • abilitaHeaderBar può visualizzare o meno la barra di intestazione dell'iFrame. Il valore predefinito è true.
  • enableHeaderBarSignAs può visualizzare o meno la barra appena sotto la barra di intestazione per menzionare il nome del firmatario. Il valore predefinito è true.
  • enableSidebar può visualizzare o meno la barra laterale, dove è possibile trovare i documenti e i firmatari a sinistra del visualizzatore di documenti. Il valore predefinito è true.
  • enableMemberList si trova nella barra laterale. È possibile visualizzare o meno l'elenco dei membri (firmatari o validatori della procedura). Il valore predefinito è true.
  • enableDocumentList si trova nella barra laterale. È possibile visualizzare o meno l'elenco dei documenti. Il valore predefinito è true.
  • abilitaDocumentDownload si trova nell'elenco dei documenti. È possibile autorizzare o meno il download dei documenti da parte degli utenti. Il valore predefinito è true.
  • abilitaAttività si trova nella barra laterale. È possibile accedere al feed delle attività che mostra chi firma, convalida o commenta la procedura. Il valore predefinito è true.
  • authenticationPopup Per la firma, l'utente sarà reindirizzato a una vista che richiederà una sicurezza b. È possibile modificarla solo tramite un popup sul visualizzatore del documento impostando questo campo su true. Il valore predefinito è false.
  • enableRefuseComment può visualizzare o meno il popup che contiene il commento chiesto quando il partecipante rifiuta la procedura. Il valore predefinito è true.

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://ws.firmadigitale.com/firma_elettronica_ui/%7Bid%7D");

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
}

SPID

Metodi che consentono di ottenere 4 tipi di spid (al momento è disponibile solo lo spid personale)

Spid personale

Questo metodo consente di ottenere un url per la registrazione di uno spid personale della durata di 1 anno.

Authorizations:
bearerAuth

Responses

Response Schema: application/json
object
success
boolean
message
string
error
integer

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://ws.firmadigitale.com/spid_personale");

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
{}