API - firma certificato

Nella chiamata precedente ti avevamo restituito una serie di clausole da mostrare all’utente. In questa chiamata potrai comunicarci l’accettazione di queste clausole. Passeremo queste scelte alla Certification Authority che rilascerà un certificato che servirà a firmare digitalmente il contratto. 

Non ti preoccupare, ci occupiamo noi di gestire certificato e authority, così puoi concentrarti sulla scrittura del codice che darà valore alla tua piattaforma

Una volta effettuata questa chiamata, l’utente riceverà un codice di conferma sul numero di cellulare fornito (denominato OTP, che sta per One Time Password). Questo codice servirà per confermare la firma, nella successiva chiamata API.

				
					Sandbox: https://api.sandbox.soisy.it/api/shops/{shopId}/requests/{fiscalCode}/request-signature-certificate
Produzione: https://api.soisy.it/api/shops/{shopId}/requests/{fiscalCode}/request-signature-certificate
				
			
				
					POST

				
			

Questa API richiede l’autenticazione tramite shopId e header X-Auth-Token.

Per accedere a questo endpoint è necessario aver richiesto i termini del contratto.

ParametroObbligatorioTipoFormatoDescrizione
clausesOggetto Le clausole accettate dall’utente. Vedi esempio.

Con la richiesta dovrai trasmettere tutte le clausole recuperate con la chiamata precedente. Il valore true indica che il cliente ha accettato le varie clausole.

				
					{
    "clauses": {
        "termAndCondition": true,
        "misleadingClaims": true,
    }
}
				
			

L’API restituisce un oggetto JSON contenente una lista di contratti da firmare. Ogni contratto contiene una lista di clausole che il cliente dovrà espressamente accettare.

Le clausole restituite da questa API dovranno essere esplicitamente inviate, con un valore true, nella successiva chiamata di firma del contratto.

CodiceDescrizione
201Risorsa creata
400Errore di sintassi o di dominio
403Impossibile autenticare la richiesta
500Errore di sistema

Risposta valida

				
					{
    "contracts": [
        {
             "contractId": "ABC-1234-DEF",
             "type": "soisy",
             "version": "v4",
             "clauses": {
                 "termsAndConditions": "Termini e condizioni",
                 "privacyPolicy": "Informativa privacy",
                 "sddStatement": "Modulo SDD",
             }
        }
    ]
}
				
			

L’oggetto JSON restituito in caso di errore varia a seconda del codice HTTP di risposta.

La descrizione dell’errore messaggio cambierà a seconda dell’errore generato dalla Certification Authority.

				
					{
     "errors": {
         "domain": [
             {messaggio}
         ]
      }
 }
				
			

La richiesta inviata contiene delle credenziali non valide. Controlla lo shopId e l’header X-Auth-Token. Trovi maggiori info sulle credenziali nel paragrafo dell’autenticazione.

				
					 {
     "errors": {
         "domain": [
             "The user has no access to this resource"
         ]
      }
 }
				
			

Le risposte con questo codice HTTP indicano che si è verificato un errore di sistema.

				
					{
    "errors": {
        "system": [
            {messaggio}
        ]
    }
}
				
			

Ciao!

Siamo on line dal lunedì al venerdì dalle 9.30 alle 12.30 e dalle 14.30 alle 17.30

Scrivici in questi orari, grazie!