Download OpenAPI specification:Download
L'API ti consente di automatizzare le tue operazioni convalidando i documenti, verificando la loro esistenza nella blockchain di Ethereum e invalidandoli. Utilizzando l'API, non dovrai mai inviare i tuoi file, ma dovrai inviare un hash SHA-256 dei file. L'hash è l'unica informazione memorizzata sulla blockchain e consente ad altre persone di scoprire se il tuo file è effettivamente esistito in un periodo di tempo.
Il web server è composto da una logica business per il controllo e la gestione delle chiamate, le quali vengono esposte da un layer API di tipo RESTFul. Inoltre, si interfaccia attraverso uno smart contract solidity alla blockchain Ethereum per il salvataggio e la verifica degli hash.
Le API sono protette da un sistema di token gestino e conservato all'interno di un DB.
Per poter eseguire una chiamata API bisogna essere in possesso di un Token.
Il codice token deve essere richiesto anticipatamente in modo da registrare l'utente nel sistema ed accettare le richieste sistema.
Tutte le chiamate richiedono il token di autorizzazione.
Permette di validare un hash di un file. Il metodo scrive nella blockchain l'hash e i relativi metadati che vengono inviati.
Requisiti
Richiede che hash non esiste nella catena.
Risposta
HTTP 200
Token non valido
{
status: false,
message: string messaggio di errore
}
HTTP 200
Problema di validazione sulla blockchain o requisiti non rispettati
{
status: "Failed",
response: Oggetto contenente la risposta della blockchain,
reason: "Validate error occured"
}
HTTP 200
Successo validazione avvenuta correttamente
{
status: "Success",
response: Oggetto contente la risposta della validazione
}
{- "hash": "0x0000080000000000000000000000000000000000000000000000000000000000",
- "title": "Stringa del nome del file",
- "md5": "MD5 del file"
- "type": "Mimetype del file"
- "token": "Stringa del token di autorizzazione"
}Identica al metodo "validate", con l'unica differenza che si attende come parametro di input direttamente un file. Sarà compito del sistema recuperare i metadati da inviare alla blockchain per sottoporre il file alla validazione.
| documento | string <binary> File da validare |
| token | string Stringa token di autorizzazione |
Permette di invalidare un hash di un file sostituendo con uno nuovo. Il metodo si attende quindi il l'hash del file che vogliamo invalidare, chiamato oldHash, e l'hassh del nuovo file, chiamo newHash, il quale sostiuirà il precedente conservandone il link nella catena. Per funzionare correttamente il newHash deve essere già presente nella blockChain.
Requisiti
oldHash deve esistere nella blockchain
newHash deve esistere nella blockchain
oldHash non devere essere stato già invalidato
Ritorna
HTTP 200
Token non valido
{
status: false,
message: string messaggio di errore
}
HTTP 200
Problema di invalidazione sulla blockchain o requisiti non rispettati
{
status: "Failed",
response: Oggetto contenente la risposta della blockchain,
reason: "Validate error occured"
}
HTTP 200
Successo invalidazione avvenuta correttamente
{
status: "Success",
response: Oggetto contente la risposta della invalidazione
}
{- "oldHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
- "newHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
- "token": "Stringa token di autorizzazione"
}Identica al metodo "invalidate", con l'unica differenza che si attende come parametro di input direttamente i due file old e new. Sarà compito del sistema recuperare i dati dei file per invalidare il file posto come old.
| oldDocumento | string <binary> File da invalidare |
| newDocumento | string <binary> File che invalida oldDocumento |
| token | string Stringa token di autorizzazione |
Il metodo permettere di interrogare la blockchain su un hash per recuperare le informazioni sullo stato del file.
Requisiti
Hash deve esistere nella blockchain
Ritorna
HTTP 200
Token non valido
{
status: false,
message: string messaggio di errore
}
HTTP 200
Problema nella richiesta verso la blockchain o requisiti non rispettati
{
status: "Failed",
response: Oggetto contenente la risposta della blockchain,
reason: "IsValid error occured"
}
HTTP 200
Successo validazione avvenuta correttamente
{
status: "Success",
response: Oggetto contente la risposta della isValid
}
{- "hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
- "token": "Stringa token di autorizzazione"
}Identica al metodo "isvalid", con l'unica differenza che si attende come parametro di input direttamente il file da verificare. Sarà compito del sistema recuperare l'hash del file da inviare in richiesta alla blockchain
| documento | string <binary> File da controllare |
| token | string Stringa token di autorizzazione |
Questo metodo è una funzione di supporto, che può essere utile da richiamare per ottenere i metadati del file da usare nei metodi visti in precedenza.
Risposta
HTTP 500
Errore elaborazione file
HTTP 200
Token non valido
{
status: false,
message: string messaggio di errore
}
HTTP 200
Il form non contiene il file
{
status: false,
message: 'No file uploaded'
}
HTTP 200
Elaborazione file avvenuta con successo
{
status: true,
message: 'File is uploaded',
data: {
nome: nome,
mimetype: mimetype,
size: dimenzioni,
hash: hash,
md5: md5
}
}
| documento | string <binary> File da elaborare |
| token | string Stringa token di autorizzazione |