API - approvazione richiesta

Con questa API puoi richiedere l’approvazione della richiesta creata con la chiamata precedente.

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

				
			
Questa API richiede l’autenticazione tramite shopId e header X-Auth-Token. Per accedere a questo endpoint è necessario aver completato con successo la creazione di una richiesta.
ParametroObbligatorioTipoFormatoDescrizione
amountInteroTotale da richiedere, in centesimi di €
instalmentsInteroNumero di rate, da 3 a 60
loanFinalityStringaFinalità. Impostare a ecommerce_shop
emailStringaIndirizzo email valido
lastnameStringa
firstnameStringa
mobilePhoneStringaNumero di cellulare, senza prefisso internazionale
countryCallingCodeNoStringaPrefisso internazionale, esempio +39. Valore di default: +39
cityStringaCittà
provinceStringa2 caratteri maiuscoliProvincia. Esempio: MI
addressStringaVia. Ad esempio via roma, senza virgole né numero civico
civicNumberStringaNumero civico
postalCodeStringa5 cifreCAP. Esempio: 20100
citizenshipStringaValori consentiti: italian per cittadinanza italiana, eu per qualunque cittadinanza europea non italiana, outside_eu per le cittadinanze extra UE.
zeroInterestRateNoBooleanoAbilita il tasso zero. Se omesso, verrà utilizzato l’impostazione del Canale di Vendita.
orderTokenStringaToken univoco di identificazione dell’ordine
residenceNo*StringaTipo di residenza. Valori consentiti: renthome_ownershiphome_ownership_mortgagehome_businesswith_relatives. Obbligatorio se additionalDataNeeded è true.
residenceStartDateNo*StringaMM/YYYYData di cambiamento della residenza. Esempio 01/2001. Obbligatorio se additionalDataNeeded è true.
educationalQualification  No*StringaTitolo di studio. Valori consentiti: middle_schooldiplomagraduationmasterdoctorate. Obbligatorio se additionalDataNeeded è true.
childrenNo*StringaNumero di figli. Number of children. Valori di esempio: 12, …, 5+. Obbligatorio se additionalDataNeeded è true.
salaryTypeNo*StringaTipo di guadagno. Valori consentiti: net-monthlygross-yearly. Obbligatorio se additionalDataNeeded è true.
salaryNo*InteroGuadagno, espresso in €. Obbligatorio se additionalDataNeeded è true.
(*) Questo parametro può essere obbligatorio in certe situazioni. Vedi la colonna descrizione in corrispondenza della voce. L’API restituisce un oggetto JSON.
CodiceDescrizione
201Risorsa creata
400Errore di sintassi o di dominio
403Impossibile autenticare la richiesta
422Utente rifiutato per la approvazione
500Errore di sistema
				
					{
     "approved": true,
     "redirectUrl": "http:\/\/shops.soisy.it\/SCOREP85R02C521Z\/randomstring",
     "approvalMessageApiFull": "Congratulations, your monthly payment has been approved.",
     "approvalMessageApiSemiFull": "Congratulations, your monthly payment has been approved. We've sent you an email with the instructions to complete your payment.",
     "email": "name@example.com",
     "lastname": "Rossi",
     "firstname": "Carlo",
     "fiscalCode": "SCOREP85R02C521Z",
     "mobilePhone": "3491234567",
     "city": "Milano",
     "address": "Via Sassetti",
     "province": "MI",
     "postalCode": "00200",
     "civicNumber": "32",
     "citizenship": "italian",
     "amount": 100000,
     "netAmount": 95000,
     "instalments": 12,
     "zeroInterestRate": true,
     "orderToken": "aafku7asdufjahg3",
     "paymentDayOfMonth": 15
}
				
			

Dove:

ParametroTipoDescrizione
approvedBooleanoIndica se la richiesta è stata approvata e quindi si può procedere con i passaggi successivi
redirectUrlStringaURL a cui reindirizzare il richiedente in caso di proseguimento sul funnel Soisy
approvalMessageApiFullStringaDeprecated: Non utilizzare. Messaggio di testo correlato all’approvazione
approvalMessageApiSemiFull  StringaDeprecated: Non utilizzare. Messaggio di testo correlato all’approvazione.
emailStringa 
lastnameStringa 
firstnameStringa 
fiscalCodeStringa 
mobilePhoneStringa 
cityStringa 
addressStringa 
provinceStringa 
postalCodeStringa 
civicNumberStringa 
citizenshipStringa 
amountInteroTotale richiesto, in centesimi di €
netAmountInteroImporto che vedrai accreditato sul tuo conto per questo ordine, in caso di pagamento andato a buon fine. In centesimi di €
instalmentsIntero 
zeroInterestRateBooleanoIndica se l’opzione tasso zero è attivata
orderTokenStringaToken univoco di identificazione dell’ordine
paymentDayOfMonthInteroGiorno del mese in cui verrò effettuato il pagamento della rata

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

Le risposte con questo codice HTTP indicano un errore lato client. La richiesta inviata conteneva un parametro formalmente errato.

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

Di seguito sono elencati gli errori possibili:

ParametroMessaggio
actualJobEndingDate  Formato data non valido
addressQuesto valore non dovrebbe essere vuoto.
amountQuesto valore dovrebbe essere compreso tra 5000 e 1500000
citizenshipQuesto valore dovrebbe essere una delle opzioni disponibili.
civicNumberQuesto valore non dovrebbe essere vuoto.
emailQuesto valore non dovrebbe essere vuoto.
firstnameQuesto valore non dovrebbe essere vuoto.
fiscalCodeCodice fiscale non valido
instalmentsIl numero di rate deve essere compreso fra 3 e 60
lastnameQuesto valore non dovrebbe essere vuoto.
mobilePhoneQuesto valore non dovrebbe essere vuoto.
postalCodeQuesto valore non dovrebbe essere vuoto.
privacyQuesto valore dovrebbe essere uguale a “true”.

Errori specifici di dominio:

  • Utente non trovato: qualora il codice fiscale fosse errato oppure omesso.
				
					{
    "errors": {
        "domain": [
            "Utente non trovato" 
        ]
    }
}
				
			
  • Utente già valutato
				
					{
    "errors": {
        "domain": [
            "Utente già valutato per l'approvazione" 
        ]
    }
}
				
			
  • Punto vendita non abilitato alla richiesta di un prestito

				
					{
    "errors": {
        "domain": [
            "Questo punto vendita non può richiedere un prestito" 
        ]
    }
}
				
			

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.

				
					 {
     "error": "Access denied"
 }
 
				
			

La richiesta inviata non può essere completata. Maggiori informazioni sono contenuti nel messaggio d’errore.

				
					{
     "errors": "messaggio"
 }
 
				
			

Quando un utente viene rifiutato dai nostri sistemi, a causa del suo storico creditizio, ti segnaliamo la cosa generando un HTTP error code 422. Il payload di risposta sarà simile a quello di una risposta valida ma con parametro approved uguale a false.

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

				
					{
    "errors": {
        "system": [
            "System error"
        ]
    }
}
				
			

Ora devi reindirizzare l’utente alla nostra webapp. Reindirizza il richiedente su Soisy utilizzando il campo redirectUrl, che trovi nel payload di risposta.

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!