Attribuisci data e ora certa a qualsiasi documento
Potrai validare i documenti informatici direttamente tramite le nostre API o acquistare i lotti per i tuoi sistemi di attribuzione data
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.
Prendi il token nell'apposita sezione prima di cominciare.
Munisciti del token nell' apposita sezione prima di cominciare.
Una volta ottenuto, effettua chiamate ai diversi endpoint in base alle tue esigenze.
- Oas file url https://console.openapi.com/oas/it/marchetemporali.openapi.json
- Fork or import with Postman
- Production domain ws.marchetemporali.com
- Sandbox domain test.ws.marchetemporali.com
- Production Scopes 6
-
Sandbox Scopes 6
- GET test.ws.marchetemporali.com/availability
- POST test.ws.marchetemporali.com/check_lotto
- POST test.ws.marchetemporali.com/marca
- POST test.ws.marchetemporali.com/verifica
- GET test.ws.marchetemporali.com/marche
- POST test.ws.marchetemporali.com/analisi
Marche Temporali (1.0.0)
Questo servizio web consente di acquistare marche temporali e documenti di marcatura temporale.
Elenco delle marche temporali
Questo metodo mostra l'elenco di tutti i timestamp acquistati
Authorizations:
Responses
Response Schema: application/json
Array of objects (Marca) | |
success | boolean |
message | string |
error | integer |
Request samples
- C + Libcurl
- Csharp + Restsharp
- Go + Native
- Java + Okhttp
- Java + Unirest
- Javascript + Jquery
- Javascript + Xhr
- Node + Native
- Node + Request
- Node + Unirest
- Objc + Nsurlsession
- Ocaml + Cohttp
- Php + Curl
- Php + Http1
- Php + Http2
- Python + Python3
- Python + Requests
- Ruby + Native
- Shell + Curl
- Shell + Httpie
- Shell + Wget
- Swift + Nsurlsession
CURL *hnd = curl_easy_init(); curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); curl_easy_setopt(hnd, CURLOPT_URL, "https://ws.marchetemporali.com/marche"); 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
- 200
- 404
- "data": [
- {
- "id_marca": "deb184df120e0487b64a2f77a4ab60c5",
- "type": "aruba",
- "qty_marca": "50",
- "username": "FAKETxxxxltravia09",
- "password": "FAKxxxB71AJHN",
- "id_entita": "159xxx2274",
- "timestamp_acquisto": "2020-09-10 12:04:35"
- {
- "id_marca": "79b1ab2ce4825c955ba7b99c6d1a4b5f",
- "type": "infocert",
- "qty_marca": "100",
- "username": "FAKExxxR325",
- "password": "FAKEinxxxxx2",
- "id_entita": "159xxx2274",
- "timestamp_acquisto": "2020-09-10 12:10:52"
- "success": true,
- "message": "",
- "error": null
Acquisto di marche temporali
Questo metodo consente di acquistare marche temporali
Authorizations:
path Parameters
type required | string Enum: "infocert" "aruba" Example: aruba Tipo di marcatura temporale |
qty required | string Example: 50 Quantità di marche temporali |
Responses
Response Schema: application/json
object | |
success | boolean |
message | string |
error | integer |
Request samples
- C + Libcurl
- Csharp + Restsharp
- Go + Native
- Java + Okhttp
- Java + Unirest
- Javascript + Jquery
- Javascript + Xhr
- Node + Native
- Node + Request
- Node + Unirest
- Objc + Nsurlsession
- Ocaml + Cohttp
- Php + Curl
- Php + Http1
- Php + Http2
- Python + Python3
- Python + Requests
- Ruby + Native
- Shell + Curl
- Shell + Httpie
- Shell + Wget
- Swift + Nsurlsession
CURL *hnd = curl_easy_init(); curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); curl_easy_setopt(hnd, CURLOPT_URL, "https://ws.marchetemporali.com/marche/%7Btype%7D/%7Bqty%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
- 200
- 400
- 402
- 404
- 422
- "data": {
- "id_marca": "1bab897afce17bd101c54d6011851d10",
- "username": "FAKETSxxxxravia10",
- "password": "FAKE6GxxxxSFA"
- "message": "Marca erogata",
- "success": true,
- "error": null
Disponibilità di marche temporali
Questo metodo consente di verificare se un certo tipo di timbri è disponibile per l'acquisto.
Authorizations:
path Parameters
type required | string Enum: "infocert" "aruba" Example: aruba Tipo di marcatura temporale |
qty required | string Example: 50 Quantità di marche temporali |
Responses
Response Schema: application/json
object | |
success | boolean |
message | string |
error | integer |
Request samples
- C + Libcurl
- Csharp + Restsharp
- Go + Native
- Java + Okhttp
- Java + Unirest
- Javascript + Jquery
- Javascript + Xhr
- Node + Native
- Node + Request
- Node + Unirest
- Objc + Nsurlsession
- Ocaml + Cohttp
- Php + Curl
- Php + Http1
- Php + Http2
- Python + Python3
- Python + Requests
- Ruby + Native
- Shell + Curl
- Shell + Httpie
- Shell + Wget
- Swift + Nsurlsession
CURL *hnd = curl_easy_init(); curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); curl_easy_setopt(hnd, CURLOPT_URL, "https://ws.marchetemporali.com/availability/%7Btype%7D/%7Bqty%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
- 200
- 400
- "data": {
- "availability": "89"
- "success": true,
- "message": "",
- "error": null
Controllo dei consumi
Questo metodo consente di verificare, in relazione a un lotto specifico, quanti timestamp sono stati utilizzati e quanti ne rimangono.
Authorizations:
Request Body schema: application/json
username required | string nome assegnato per utilizzare il batch della marca temporale |
password required | string password assegnata per l'utilizzo del batch di marcatura temporale |
type | string Enum: "infocert" "aruba" marca della marca temporale; se non viene passata è 'infocert' per impostazione predefinita |
Responses
Response Schema: application/json
object | |
success | boolean |
message | string |
error | integer |
Request samples
- Payload
- C + Libcurl
- Csharp + Restsharp
- Go + Native
- Java + Okhttp
- Java + Unirest
- Javascript + Jquery
- Javascript + Xhr
- Node + Native
- Node + Request
- Node + Unirest
- Objc + Nsurlsession
- Ocaml + Cohttp
- Php + Curl
- Php + Http1
- Php + Http2
- Python + Python3
- Python + Requests
- Ruby + Native
- Shell + Curl
- Shell + Httpie
- Shell + Wget
- Swift + Nsurlsession
- "username": "J0xxxx57",
- "password": "R6xxxh5X"
Response samples
- 200
- 400
- 422
- "data": {
- "available": "250",
- "used": "0"
- "message": "DESCR = Marche per J0xxxx57; disponibili 250 consumate 0",
- "success": true,
- "error": null
Stampa temporale di un documento
Questo metodo consente di contrassegnare un documento nel tempo; se non si dispone dei nostri timestamp, è comunque possibile contrassegnare un documento passando solo il parametro 'file'.
Authorizations:
Request Body schema: application/json
username | string nome del lotto di marcatura temporale |
password | string password del lotto di marcatura temporale |
file required | string file che si vuole marcare: si può passare l'url remoto del file o il contenuto codificato in base64 o sha256 |
mime | boolean se falso restituisce solo il timestamp del file, se vero un file in formato mime contenente file originale e timestamp |
type | string Enum: "infocert" "aruba" marca della marca temporale; se non viene passata è 'infocert' per impostazione predefinita |
Responses
Response Schema: application/json
object (Marcatura) | |
success | boolean |
message | string |
error | integer |
Request samples
- Payload
- C + Libcurl
- Csharp + Restsharp
- Go + Native
- Java + Okhttp
- Java + Unirest
- Javascript + Jquery
- Javascript + Xhr
- Node + Native
- Node + Request
- Node + Unirest
- Objc + Nsurlsession
- Ocaml + Cohttp
- Php + Curl
- Php + Http1
- Php + Http2
- Python + Python3
- Python + Requests
- Ruby + Native
- Shell + Curl
- Shell + Httpie
- Shell + Wget
- Swift + Nsurlsession
- "username": "J0xxxx51",
- "password": "5xxxxxg2",
Response samples
- 200
- 400
- 422
- "data": {
- "available": 99,
- "used": 1,
- "timestamp_header": "{\"Date\":\"Fri, 11 Sep 2020 09:27:19 GMT\",\"Server\":\"Apache\",\"X-Powered-By\":\"Application Server Infocert - marca4\",\"Set-Cookie\":\"JSESSIONID=A9FCAAAFFF1320E96F19AD43F7B590A2.marca4; Path=\\/; Secure\",\"ICTSA-UCTTime\":\"20200911092720Z\",\"ICTSA-SN\":\"428957893\",\"ICTSA-TSAName\":\"CN=ICEDTS02202009, OU=TSA, O=INFOCERT SPA, C=IT\",\"Content-Disposition\":\"attachment; filename=\\\"test.tsr\\\"\",\"Content-Type\":\"application\\/timestamp-reply; name=\\\"test.tsr\\\"\",\"Content-Length\":\"3584\"}",
- "transaction": "7fc398e761e35b0c766698b27b4e7430"
- "message": "Documento Marcato Correttamente",
- "success": true,
- "error": null
Analizzare la marcatura
Questo metodo permette di analizzare il file con data e ora
Authorizations:
Request Body schema: application/json
file | string file che si vuole analizzare: si può passare l'url remoto del file o il suo contenuto codificato in base64. |
Responses
Response Schema: application/json
object (VerificaAnalisi) | |
success | boolean |
message | string |
error | integer |
Request samples
- Payload
- C + Libcurl
- Csharp + Restsharp
- Go + Native
- Java + Okhttp
- Java + Unirest
- Javascript + Jquery
- Javascript + Xhr
- Node + Native
- Node + Request
- Node + Unirest
- Objc + Nsurlsession
- Ocaml + Cohttp
- Php + Curl
- Php + Http1
- Php + Http2
- Python + Python3
- Python + Requests
- Ruby + Native
- Shell + Curl
- Shell + Httpie
- Shell + Wget
- Swift + Nsurlsession
Response samples
- 200
- 400
- 422
- "data": {
- "transaction": "691929c444e1d7d0c6c2f78d0fed3be7",
- "UTCTime": "20200911131712Z",
- "SN": "429027229",
- "TSAName": "CN=ICEDTS02202009, OU=TSA, O=INFOCERT SPA, C=IT"
- "message": "Documento Verificato Correttamente",
- "success": true,
- "error": null