API - approval request

With this API you can request approval of the request created with the previous call.

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

				
			
This API requires authentication viashopId and headerX-Auth-Token . To access this endpoint, you must have successfully completed the creation of a request.
ParameterObligatoryTypeFormatDescription
amountYesEntireTotal to be requested, in € cents
instalmentsYesEntireNumber of installments, from 3 to 60
loanFinalityYesStringPurpose. Set to ecommerce_shop
e-mailYesStringValid Email Address
lastnameYesString
firstnameYesString
mobilePhoneYesStringMobile number, without country code
countryCallingCodeNoStringInternational prefix, example+39 . Default value: +39
cityYesStringCity
provincesYesString2 uppercase charactersProvince. Example: MI
addressYesStringStreet. For examplevia roma , without commas or house numbers
civicNumberYesStringHouse number
postalCodeYesString5 digitsPOSTAL CODE. Example: 20100
citizenshipYesStringAllowed values:italian for Italian citizenship,eu for any non-Italian European citizenship,outside_eu for non-EU citizenships.
zeroInterestRateNoBooleanEnable zero rate. If omitted, the Sales Channel setting will be used.
orderTokenYesStringUnique token to identify the order
residenceNo*StringType of residence. Allowed values: rent, home_ownership, home_ownership_mortgage, home_business, with_relatives. Required if additionalDataNeeded is true.
residenceStartDateNo*StringMM / YYYYDate of change of residence. Example01/2001 . Required if additionalDataNeeded is true.
educationalQualification No*StringEducational qualification. Allowed values: middle_school, diploma, graduation, master, doctorate. Required if additionalDataNeeded is true.
childrenNo*StringNumber of children. Number of children. Example values:1 , 2, …, 5+. Required if additionalDataNeeded is true.
salaryTypeNo*StringType of earnings. Allowed values: net-monthly, gross-yearly. Required if additionalDataNeeded is true.
salaryNo*EntireEarnings, expressed in €. Required if additionalDataNeeded is true.
(*) This parameter may be mandatory in certain situations. See the description column corresponding to the item. The API returns a JSON object.
CodeDescription
201Resource created
400Syntax or domain error
403Failed to authenticate the request
422User rejected for approval
500System error
				
					{
     "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
}
				
			

Where is it:

URLtotal Total
ParameterTypeDescription
approvedBooleanIndicates if the request has been approved and then you can proceed with the next steps
redirectUrlstringto redirect the requestor in case of continuation on the Soisy funnel
approvalMessageApiFullStringDeprecated: Do not use. Text message related to the approval
approvalMessageApiSemiFullStringDeprecated: Do not use. Text message related to the approval.
emailString
lastnameString
firstnameString
fiscalCodeString
mobilePhoneString
cityString
addressString
provinceString
postalCodeString
civicNumberString
citizenshipString
amountrequested, in € cents
netAmountIntegerAmount that you will see credited to your account for this order, in case of successful payment. In € cents
Wholeinstalments
zeroInterestRateBooleanIndicates whether the zero rate option is enabled
orderTokenStringUnique token identifying the order
paymentDayOfMonthWholeDay of the month in which the payment of the installment will be made

The JSON object returned in the event of an error varies depending on the HTTP response code.

Responses with this HTTP code indicate a client-side error. The submitted request contained a formally incorrect parameter.

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

Possible errors are listed below:

Messageparameter
actualJobEndingDateInvalid date format
addressThis value should not be empty.
amountThis value should be between 5000 and 1500000
citizenshipThis value should be one of the available options.
civicNumberThis value should not be empty.
emailThis value should not be empty.
firstnameThis value should not be empty.
fiscalCodeInvalid tax code
instalmentsThe number of installments must be between 3 and 60
lastnameThis value should not be empty.
mobilePhoneThis value should not be empty.
postalCodeThis value should not be empty.
privacyThis value should be equal to “true”.

Domain specific errors:

  • User not found: if the tax code is incorrect or omitted.
				
					{
    "errors": {
        "domain": [
            "Utente non trovato" 
        ]
    }
}
				
			
  • User already rated
				
					{
    "errors": {
        "domain": [
            "Utente già valutato per l'approvazione" 
        ]
    }
}
				
			
  • Store not authorized to apply for a loan

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

The sent request contains invalid credentials. Check the shopId and header X-Auth-Token. Find more info on credentials in the authentication paragraph.

				
					 {
     "error": "Access denied"
 }
 
				
			

The submitted request could not be completed. More information is contained in the error message.

				
					{
     "errors": "messaggio"
 }
 
				
			

When a user is rejected by our systems, due to his credit history, we will notify you by generating an HTTP error code 422. The response payload will be similar to that of a valid response but with a parameter approved equal to false.

Responses with this HTTP code indicate that a system error has occurred.

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

Now you need to redirect the user to our webapp. Redirect the requester to Soisy using the field redirectUrl, which you find in the response payload.

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!