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.

[DEPRECATED] Request an e-signature Deprecated

This endpoint is deprecated and no longer supported
Please migrate to the new service, you can find the documentation for the new integration here.

Authorizations:
Request Body schema: application/json
Schema not provided

Responses

Request samples

CURL *hnd = curl_easy_init();

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

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "content-type: application/json");
headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

CURLcode ret = curl_easy_perform(hnd);

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
}

[DEPRECATED] Create a custom UI for e-signatures Deprecated

This endpoint is deprecated and no longer supported.

Authorizations:
Request Body schema: application/json
Schema not provided

Responses

Request samples

CURL *hnd = curl_easy_init();

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

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "content-type: application/json");
headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

CURLcode ret = curl_easy_perform(hnd);

[DEPRECATED] List all your custom UIs Deprecated

Authorizations:

Responses

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

[DEPRECATED] Get custom UI for e-signatures Deprecated

Authorizations:

Responses

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

[DEPRECATED] Delete custom UI for e-signatures Deprecated

Authorizations:

Responses

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

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