Signature Numérique

Signatures numériques, électroniques, massives et identités numériques disponibles dans une seule API

Demandez un SPID, une signature électronique ou tout autre type de signature numérique, qu'il s'agisse d'une carte à puce, d'une carte USB ou d'une signature à distance, afin de conférer une valeur juridique à des documents informatiques.

Toutes les connaissances dont vous avez besoin

Vous trouverez ici quelques conseils à prendre en compte pour aborder cette API. Si vous préférez, nous fournissons des exemples de code, la documentation OAS3, la possibilité d'essayer l'API en direct via Swagger UI ou d'importer l'intégralité de la collection dans Postman. Nous proposons également un environnement Sandbox où vous pouvez expérimenter toutes sortes de requêtes de manière totalement gratuite.

Conseils utiles pour commencer Signature Numérique

Obtenir le Token dans la section appropriée avant de commencer.

Utilisez l'outil en ligne ou générez-le via l'API. Définissez la date d'expiration, un nom utile et ajoutez maintenant un ensemble d'étendues pour limiter les actions possibles que votre jeton peut effectuer.

Firma Digitale (1.0.0)

Service web qui vous permet d'acheter ou de renouveler des signatures numériques d'Infocert ou d'Aruba et d'obtenir des identités numériques.

Prodotti

Méthode permettant de voir tous les produits disponibles et leurs prix

Liste des produits

Cette méthode vous montre la liste de tous nos produits

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

Méthodes permettant d'acquérir et de renouveler différentes signatures numériques

Acquisition et renouvellement des signatures numériques

Cette méthode permet d'acheter tous les produits de ce service web, par exemple des lecteurs de cartes à puce ou des signatures numériques.

Authorizations:
bearerAuth
path Parameters
codice_prodotto
required
string
Example: FIR

Type de codice_prodotto que vous souhaitez acheter

Request Body schema: application/json

Schémas de référence pour les catégories :

  • PostBodySpid : SPID ou SPID_V
  • PostBodyFirmaEstero : FIREST
  • PostBodyLettore : FIR_V ou LETTORE ou KEY_V ou FIRREM_V ou KEYCNS_V ou SMARTCARDCNS_V
  • PostBodyRinnovi : RINFIR ou RINCNS ou RINFIRREM
  • PostBodyFirme : FIR ou KIT ou KEY ou FIRREM ou KEYCNS ou KITCNS ou SMARTCARDCNS
  • PostBodyFirmeVideoriconoscimento : SMARTCARDCNS_VIDEO ou KEYCNS_VIDEO ou FIRREM_VIDEO
  • PostBodyVideoriconoscimento : VIDEORIC
  • PostBodyFirmeAruba : SCARUBACNS ou ARUBAKEYCNS ou OTPDIS ou OTPMOB
One of
assistenza
boolean

Aide sur les produits

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

Méthodes pour voir toutes vos demandes

Liste de vos demandes

Cette méthode vous montre la liste de toutes vos demandes

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

Art des Codes_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
}

Demande particulière

Cette méthode vous montre la requête spécifique associée à l'id

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

ID de la demande

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

Le même exemple pour /FIR_V /LETTORE /KEY_V /FIRREM_V /KEYCNS_V /SMARTCARDCNS_V

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

Demande de mise à jour

Cette méthode vous permet de télécharger le formulaire et la pièce d'identité.

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

ID de la demande

Request Body schema: application/json
documento
string

Fichier de document d'identité encodé en base 64

nome_documento
string

Nom du fichier

modulo
string

Fichier de formulaire de reconnaissance encodé en base 64

nome_modulo
string

Nom du fichier

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

Même exemple pour /KEY /FIR /KIT /FIRREM /KEYCNS /KITCNS /SMARTCARDCNS

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

Télécharger le formulaire de reconnaissance

cette méthode permet de télécharger directement le formulaire de reconnaissance au format pdf, qui doit ensuite être rempli et envoyé par raccomandata au fornitore ; il est indispensable pour compléter le contournement d'une procédure d'acquisition d'une signature numérique ; il n'est pas nécessaire pour le renouvellement d'une signature

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

ID de la demande

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

Méthodes permettant de signer numériquement des documents PDF à l'aide d'API REST.

Demander une signature électronique

Ce service vous permet de faire signer numériquement un fichier PDF par plusieurs utilisateurs avec preuve de consentement.
Nous mettons à votre disposition un lien que vous pouvez facilement intégrer dans une iframe qui guidera vos utilisateurs pendant le processus de signature ; ils recevront un SMS au numéro de téléphone indiqué avec un OTP pour vérifier leur identité.
Le document signé est reconnu par la réglementation européenne.

Pour trouver les coordonnées de vos modèles, veuillez vérifier notre outil en ligne à l'adresse : https://developers.openapi.it/playground/firmadigitale/
Votre demande renverra un paramètre d'état qui changera à chaque mise à jour.
Si fini est renvoyé, votre demande est terminée et tous les membres ont signé le document ; si refusé est renvoyé, cela signifie qu'un de vos signataires a volontairement refusé le document.
Si vous enregistrez un callback, une requête POST sera envoyée à votre serveur chaque fois que le statut de la requête changera ou qu'un de vos membres aura signé/refusé le document. Vous pouvez vérifier le statut à tout moment en envoyant une requête GET

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

