Run with Postman

Firma Digitale (1.0.0)

Web service that allows you to purchase or renew Infocert or Aruba digital signatures, and to obtain digital identities.

Prodotti

Method that allows you to see all available products and their prices

List of products

This method shows you the list of all our products

Authorizations:

Responses

Response Schema: application/json
Array of objects (Prodotto) [ items ]
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

Methods that allows you to purchase and renew various digital signatures

Purchase and renew digital signatures

This method allows you to purchase all the products on this web service such as smartcard readers or digital signatures

Authorizations:
path Parameters
codice_prodotto
required
string
Default: "<string>"
Example: FIR

Type of codice_prodotto you want to buy

Request Body schema: application/json

Category reference schemes:

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

product assistance

object (Callback)

Responses

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

Callbacks

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
}

Callback payload samples

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

Richieste

Methods to see all your requests

List of your requests

This method shows you the list of all your requests

Authorizations:
query Parameters
codice_prodotto
string
Default: "<string>"
Example: codice_prodotto=FIR

Type of codice_prodotto

Responses

Response Schema: application/json
Array of objects (Richieste) [ items ]
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
}

Specific request

This method shows you the specific request related to the id

Authorizations:
path Parameters
id
required
string
Default: "<string>"
Example: 5f7b2e323a716857774a4373

request id

Responses

Response Schema: application/json
ResponseRinnovo (object) or ResponseFirmaEstero (object) or ResponseFirma (object) or ResponseLettore (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

The same exemple for /FIR_V /LETTORE /KEY_V /FIRREM_V /KEYCNS_V /SMARTCARDCNS_V

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

Update request

This method allows you to upload the form and identification document

Authorizations:
path Parameters
id
required
string
Default: "<string>"
Example: 5f7b2e323a716857774a4373

request id

Request Body schema: application/json
documento
string
Default: "<string>"

ID document file encoded in base 64

nome_documento
string
Default: "<string>"

name of the file

modulo
string
Default: "<string>"

recognition form file encoded in base 64

nome_modulo
string
Default: "<string>"

name of the 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

The same exemple for /KEY /FIR /KIT /FIRREM /KEYCNS /KITCNS /SMARTCARDCNS

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

Download the recognition form

This method allows you to directly download the recognition form in pdf format which must then be completed and sent by raccomandata to the fornitore; it is essential to complete the evasion of a procedure for purchasing a digital signature; it is not needed for the renewal of a signature

Authorizations:
path Parameters
id
required
string
Default: "<string>"
Example: 5f7b2e323a716857774a4373

request id

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

Methods that allows you to digitally sign PDF document with REST APIs.

Request an e-signature

This service allows you to digitally sign a PDF file from multiple users with proof-of-consent.
We will provide a link, that you can easily integrate into an iframe, which will guide your users during the signing process; they will be sent a SMS on the provided phone number with an OTP to verify their identity.
The signed document is recognized by European regulations.

In order find the coordinates for your templates, please check our online tool at: https://developers.openapi.it/playground/firmadigitale/
Your request will return a status parameter, which will change every time that there is a update.
When finished is returned, your request is completed and all the members have signed the document; when refused is returned, it means that one of your signers has rejected the document intentionally.
If you register a Callback, a POST request will be submitted to your server every time the status of the request changes or one of your members has signed/refused the document. You can always check the status with a GET request

Authorizations:
Request Body schema: application/json
title
string or null
Default: "<string>"

You can provide a title and a description to your request. It will be shown in the iframe to the users during the signing process

description
string or null
Default: "<string>"
ui
string
Default: "<string>"

A UI configuration created with /firma_elettronica_ui

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

base64 encoding of your PDF file

Array of objects 2 items [ items ]
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": {
    }
}

List all your past and pending requests

Authorizations:

Responses

Response Schema: application/json
Array of objects (FesBaseResponse) <= 2 items [ items ]
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"
}

Get information on a sign request

Authorizations:
path Parameters
id
required
string
Default: "<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);

Download your signed document

Once the signing process is compleated you can use this endpoint to get a the base64-encoded output of you pdf file.

Authorizations:
path Parameters
id
required
string
Default: "<string>"
Example: 923j90n02n1w51504b6ea145

Responses

Response Schema: application/json
content
string

A base64 encoding of your SIGNED pdf file.

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

Retrieve Audit Trail for Signed Document

Retrieve the audit trail for the specified electronic signature.

Parameters

  • id (path parameter): The unique identifier of the signed document.

Example

# Download audit trail in JSON format
curl -X GET https://ws.firmadigitale.com/firma_elettronica/923j90n02n1w51504b6ea145/audit


The response will contain the audit trail information for the electronic signature.
Authorizations:
path Parameters
id
required
string
Default: "<string>"
Example: 923j90n02n1w51504b6ea145

Responses

Response Schema: application/json
object
success
boolean

Indicates whether the electronic signature operation was successful.

message
string

A message related to the electronic signature operation.

error
object

Error details related to the electronic signature operation.

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/audit");

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
}

Create a custom UI for e-signatures

You have 3 custom UI available.

Authorizations:
Request Body schema: application/json
name
string
Default: "<string>"
description
string
Default: "<string>"
defaultZoom
integer
Default: "<integer>"
logo
string
Default: "<string>"

A base-64 encoded image, prefixed with the data URI scheme

