API REST v1 In fase di attivazione

Documentazione per sviluppatori

Integra il tuo gestionale con AML Guardian per gestire in automatico anagrafiche clienti e documenti associati (identità, visure, procure e allegati compliance).

Stato del servizio. L'API descritta in queste pagine è in fase di sviluppo; per sapere quando verrà rilasciata e le modalità di attivazione contattate il nostro supporto.

Panoramica

L'API REST consente di sincronizzare dati tra il tuo sistema e la piattaforma AML Guardian. Ogni richiesta è associata all'azienda (ente utilizzatore) tramite un token API dedicato. Le regole di validazione sono le stesse del portale web.

API Clienti

Creazione e aggiornamento anagrafiche (PF/PG, titolari effettivi, terzo pagatore).

POST PUT PATCH

API Documenti

Caricamento, consultazione e gestione documenti collegati a un cliente.

GET POST PATCH DELETE
URL base https://amlguardian.it/api/v1/

Le operazioni sui clienti usano application/json. Il caricamento documenti usa multipart/form-data. Tutte le richieste devono usare HTTPS.

Indice API

Riepilogo di tutti gli endpoint previsti nella versione 1.

Clienti

Metodo Endpoint Descrizione
POST /api/v1/clienti/ Crea un nuovo cliente
PUT /api/v1/clienti/{id}/ Aggiornamento completo anagrafica
PATCH /api/v1/clienti/{id}/ Aggiornamento parziale anagrafica

Documenti cliente

Metodo Endpoint Descrizione
GET /api/v1/clienti/{id}/documenti/ Elenco documenti del cliente
POST /api/v1/clienti/{id}/documenti/ Carica un nuovo documento
GET /api/v1/clienti/{id}/documenti/{doc_id}/ Dettaglio metadati documento
PATCH /api/v1/clienti/{id}/documenti/{doc_id}/ Aggiorna metadati (tipo, scadenze, descrizione)
DELETE /api/v1/clienti/{id}/documenti/{doc_id}/ Elimina un documento

Autenticazione

Il token API viene fornito da AML Guardian in fase di attivazione dell'integrazione. Includilo nell'header HTTP Authorization su tutte le richieste:

Header consigliato
Authorization: Bearer <API_TOKEN>

Formato alternativo equivalente:

Authorization: Token <API_TOKEN>
SituazioneHTTPDescrizione
Token assente 401 Autenticazione richiesta
Token non valido o revocato 401 Credenziali non accettate
Cliente o documento di un'altra azienda 404 Risorsa non trovata (isolamento tenant)

API Clienti

Endpoint

POST /api/v1/clienti/

Creazione cliente

Crea una nuova anagrafica nell'archivio dell'azienda associata al token.

201 Created
PUT /api/v1/clienti/{id}/

Aggiornamento completo

Sostituisce i dati del cliente. Includere tutti i campi scrivibili.

200 OK
PATCH /api/v1/clienti/{id}/

Aggiornamento parziale

Aggiorna solo i campi presenti nel payload JSON.

200 OK

Campi dati

Obbligatori (creazione)

CampoTipoDescrizione
tipo stringa PF Persona Fisica · PG Persona Giuridica
denominazione stringa Nome e cognome o ragione sociale
codice_fiscale stringa Max 16 caratteri, univoco in piattaforma

Opzionali — anagrafica e contatti

CampoTipoDescrizione
partita_ivastringaMax 11 caratteri, univoca se valorizzata
legale_rappresentantestringaObbligatorio se tipo = PG
codice_fiscale_legale_rappresentantestringaCF del legale rappresentante / procuratore
ruolostringacommittente o debitore — solo enti 115 TULPS
emailstringaIndirizzo email
telefonostringaNumero di telefono
indirizzostringaIndirizzo completo
tipo_rapportostringacontinuativo · occasionale · sospetti
is_pepbooleanotrue se Persona Politicamente Esposta