Vous pouvez donner un titre et une description à votre demande. Ils seront affichés dans l'iframe pour les utilisateurs pendant le processus de signature.

description
string or null
ui
string

Une configuration UI créée avec `/firma_elettronica_ui

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

encodage base64 de votre fichier 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": {
    }
}

Liste de toutes vos demandes passées et en cours

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

Obtenir des informations sur une demande de plaque

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

Téléchargez votre document signé

Une fois le processus de signature terminé, vous pouvez utiliser ce point final pour obtenir la sortie encodée en base64 de votre fichier PDF.

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

Responses

Response Schema: application/json
content
string

Un encodage en base64 de votre fichier PDF SIGNÉ.

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

Création d'une interface utilisateur personnalisée pour les signatures électroniques

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

Une image codée en base-64, précédée du schéma URI des données

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

Personnalisez le contenu de certains éléments de l'iFrame en remplaçant le contenu de certaines désignations. Chaque langue disponible doit avoir sa propre chaîne de caractères traduite, sinon la désignation par défaut s'affiche.

fonts
Array of strings
style
string

Les classes suivantes sont disponibles :

  • sign-ui-title
  • sign-ui-title-label
  • sign-ui-title-underline
  • sign-ui-avatar
  • sign-ui-avatar--primaire
  • sign-ui-avatar-succès
  • sign-ui-avatar---erreur
  • sign-ui-alert
  • >sign-ui-alert-primaireui-alert-secondaire
  • sign-ui-alert-alert-warning
  • sign-ui-alert-success
  • sign-ui-alert-error
  • sign-ui-procedure-detail-info
  • sign-ui-activity-title
  • sign-ui-confirm-box-valid
  • sign-ui-button-sign-confirmsign-ui-nom de la procédure
  • sign-ui-documents-list
  • sign-ui-signers-list
  • sign-ui-button-next-document
  • sign-ui-button-refuser
  • sign-ui-button-valider
  • sign-ui-button-sous-signer
  • sign-ui-button-valider-annulersign-ui-button-valider-valider
  • sign-ui-button-refuser-annuler
  • sign-ui-button-refuser-valider
  • sign-ui-stamp
  • sign-ui-actions-bannière
  • sign-ui-waiting
  • sign-ui-waiting-circle-bg
  • sign-ui-waiting-circle-actifsign-ui-waiting-circle-texte

object
object
object

Vous pouvez adapter l'expérience après la signature, l'abandon ou une erreur pendant le processus. Utilisez redirectSuccess pour rediriger un utilisateur vers une URL lorsqu'il a signé avec succès. Indiquez le champ de l'URL et la manière dont il doit s'ouvrir dans le champ cible, comme un lien HTML. Si vous souhaitez afficher dans l'iframe un bouton avec le texte suivant : "Vous avez signé avec succès, cliquez ici pour continuer", définissez-le sur false. Par défaut, avec true, la redirection se déclenche automatiquement si l'événement est également déclenché. Vous pouvez personnaliser 2 autres redirections : redirectCancel, si le membre refuse votre procédure et redirectError, si une erreur se produit pendant le processus de signature.

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": "Voici le modèle d'interface utilisateur de signature pour les développeurs de 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
}

Lister toutes vos interfaces utilisateur personnalisées

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
}

Obtenir une IU personnalisée pour les signatures électroniques

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

L'ID d'un modèle d'interface utilisateur

Responses

Response Schema: application/json
object (FesCreateUi)

Les options suivantes peuvent être spécifiées :

  • enableHeaderBar peut afficher ou non la barre d'en-tête du iFrame. La valeur par défaut est true.
  • enableHeaderBarSignAs peut afficher ou non la barre directement sous l'en-tête pour mentionner le nom du signataire. La valeur par défaut est true.
  • enableSidebar peut afficher ou non la barre latérale permettant de retrouver les documents et les signataires sur la gauche de la visionneuse de documents. La valeur par défaut est true.
  • enableMemberList se trouve dans la barre latérale. Vous pouvez afficher ou non la liste des membres (signataires ou validateurs de la procédure). La valeur par défaut est true.
  • enableDocumentList se trouve dans la barre latérale. Vous pouvez afficher ou non la liste des documents. La valeur par défaut est true.
  • enableDocumentDownload se trouve dans la liste des documents. Vous pouvez autoriser ou non le téléchargement de documents par vos utilisateurs. La valeur par défaut est true.
  • enableActivities se trouve dans la barre latérale. Vous pouvez accéder au flux d'activités qui indique qui signe, valide ou commente la procédure. La valeur par défaut est true.
  • authenticationPopup Pour signer, un utilisateur est redirigé vers une vue qui affiche une demande de sécurité b. Vous pouvez changer cela par un popup sur la visionneuse de documents en mettant ce champ à true. La valeur par défaut est false.
  • enableRefuseComment peut afficher ou non le popup contenant le commentaire qui sera demandé si le participant refuse la procédure. La valeur par défaut est 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

Méthodes permettant d'obtenir 4 types de spid (actuellement, seul le spid personnel est disponible)

Spid personnel

Cette méthode permet d'obtenir une url pour l'enregistrement d'un identifiant personnel d'une durée d'un an.

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