languages
Array of strings <= 2 items
defaultLanguage
string
Default: "<string>"
signImageTypesAvailable
Array of strings <= 2 items
enableHeaderBar
boolean
Default: "<boolean>"
enableHeaderBarSignAs
boolean
Default: "<boolean>"
enableSidebar
boolean
Default: "<boolean>"
enableMemberList
boolean
Default: "<boolean>"
enableDocumentList
boolean
Default: "<boolean>"
enableDocumentDownload
boolean
Default: "<boolean>"
enableActivities
boolean
Default: "<boolean>"
authenticationPopup
boolean
Default: "<boolean>"
enableRefuseComment
boolean
Default: "<boolean>"
Array of objects <= 2 items [ items ]

Customize the content of certain elements in the iFrame by overriding the content of some labels. Each available language should have its own translated string, or the default label will be shown.

fonts
Array of strings <= 2 items
style
string
Default: "<string>"

The following classes are available:

  • sign-ui-title
  • sign-ui-title-label
  • sign-ui-title-underline
  • sign-ui-avatar
  • sign-ui-avatar--primary
  • sign-ui-avatar--success
  • sign-ui-avatar--error
  • sign-ui-alert
  • sign-ui-alert--primary
  • sign-ui-alert--secondary
  • sign-ui-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-confirm
  • sign-ui-procedure-name
  • sign-ui-documents-list
  • sign-ui-signers-list
  • sign-ui-button-next-document
  • sign-ui-button-refuse
  • sign-ui-button-validate
  • sign-ui-button-sign
  • sign-ui-button-validate-cancel
  • sign-ui-button-validate-confirm
  • 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-waiting-circle-active
  • sign-ui-waiting-circle-text

object
object
object

You can customise the experience after the signature, the cancel or an error during the process. Use redirectSuccess to redirect a user to an url when he have been signed.Specify the url field and the way to open it in the target field, like an HTML link.The auto boolean can be useful if you don't want to redirect just after the signature. If you want to display a button in the iframe with the following text : 'You have sucessfully signed, click here to continue.', pass it to false. By default, at true, the redirect will be automaticly fired when the event is fired too.You can customise 2 others redirects : redirectCancel when the member decline your procedure and redirectError if we encounter an error during the signature process.

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": "Here is the Signature-UI template for Yousign Developers.",
  • "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
}

List all your custom UIs

Authorizations:

Responses

Response Schema: application/json
Array of objects (FesUiResponse) [ items ]
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": null,
  • "success": true,
  • "message": "",
  • "error": null
}

Get custom UI for e-signatures

Authorizations:
path Parameters
id
required
string
Default: "<string>"
Example: 923j90n02n1w51504b6ea145

The id of a UI template

Responses

Response Schema: application/json
object (FesCreateUi)

The following options can be specified:

  • enableHeaderBar can display or not the header bar of the iFrame. The default value is true.
  • enableHeaderBarSignAs can display or not the bar just below the header bar to mention the name of the signer. The default value is true.
  • enableSidebar can display or not the sidebar, where you can find documents and signers just on the left of the document viewer. The default value is true.
  • enableMemberList is located in the sidebar. You can display or not the members list (signers or validators of the procedure). The default value is true.
  • enableDocumentList is located in the sidebar. You can display or not documents list. The default value is true.
  • enableDocumentDownload is located in the document list. You can authorize or not to download document by your users. The default value is true.
  • enableActivities is located in the sidebar. You can access to activities feed that display who sign, validate or comment the procedure. The default value is true.
  • authenticationPopup For signing, a user will be redirected to a view which will request a security b. You can change it just by a popup on the document's viewer by turning this field to true. The default value is false.
  • enableRefuseComment can display or not the popup which contains the comment asked when the participant refuse the procedure. The default value is 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
}

Delete custom UI for e-signatures

Authorizations:
path Parameters
id
required
string
Default: "<string>"
Example: 923j90n02n1w51504b6ea145

The id of a UI template

Responses

Response Schema: application/json
object (FesCreateUi)

The following options can be specified:

  • enableHeaderBar can display or not the header bar of the iFrame. The default value is true.
  • enableHeaderBarSignAs can display or not the bar just below the header bar to mention the name of the signer. The default value is true.
  • enableSidebar can display or not the sidebar, where you can find documents and signers just on the left of the document viewer. The default value is true.
  • enableMemberList is located in the sidebar. You can display or not the members list (signers or validators of the procedure). The default value is true.
  • enableDocumentList is located in the sidebar. You can display or not documents list. The default value is true.
  • enableDocumentDownload is located in the document list. You can authorize or not to download document by your users. The default value is true.
  • enableActivities is located in the sidebar. You can access to activities feed that display who sign, validate or comment the procedure. The default value is true.
  • authenticationPopup For signing, a user will be redirected to a view which will request a security b. You can change it just by a popup on the document's viewer by turning this field to true. The default value is false.
  • enableRefuseComment can display or not the popup which contains the comment asked when the participant refuse the procedure. The default value is true.

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE");
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
{
  • "success": true,
  • "message": "",
  • "error": null
}

SPID

Methods that allow you to obtain 4 types of spid (at the moment only personal spid is available)

Personal spid

This method allows you to obtain a url for registering a personal spid with a duration of 1 year

Authorizations:

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