Invia i documenti

Questo endpoint serve a caricare i documenti dei clienti. La nostra applicazione memorizzerà i documenti e risponderà con un codice di successo nel caso sia andato tutto a buon fine o con un codice e un messaggio di errore in caso contrario.

Richiesta

Endpoint

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

Metodi accettati

POST

Autenticazione

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

Prerequisiti

Per accedere a questo endpoint è necessario aver richiesto con successo l'approvazione di una richiesta.

Parametri

Parametro Obbligatorio Tipo Formato Descrizione
identityFrontFile Immagine Jpg, Png, Pdf Immagine del fronte del documento d'identità
identityBackFile Immagine Jpg, Png, Pdf Immagine del retro del documento d'identità
fiscalCodeFrontFile Immagine Jpg, Png, Pdf Immagine del fronte del codice fiscale
fiscalCodeBackFile Immagine Jpg, Png, Pdf Immagine del retro del codice fiscale
selfieFile Immagine Jpg, Png, Pdf Selfie dell'utente
incomeDeclarationFile No* Immagine Jpg, Png, Pdf Un documento di reddito dell'utente. Obbligatorio se additionalDataNeeded è true. È valida la busta paga, il CUD, il 730 o il modello Unico
residencePermitFile No* Immagine Jpg, Png, Pdf Permesso di soggiorno. Obbligatorio per utenti non provenienti dalla Comunità Europea.

La dimensione massima di ogni documento è di 15MB.

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

Risposta

L'API restituisce un array 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

[
    {"fileName: "identityFrontFile", "id": <UUID>},
    {"fileName: "identityBackFile", "id": <UUID>},
    {"fileName: "fiscalCodeFrontFile", "id": <UUID>},
    {"fileName: "fiscalCodeBackFile", "id": <UUID>},
    {"fileName: "selfieFile", "id": <UUID>},
    {"fileName: "incomeDeclarationFile", "id": <UUID>},
    {"fileName: "residencePermitFile", "id": <UUID>},
]

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.

Per ogni parametro sono possibili i seguenti errori:

  • Mancato invio del parametro

    {
        "errors": {
            {parametro}: [
                "Questo valore non dovrebbe essere vuoto." 
            ]
        }
    }
    
  • File vuoto

    {
        "errors": {
            "file": [
                "Un file vuoto non è consentito." 
            ]
        }
    }
    
  • File inviato con dimensioni superiori a quelle consentite

    {
        "errors": {
            "file": [
                "Il file è troppo grande ({size} MB). La dimensione massima consentita è 15 MB." 
            ]
        }
    }
    
  • File inviato con Media Type diverso da application/pdf, application/x-pdf, image/jpeg, image/pjpeg o image/png

    {
        "errors": {
            "file": [
                "Puoi caricare solo file pdf, immagini jpg o png" 
            ]
        }
    }
    

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