Titolari effettivi (fino a 4) e terzo pagatore

Per n da 1 a 4: titolare_effettivo_{n}_denominazione, titolare_effettivo_{n}_codice_fiscale. Terzo pagatore: terzo_pagatore_denominazione, terzo_pagatore_codice_fiscale.

Sola lettura (risposta)

id, data_creazione, data_modifica, attivo, livello_rischio, data_profilatura.

Validazioni

  • Codice fiscale obbligatorio in creazione e univoco su tutta la piattaforma.
  • Partita IVA univoca se valorizzata.
  • Persona Giuridica (tipo=PG): legale_rappresentante obbligatorio.
  • Ruolo committente/debitore solo per enti 115 TULPS; altrimenti default debitore.
  • I valori testuali vengono normalizzati in maiuscolo.

Esempi

Creazione persona fisica

POST /api/v1/clienti/
{
  "tipo": "PF",
  "denominazione": "Mario Rossi",
  "codice_fiscale": "RSSMRA80A01H501Z",
  "email": "mario.rossi@example.com",
  "telefono": "02 1234567",
  "indirizzo": "Via Roma 1, 20100 Milano",
  "tipo_rapporto": "occasionale",
  "is_pep": false
}

Aggiornamento parziale

PATCH /api/v1/clienti/42/
{
  "email": "nuova.email@example.com",
  "telefono": "3331234567"
}

API Documenti

Endpoint

I documenti sono sempre collegati a un cliente esistente. Dopo il caricamento sono visibili nella scheda cliente del portale web (identità, visure, procure, allegati).

GET /api/v1/clienti/{id}/documenti/

Elenco documenti

Restituisce l'elenco dei documenti associati al cliente, con metadati e URL di download.

200 OK
POST /api/v1/clienti/{id}/documenti/

Caricamento documento

Upload tramite multipart/form-data. Il campo file è obbligatorio.

201 Created
GET /api/v1/clienti/{id}/documenti/{doc_id}/

Dettaglio documento

Metadati del singolo documento, incluso link temporaneo al file.

200 OK
PATCH /api/v1/clienti/{id}/documenti/{doc_id}/

Aggiornamento metadati

Modifica tipo, descrizione, date e soggetto collegato. Il file non viene sostituito.

200 OK
DELETE /api/v1/clienti/{id}/documenti/{doc_id}/

Eliminazione documento

Rimuove il documento e il file associato dall'archivio.

204

Campi e tipologie

Campi upload (POST multipart)

