<< Fare clic per visualizzazione il sommario >> Percorso: API di piattaforma > JamioPlug > JamioPlug Document Automation > Firma elettronica > AddAdvancedSignatureByOTP |
Appone su un documento una firma elettronica avanzata che afferisce ad una persona fisica, tramite verifica codice OTP.
Metodo
PlugDocumentAutomation /AddAdvancedSignatureByOTP
Input |
|||
Nome |
Descrizione |
Tipo |
Opzionale |
serverAddress |
Indirizzo server da un Dominio esterno (per il Dominio della sessione corrente, utilizzare nullo o vuoto). |
String |
Y |
token |
Token di sessione (per la sessione corrente nel dominio corrente potrebbe essere null o vuoto). |
String |
Y |
identityReference |
Collegamento all'identità che deve firmare il documento. |
Reference |
|
transactionId |
Identificativo della transazione che si sta eseguendo, può essere per esempio l’URL del documento che si vuole firmare. |
String |
Y |
secretCode |
Codice di 8 cifre che rappresenta la password associata al certificato di firma. |
String |
|
verificationId |
Identificativo di verifica dell'operazione di validazione della firma con OTP. |
String |
|
otpCode |
Codice OTP che deve fornire l'utente per quel verificationID. |
String |
|
resourceReference |
Collegamento alla risorsa contenente il file da firmare. Può essere un riferimento ad un Attachment, un FileComponent, un allegato di processo, un Document o un'altra risorsa contenente attachments. Se la risorsa è di tipo Document e contiene più componenti file viene utilizzato: •il componente principale se è di tipo File; •in assenza di componente principale, deve esserci un solo componente di tipo File. Se la risorsa contiene una lista di attachments, deve esserci un solo file. |
Reference |
|
signatureType |
Tipo di firma da applicare: può essere Pades, Cades o Xades. Se non specificato e il file è in formato PDF viene utilizzato Pades, se è in formato XML Xades, in tutti gli altri casi Cades. |
String |
Y |
testMode |
True se è richiesta l'esecuzione del metodo in modalità test. Se non specificato, viene effettuata l'esecuzione del metodo in modalità live. |
Boolean |
Y |
Output |
|
||
Nome |
Descrizione |
Tipo |
|
returnValue |
Restituisce un dato strutturato che contiene i seguenti campi: •SignedDocument: collegamento al documento firmato; •EvidenceReport: collegamento al report di firma che riporta informazioni sul firmatario, il certificato ed il documento firmato; •SignedDocumentName: stringa che riporta il nome completo del file firmato; •EvidenceReportName:stringa che riporta il nome completo del report di firma. In modalità test, la firma elettronica non viene applicata al documento e viene restituito in output il medesimo file di input. Viene comunque generato un report di firma con le informazioni valorizzabili. |
Dataset |
|
Commenti
Il metodo AddAdvancedSignatureByOTP verifica che per l'identità specificata nel campo collegamento identityReference:
•sia disponibile un documento di riconoscimento valido. La verifica è effettuata sulle proprietà IdentificationDocument, IdentificationCodeExpiryDate e IdentificationCode dell'identità;
•esiste un recapito email ed esso sia validato. La verifica è effettuata sulle proprietà ServiceEmail e ServiceEmailValidated dell'identità;
•sia disponibile un recapito telefonico ed esso sia validato. La verifica è effettuata sulle proprietà ServiceMobilePhoneNumber e ServiceMobilePhoneNumberValidated dell'identità.
Se l'identità ha le caratteristiche utili, il metodo AddAdvancedSignatureByOTP:
1.verifica la presenza del certificato di firma per l'identità identityReference e lo legge. Il certificato di firma deve essere stato precedentemente generato tramite il metodo EnableTransactionalAdvancedSignature o il metodo EnableAdvancedSignature. Per utilizzare i certificati di firma generati con il metodo EnableAdvancedSignature, è necessario ottenere il codice OTP ed il verificationId utilizzando servizi di generazione OTP (per ulteriori informazioni contattare il customer service Openwork).
2.recupera il documento da firmare e verifica la compatibilità tra il tipo di file ed il tipo di firma (solo per pdf ed xml);
3.verifica l'OTP inserito, se in input sono stati specificati verificationId e otpCode; se è valorizzato solo uno dei due restituisce errore;
4.verificato l'OTP, esegue la firma del documento e compone il report di firma.
Il metodo si comporta come segue:
Restituisce |
Condizione |
Errore PLUG_MissingIdentificationDocument |
Se l'identità referenziata in identityReference non dispone di un documento di riconoscimento. |
Errore PLUG_InvalidIdentificationCode |
Se l'identità referenziata in identityReference dispone di un documento di riconoscimento scaduto. |
Errore PLUG_MissingIdentificationCode |
Se l'identità referenziata in identityReference non dispone del codice del documento di riconoscimento. |
Errore PLUG_MissingEmailAddress |
Se l'identità referenziata in identityReference non dispone di un indirizzo email. |
Errore PLUG_InvalidEmailAddress |
Se l'identità referenziata in identityReference dispone di un indirizzo email ma esso non è validato. |
Errore PLUG_MissingPhoneAddress |
Se l'identità referenziata in identityReference non dispone di un recapito telefonico. |
Errore PLUG_InvalidPhoneAddress |
Se l'identità referenziata in identityReference dispone di un recapito telefonico ma esso non è validato. |
Errore PLUG_Error |
Se signatureType riporta un tipo di firma che non si applica al documento da firmare resourceReference. |
Errore PLUG_Error |
Se signatureType è diverso da Pades, Xades o Cades. |
Errore PLUG_Error |
Se è stato specificato il parametro verificationId e non otpCode. |
Errore PLUG_Error |
Se è stato specificato il parametro otpCode e non verificationId. |
Errore PLUG_Error |
Se il codice riportato in secretCode non è corretto. |
Errore PLUG_OtpCodeExpired |
Se il codice OTP inserito è scaduto. |
Errore PLUG_Error |
Se si vuole apporre una firma elettronica xades ad un file riportato in resourceReference su cui è già apposta una firma xades. |
Errore PLUG_Error |
Se il file xml che si vuole firmare non è ben formato e la firma richiesta è di tipo xades. |
Errore Certificate beyond usability limit - PLUG_NotAllowedCertificate |
Se il certificato di firma associato all'identità indicata nel parametro identityReference è scaduto o è valido, ma non usabile. |
Autorizzazioni
Per eseguire il metodo è necessario possedere il permesso di Lettura sulla risorsa referenziata dal collegamento identityReference.