Richiedi approvazione richiesta

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

Richiesta

Endpoint

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

Metodi accettati

POST

Autenticazione

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

Prerequisiti

Per accedere a questo endpoint è necessario aver completato con successo la creazione di una richiesta.

Parametri

Parametro Obbligatorio Tipo Formato Descrizione
amount Intero Totale da richiedere, in centesimi di €
instalments Intero Numero di rate, da 3 a 60
loanFinality Stringa Finalità. Impostare a ecommerce_shop
email Stringa Indirizzo email valido
lastname Stringa
firstname Stringa
iban No Stringa
mobilePhone Stringa Numero di cellulare, senza prefisso internazionale
countryCallingCode No Stringa Prefisso internazionale, esempio +39. Valore di default: +39
city Stringa Città
province Stringa 2 caratteri maiuscoli Provincia. Esempio: MI
address Stringa Via. Ad esempio via roma, senza virgole né numero civico
civicNumber Stringa Numero civico
postalCode Stringa 5 cifre CAP. Esempio: 20100
citizenship Stringa Valori consentiti: italian per cittadinanza italiana, eu per qualunque cittadinanza europea non italiana, outside_eu per le cittadinanze extra UE.
zeroInterestRate No Booleano Abilita il tasso zero. Se omesso, verrà utilizzato l'impostazione del Canale di Vendita.
orderToken Stringa Token univoco di identificazione dell'ordine
residence No* Stringa Tipo di residenza. Valori consentiti: rent, home_ownership, home_ownership_mortgage, home_business, with_relatives. Obbligatorio se additionalDataNeeded è true.
residenceStartDate No* Stringa MM/YYYY Data di cambiamento della residenza. Esempio 01/2001. Obbligatorio se additionalDataNeeded è true.
educationalQualification No* Stringa Titolo di studio. Valori consentiti: middle_school, diploma, graduation, master, doctorate. Obbligatorio se additionalDataNeeded è true.
children No* Stringa Numero di figli. Number of children. Valori di esempio: 1, 2, ..., 5+. Obbligatorio se additionalDataNeeded è true.
salaryType No* Stringa Tipo di guadagno. Valori consentiti: net-monthly, gross-yearly. Obbligatorio se additionalDataNeeded è true.
salary No* Intero Guadagno, espresso in €. Obbligatorio se additionalDataNeeded è true.
paymentDayOfMonth No Stringa Giorno del mese in cui verrò effettuato il pagamento della rata

(*) Questo parametro può essere obbligatorio in certe situazioni. Vedi la colonna descrizione in corrispondenza della voce.

Risposta

L'API restituisce un oggetto JSON.

Codici HTTP di risposta

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

Risposta valida

{
     "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",
     "iban": "IT40S0542811101000000123456",
     "amount": 100000,
     "netAmount": 95000,
     "instalments": 12,
     "zeroInterestRate": true,
     "orderToken": "aafku7asdufjahg3",
     "paymentDayOfMonth": 15
}

Dove:

Parametro Tipo Descrizione
approved Booleano Indica se la richiesta è stata approvata e quindi si può procedere con i passaggi successivi
redirectUrl Stringa URL a cui reindirizzare il richiedente in caso di proseguimento sul funnel Soisy
approvalMessageApiFull Stringa Deprecated: Non utilizzare. Messaggio di testo correlato all'approvazione
approvalMessageApiSemiFull Stringa Deprecated: Non utilizzare. Messaggio di testo correlato all'approvazione.
email Stringa
lastname Stringa
firstname Stringa
fiscalCode Stringa
mobilePhone Stringa
city Stringa
address Stringa
province Stringa
postalCode Stringa
civicNumber Stringa
citizenship Stringa
iban Stringa
amount Intero Totale richiesto, in centesimi di €
netAmount Intero Importo che vedrai accreditato sul tuo conto per questo ordine, in caso di pagamento andato a buon fine. In centesimi di €
instalments Intero
zeroInterestRate Booleano Indica se l'opzione tasso zero è attivata
orderToken Stringa Token univoco di identificazione dell'ordine
paymentDayOfMonth Intero Giorno del mese in cui verrò effettuato il pagamento della rata

Risposta di errore

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

Errore 400

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:

Parametro Messaggio
actualJobEndingDate Formato data non valido
address Questo valore non dovrebbe essere vuoto.
amount Questo valore dovrebbe essere compreso tra 25000 e 1500000
citizenship Questo valore dovrebbe essere una delle opzioni disponibili.
civicNumber Questo valore non dovrebbe essere vuoto.
email Questo valore non dovrebbe essere vuoto.
firstname Questo valore non dovrebbe essere vuoto.
fiscalCode Codice fiscale non valido
iban Questo valore non è un IBAN (International Bank Account Number) valido.
instalments Il numero di rate deve essere compreso fra 3 e 36
lastname Questo valore non dovrebbe essere vuoto.
mobilePhone Questo valore non dovrebbe essere vuoto.
postalCode Questo valore non dovrebbe essere vuoto.
privacy Questo 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" 
            ]
        }
    }
    

Errore 403

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"
 }

Errore 500

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

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

Possibilità di redirect

In questa fase puoi decidere se continuare l'integrazione o reindirizzare l'utente alla nostra webapp. Reindirizza il richiedente su Soisy utilizzando il campo redirectUrl, che trovi nel payload di risposta.