CampoTipoObbl.Descrizione
file file File da caricare (PDF, immagine, ecc.)
tipo stringa No Tipologia documento (vedi tabella sotto). Default: altro
descrizione stringa No Note libere sul documento
data_emissione data No Formato YYYY-MM-DD
data_scadenza data No Data scadenza documento (es. carta d'identità)
denominazione stringa No Nome sul documento — consigliato per tipo=identita
soggetto_collegato stringa No Soggetto a cui si riferisce il documento (solo per tipo=identita)

Valori tipo

ValoreDescrizione
identitaDocumento d'identità
cfCodice Fiscale
visuraVisura camerale
tit_effettivoDocumentazione titolare effettivo
dichiarazioneDichiarazione
contrattoContratto
procuraProcura / delega
altroAltro allegato

Valori soggetto_collegato (documento d'identità)

Per enti 115 TULPS sono ammessi anche persona_fisica_debitore e persona_fisica_committente. Per le altre tipologie di soggetto obbligato si usa persona_fisica al posto delle varianti debitore/committente.

ValoreDescrizione
legale_rappresentanteLegale rappresentante
titolare_effettivoTitolare effettivo
terzo_pagatoreTerzo pagatore
persona_fisicaPersona fisica (enti non 115 TULPS)
persona_fisica_debitorePersona fisica — Debitore (solo 115 TULPS)
persona_fisica_committentePersona fisica — Committente (solo 115 TULPS)

Risposta (metadati documento)

id, tipo, tipo_display, descrizione, denominazione, soggetto_collegato, data_emissione, data_scadenza, nome_file, url_download, data_caricamento, is_scaduto, in_scadenza.

Validazioni

  • Il cliente {id} deve esistere e appartenere all'azienda del token.
  • Il campo file è obbligatorio in creazione; dimensione massima concordata in fase di attivazione.
  • Formati accettati tipici: application/pdf, image/jpeg, image/png.
  • soggetto_collegato e denominazione sono rilevanti principalmente per tipo=identita.
  • Valori soggetto_collegato non ammessi per la tipologia di ente vengono ignorati.
  • La PATCH non sostituisce il file: per aggiornare l'allegato eliminare e ricaricare il documento.

Esempi

Caricamento documento d'identità

POST /api/v1/clienti/42/documenti/ — multipart/form-data
POST /api/v1/clienti/42/documenti/ HTTP/1.1
Authorization: Bearer <API_TOKEN>
Content-Type: multipart/form-data; boundary=----boundary

------boundary
Content-Disposition: form-data; name="tipo"

identita
------boundary
Content-Disposition: form-data; name="denominazione"

Mario Rossi
------boundary
Content-Disposition: form-data; name="soggetto_collegato"

persona_fisica
------boundary
Content-Disposition: form-data; name="data_scadenza"

2030-12-31
------boundary
Content-Disposition: form-data; name="file"; filename="carta_identita.pdf"
Content-Type: application/pdf

(binary content)
------boundary--

Esempio con cURL

Visura camerale
curl -X POST "https://amlguardian.it/api/v1/clienti/42/documenti/" \
  -H "Authorization: Bearer <API_TOKEN>" \
  -F "tipo=visura" \
  -F "descrizione=Visura camerale ordinaria" \
  -F "file=@visura_acme.pdf"

Risposta elenco documenti (200)

{
  "count": 2,
  "results": [
    {
      "id": 101,
      "tipo": "identita",
      "tipo_display": "Documento d'identità",
      "denominazione": "Mario Rossi",
      "soggetto_collegato": "persona_fisica",
      "data_scadenza": "2030-12-31",
      "nome_file": "carta_identita.pdf",
      "url_download": "https://amlguardian.it/api/v1/clienti/42/documenti/101/download/",
      "data_caricamento": "2026-06-11T14:20:00Z",
      "is_scaduto": false,
      "in_scadenza": false
    },
    {
      "id": 102,
      "tipo": "visura",
      "tipo_display": "Visura Camerale",
      "nome_file": "visura_acme.pdf",
      "data_caricamento": "2026-06-11T14:25:00Z"
    }
  ]
}

Aggiornamento scadenza documento

PATCH /api/v1/clienti/42/documenti/101/
{
  "data_scadenza": "2035-06-30",
  "descrizione": "Carta d'identità elettronica — rinnovata"
}

Comuni a tutte le API

Codici di risposta HTTP

CodiceSignificato
201Risorsa creata (cliente o documento)
200Operazione riuscita / elenco restituito
204Documento eliminato (nessun corpo risposta)
400Dati non validi, file mancante o formato non supportato
401Autenticazione mancante o token non valido
404Cliente o documento non trovato
413File troppo grande
415Content-Type non supportato
500Errore interno del server

Note operative

  • Flusso consigliato: crea il cliente via API, poi carica i documenti sul relativo id.
  • Adeguata verifica, profilatura del rischio e monitoraggio restano gestiti dal portale web.
  • I documenti caricati via API compaiono immediatamente nella scheda cliente del portale.
  • Per ambienti di test è disponibile un token dedicato (da concordare con il supporto).
  • Ogni integrazione richiede accordo su volumi, dimensioni file e responsabilità del trattamento dati.

Supporto e attivazione

Per richiedere il token API, l'ambiente di test o la rigenerazione delle credenziali, contattaci indicando la denominazione dell'ente e il sistema da integrare.