Darwin
Per accedere all'API relativa a Darwin è necessario che sia presente lo scope darwin nel token. Inoltre possono accedere all'API gli utenti appartenenti ai seguenti gruppi:
- admin
- domain
- darwin
L'utente appartenente al gruppo darwin ha un accesso limitato alle sole richieste che gli vengono assegnate dall'utente amministratore (gruppo admin).
Per un dettaglio puntuale dei metodi e delle risorse disponibili si veda anche la documentazione OpenAPI.
Warning
L'API di Darwin non è al momento disponibile nella piattaforma di test (pubtest).
Panoramica
L'API Darwin consente al Registrar di lavorare sulle procedure segnalate dal Registro relative ad anomalie sui contatti registranti. Permette di gestire le richieste aperte, i contatti e i domini coinvolti, le anomalie rilevate, gli eventi di lavorazione, i documenti richiesti e gli eventuali aggiornamenti proposti per il contatto di riferimento.
Il flusso tipico è il seguente:
- ricercare le richieste Darwin disponibili;
- prendere in carico o assegnare una richiesta;
- consultare il contatto di riferimento, i contatti collegati, i domini, le anomalie e gli eventi;
- caricare i documenti richiesti ed eventualmente inserire un aggiornamento dei dati del contatto;
- validare i dati inseriti e processare la richiesta.
Stati e valori utili
Stati della richiesta
I possibili valori del campo status di una richiesta Darwin sono:
submittedpendingrejectedregistrarUpdatedprocessingprocessingExpiredexpiredcompletedprocessingCancelledcancelled
Stati di un contatto Darwin
I possibili valori del campo status di un contatto Darwin sono:
submittedrejectedlockedprocessed
Azioni sui contatti
I possibili valori del campo action sono:
| Codice | Descrizione |
|---|---|
| todo | Contatto selezionato per essere modificato |
| hold | Contatto che non verrà aggiornato e i domini collegati saranno messi in serverHold |
| delete | Contatto che verrà eliminato e così anche i domini collegati |
Stati di assegnazione
Per filtrare le richieste tramite il parametro registrarAssignation sono disponibili i seguenti valori:
allassignedunassignedassignedToMe
Tipi di documento
I possibili valori del campo documentType sono:
| Codice | Descrizione |
|---|---|
IC |
Carta d'identità |
PASS |
Passaporto |
FC |
Codice Fiscale |
CHAMBER |
Visura Camerale |
DEED |
Atto Costitutivo |
CERT |
Certificato Attribuzione P.IVA |
OTHER |
Altro |
Tipi di anomalia
I possibili codici restituiti nel campo codes delle anomalie Darwin sono:
| Codice | Descrizione |
|---|---|
1010 |
Classifier predicted bad registrant organization name |
1020 |
Language impossible to detect for registrant organization |
1030 |
Language inconsistent with the nationality field |
1040 |
Language inconsistent with the country field |
1050 |
Person name similar to a company name |
1060 |
Person name inconsistent with Fiscal Code |
1070 |
Name inconsistent with VAT validation |
1080 |
Org value set NOT OK by an operator |
2010 |
Nationality must be equal to country |
2020 |
Nationality set NOT OK by an operator |
3010 |
Classifier predicted bad registrant address |
3020 |
Language impossible to detect for registrant address |
3030 |
Registrant address not found |
3040 |
Address inconsistent with the country code |
3050 |
Address inconsistent with VAT validation |
3060 |
Address set NOT OK by an operator |
4010 |
Irregular Fiscal Code or VAT number |
4020 |
VIES check failed |
4021 |
VAT number not found |
4022 |
VAT name anomaly |
4023 |
VAT address anomaly |
4030 |
Many different registrants with this regcode |
4040 |
F.C. or VAT number set NOT OK by an operator |
Richieste Darwin
Cercare le richieste
1.0 | darwin | admin / domain / darwin |
GET https://api.nic.it/v1/darwin/requests
Permette di ottenere l'elenco paginato delle richieste Darwin. I filtri disponibili sono:
| Parametro | Descrizione |
|---|---|
referenceContactOrg |
ricerca per organizzazione del contatto di riferimento (startsWith) |
referenceContactRegcode |
ricerca per codice identificativo del contatto di riferimento |
registrarAssignation |
filtra per stato di assegnazione |
status |
filtra per stato della richiesta |
page |
pagina dei risultati, default 0 |
size |
numero di elementi per pagina, default 20 |
view |
aggiunge informazioni extra; i valori ammessi sono referenceContact e expirationDays, separati da virgola |
GET /v1/darwin/requests?status=pending®istrarAssignation=assignedToMe&view=referenceContact,expirationDays HTTP/1.1
Accept: application/json
Host: api.nic.it
Authorization: Bearer token...
HTTP/1.1 200 OK
Content-Type: application/json
{
"elements" : [ {
"id" : 125,
"registrarId" : 10,
"status" : "pending",
"statusDate" : "2024-04-10T09:14:21+02:00",
"created" : "2024-04-08T11:30:00+02:00",
"expirationDays" : 5,
"referenceContact" : {
"contactId" : 101,
"requestId" : 125,
"registrarContactId" : "C-1001",
"dbnaId" : 998877,
"org" : "Example S.r.l.",
"regcode" : "RSSMRA80A01H501Z"
}
} ],
"page" : {
"page" : 0,
"size" : 20,
"totalElements" : 1,
"totalPages" : 1
}
}
curl "https://api.nic.it/v1/darwin/requests?status=pending®istrarAssignation=assignedToMe&view=referenceContact,expirationDays" \
-H "Accept: application/json" \
-H "Authorization: Bearer token..."
{
"elements" : [ {
"id" : 125,
"registrarId" : 10,
"status" : "pending",
"statusDate" : "2024-04-10T09:14:21+02:00",
"created" : "2024-04-08T11:30:00+02:00",
"expirationDays" : 5,
"referenceContact" : {
"contactId" : 101,
"requestId" : 125,
"registrarContactId" : "C-1001",
"dbnaId" : 998877,
"org" : "Example S.r.l.",
"regcode" : "RSSMRA80A01H501Z"
}
} ],
"page" : {
"page" : 0,
"size" : 20,
"totalElements" : 1,
"totalPages" : 1
}
}
I risultati della ricerca sono paginati.
Contare le richieste
1.0 | darwin | admin / domain / darwin |
GET https://api.nic.it/v1/darwin/requests/count
Restituisce il numero di richieste che soddisfano gli stessi filtri disponibili nella ricerca.
Ottenere le richieste in scadenza
1.0 | darwin | admin / domain / darwin |
GET https://api.nic.it/v1/darwin/requests/expiring?days={days}
Restituisce l'elenco paginato delle richieste in scadenza entro il numero di giorni indicato da days. Sono disponibili gli stessi filtri di ricerca relativi al contatto di riferimento e allo stato di assegnazione.
GET /v1/darwin/requests/expiring?days=7®istrarAssignation=assignedToMe&view=referenceContact,expirationDays HTTP/1.1
Accept: application/json
Host: api.nic.it
Authorization: Bearer token...
HTTP/1.1 200 OK
Content-Type: application/json
{
"elements" : [ {
"id" : 125,
"registrarId" : 10,
"status" : "pending",
"statusDate" : "2024-04-10T09:14:21+02:00",
"created" : "2024-04-08T11:30:00+02:00",
"expirationDays" : 5,
"referenceContact" : {
"contactId" : 101,
"requestId" : 125,
"registrarContactId" : "C-1001",
"dbnaId" : 998877,
"org" : "Example S.r.l.",
"regcode" : "RSSMRA80A01H501Z"
}
} ],
"page" : {
"page" : 0,
"size" : 20,
"totalElements" : 1,
"totalPages" : 1
}
}
curl "https://api.nic.it/v1/darwin/requests/expiring?days=7®istrarAssignation=assignedToMe&view=referenceContact,expirationDays" \
-H "Accept: application/json" \
-H "Authorization: Bearer token..."
{
"elements" : [ {
"id" : 125,
"registrarId" : 10,
"status" : "pending",
"statusDate" : "2024-04-10T09:14:21+02:00",
"created" : "2024-04-08T11:30:00+02:00",
"expirationDays" : 5,
"referenceContact" : {
"contactId" : 101,
"requestId" : 125,
"registrarContactId" : "C-1001",
"dbnaId" : 998877,
"org" : "Example S.r.l.",
"regcode" : "RSSMRA80A01H501Z"
}
} ],
"page" : {
"page" : 0,
"size" : 20,
"totalElements" : 1,
"totalPages" : 1
}
}
I risultati della ricerca sono paginati.
Contare le richieste in scadenza
1.0 | darwin | admin / domain / darwin |
GET https://api.nic.it/v1/darwin/requests/expiring/count?days={days}
Restituisce il numero di richieste in scadenza entro il numero di giorni indicato.
Ottenere una richiesta per identificativo
1.0 | darwin | admin / domain / darwin |
GET https://api.nic.it/v1/darwin/requests/{requestId}
Restituisce il dettaglio della richiesta. Anche in questo caso il parametro facoltativo view permette di includere referenceContact e expirationDays.
GET /v1/darwin/requests/125?view=referenceContact,expirationDays HTTP/1.1
Accept: application/json
Host: api.nic.it
Authorization: Bearer token...
HTTP/1.1 200 OK
Content-Type: application/json
{
"id" : 125,
"registrarId" : 10,
"status" : "pending",
"statusDate" : "2024-04-10T09:14:21+02:00",
"note" : "Verifica dati anagrafici del registrante",
"created" : "2024-04-08T11:30:00+02:00",
"expirationDays" : 5,
"referenceContact" : {
"contactId" : 101,
"requestId" : 125,
"registrarContactId" : "C-1001",
"dbnaId" : 998877,
"org" : "Example S.r.l.",
"regcode" : "RSSMRA80A01H501Z"
},
"requiredDocuments" : {
"documents" : [ "IC", "FC" ]
},
"registrarUser" : {
"id" : 123,
"username" : "darwin.user",
"name" : "Mario Rossi"
}
}
curl "https://api.nic.it/v1/darwin/requests/125?view=referenceContact,expirationDays" \
-H "Accept: application/json" \
-H "Authorization: Bearer token..."
{
"id" : 125,
"registrarId" : 10,
"status" : "pending",
"statusDate" : "2024-04-10T09:14:21+02:00",
"note" : "Verifica dati anagrafici del registrante",
"created" : "2024-04-08T11:30:00+02:00",
"expirationDays" : 5,
"referenceContact" : {
"contactId" : 101,
"requestId" : 125,
"registrarContactId" : "C-1001",
"dbnaId" : 998877,
"org" : "Example S.r.l.",
"regcode" : "RSSMRA80A01H501Z"
},
"requiredDocuments" : {
"documents" : [ "IC", "FC" ]
},
"registrarUser" : {
"id" : 123,
"username" : "darwin.user",
"name" : "Mario Rossi"
}
}
Ottenere le anomalie di una richiesta
1.0 | darwin | admin / domain / darwin |
GET https://api.nic.it/v1/darwin/requests/{requestId}/anomalies
Restituisce l'elenco delle anomalie associate alla richiesta. Ogni anomalia contiene:
field: campo anomalo;codes: lista dei codici di anomalia;contacts: eventuale elenco dei contatti coinvolti.
Ottenere il contatto di riferimento scelto
1.0 | darwin | admin / domain / darwin |
GET https://api.nic.it/v1/darwin/requests/{requestId}/referenceContact
Restituisce i dati del contatto scelto come riferimento per la richiesta: identificativi Darwin e DBNA, registrarContactId, organizzazione e codice identificativo.
Ottenere i giorni mancanti alla scadenza
1.0 | darwin | admin / domain / darwin |
GET https://api.nic.it/v1/darwin/requests/{requestId}/expirationDays
Restituisce il numero di giorni mancanti alla scadenza della richiesta.
Prendere in carico una richiesta
1.0 | darwin | admin / domain |
POST https://api.nic.it/v1/darwin/requests/{requestId}/assignToMe
Assegna la richiesta all'utente autenticato. Il metodo può restituire 409 Conflict se la richiesta è già assegnata oppure se il suo stato non è compatibile con l'operazione.
Assegnare una richiesta a un utente
POST https://api.nic.it/v1/darwin/requests/{requestId}/assignToUser
Permette a un utente admin di assegnare la richiesta a uno specifico utente Darwin tramite il payload seguente:
Rilasciare l'assegnazione
1.0 | darwin | admin / domain |
POST https://api.nic.it/v1/darwin/requests/{requestId}/assignationRelease
Rilascia l'assegnazione della richiesta. Il metodo può restituire 409 Conflict se la richiesta non risulta assegnata oppure se il suo stato non è compatibile con l'operazione.
Processare una richiesta
1.0 | darwin | admin / domain / darwin |
POST https://api.nic.it/v1/darwin/requests/{requestId}/process
Avvia l'elaborazione della richiesta e restituisce lo stato aggiornato della risorsa. In caso di dati mancanti o incoerenti il servizio restituisce 400 Bad Request.
Contatti Darwin
Cercare i contatti
1.0 | darwin | admin / domain / darwin |
GET https://api.nic.it/v1/darwin/contacts
Permette di cercare i contatti Darwin collegati alle richieste, con i filtri seguenti:
| Parametro | Descrizione |
|---|---|
action |
filtra per azione (todo, hold, delete) |
dbnaId |
identificativo numerico del contatto in DBNA |
registrarContactId |
identificativo del contatto assegnato dal Registrar |
requestId |
identificativo della richiesta Darwin |
page |
pagina dei risultati, default 0 |
size |
numero di elementi per pagina, default 20 |
Ogni elemento contiene, tra gli altri, id, dbnaId, requestId, registrarContactId, action, status e il flag reference.
I risultati della ricerca sono paginati.
Contare i contatti
1.0 | darwin | admin / domain / darwin |
GET https://api.nic.it/v1/darwin/contacts/count
Restituisce il numero totale dei contatti che soddisfano i filtri di ricerca.
Ottenere un contatto
1.0 | darwin | admin / domain / darwin |
GET https://api.nic.it/v1/darwin/contacts/{contactId}
Restituisce il dettaglio del contatto Darwin.
Modificare l'azione di un contatto
1.0 | darwin | admin / domain / darwin |
PATCH https://api.nic.it/v1/darwin/contacts/{contactId}
Permette di modificare l'azione associata a un singolo contatto:
Modificare in blocco l'azione dei contatti di una richiesta
1.0 | darwin | admin / domain / darwin |
PUT https://api.nic.it/v1/darwin/contacts/changeAction/request/{requestId}
Applica la stessa azione a tutti i contatti collegati alla richiesta indicata.
Ottenere le anomalie di un contatto
1.0 | darwin | admin / domain / darwin |
GET https://api.nic.it/v1/darwin/contacts/{contactId}/anomalies
Se il parametro facoltativo all=true è presente, il servizio restituisce sia le anomalie generali sia quelle specifiche del contatto.
Ottenere i dati DBNA del contatto
1.0 | darwin | admin / domain / darwin |
GET https://api.nic.it/v1/darwin/contacts/{contactId}/dbna
Restituisce i dati del contatto così come presenti in DBNA.
GET /v1/darwin/contacts/101/dbna HTTP/1.1
Accept: application/json
Host: api.nic.it
Authorization: Bearer token...
HTTP/1.1 200 OK
Content-Type: application/json
{
"id" : 998877,
"name" : "Mario Rossi",
"org" : "Example S.r.l.",
"contactId" : "C-1001",
"consentForPublish" : true,
"email" : "info@example.it",
"voice" : "+39.0612345678",
"streets" : [ "Via Roma 1" ],
"city" : "Roma",
"postalCode" : "00100",
"state" : "RM",
"country" : "it",
"registrant" : {
"regcode" : "RSSMRA80A01H501Z",
"nationality" : "it",
"entityType" : 1
},
"status" : "ok / linked",
"linked" : true
}
curl "https://api.nic.it/v1/darwin/contacts/101/dbna" \
-H "Accept: application/json" \
-H "Authorization: Bearer token..."
{
"id" : 998877,
"name" : "Mario Rossi",
"org" : "Example S.r.l.",
"contactId" : "C-1001",
"consentForPublish" : true,
"email" : "info@example.it",
"voice" : "+39.0612345678",
"streets" : [ "Via Roma 1" ],
"city" : "Roma",
"postalCode" : "00100",
"state" : "RM",
"country" : "it",
"registrant" : {
"regcode" : "RSSMRA80A01H501Z",
"nationality" : "it",
"entityType" : 1
},
"status" : "ok / linked",
"linked" : true
}
Aggiornamenti dati del contatto
Gli aggiornamenti dei dati del contatto permettono di proporre una nuova versione dei dati anagrafici da associare alla richiesta Darwin.
Il payload di contactData contiene i seguenti campi principali:
nameorgstreetsda 1 a 3 valoricitystatepostalCodecountry(non modificabile dal Registrar)voicefaxemailconsentForPublishregistrant.regcode
I campi registrant.nationality e registrant.entityType sono in sola lettura.
Elencare gli aggiornamenti di una richiesta
1.0 | darwin | admin / domain / darwin |
GET https://api.nic.it/v1/darwin/contactUpdates?requestId={requestId}
Restituisce tutti gli aggiornamenti inseriti per la richiesta.
GET /v1/darwin/contactUpdates?requestId=125 HTTP/1.1
Accept: application/json
Host: api.nic.it
Authorization: Bearer token...
HTTP/1.1 200 OK
Content-Type: application/json
[ {
"id" : 501,
"requestId" : 125,
"message" : "Aggiornamento dati richiesto dal registrante",
"contactData" : {
"name" : "Mario Rossi",
"org" : "Example S.r.l.",
"streets" : [ "Via Roma 1" ],
"city" : "Roma",
"state" : "RM",
"postalCode" : "00100",
"country" : "IT",
"voice" : "+39.0612345678",
"email" : "info@example.it",
"consentForPublish" : true,
"registrant" : {
"regcode" : "RSSMRA80A01H501Z"
}
},
"created" : "2024-04-10T09:30:00+02:00"
} ]
curl "https://api.nic.it/v1/darwin/contactUpdates?requestId=125" \
-H "Accept: application/json" \
-H "Authorization: Bearer token..."
[ {
"id" : 501,
"requestId" : 125,
"message" : "Aggiornamento dati richiesto dal registrante",
"contactData" : {
"name" : "Mario Rossi",
"org" : "Example S.r.l.",
"streets" : [ "Via Roma 1" ],
"city" : "Roma",
"state" : "RM",
"postalCode" : "00100",
"country" : "IT",
"voice" : "+39.0612345678",
"email" : "info@example.it",
"consentForPublish" : true,
"registrant" : {
"regcode" : "RSSMRA80A01H501Z"
}
},
"created" : "2024-04-10T09:30:00+02:00"
} ]
Ottenere l'aggiornamento corrente
1.0 | darwin | admin / domain / darwin |
GET https://api.nic.it/v1/darwin/contactUpdates/current?requestId={requestId}
Restituisce l'ultimo aggiornamento inserito per la richiesta.
GET /v1/darwin/contactUpdates/current?requestId=125 HTTP/1.1
Accept: application/json
Host: api.nic.it
Authorization: Bearer token...
HTTP/1.1 200 OK
Content-Type: application/json
{
"id" : 501,
"requestId" : 125,
"message" : "Aggiornamento dati richiesto dal registrante",
"contactData" : {
"name" : "Mario Rossi",
"org" : "Example S.r.l.",
"streets" : [ "Via Roma 1" ],
"city" : "Roma",
"state" : "RM",
"postalCode" : "00100",
"country" : "IT",
"voice" : "+39.0612345678",
"email" : "info@example.it",
"consentForPublish" : true,
"registrant" : {
"regcode" : "RSSMRA80A01H501Z"
}
},
"created" : "2024-04-10T09:30:00+02:00"
}
curl "https://api.nic.it/v1/darwin/contactUpdates/current?requestId=125" \
-H "Accept: application/json" \
-H "Authorization: Bearer token..."
{
"id" : 501,
"requestId" : 125,
"message" : "Aggiornamento dati richiesto dal registrante",
"contactData" : {
"name" : "Mario Rossi",
"org" : "Example S.r.l.",
"streets" : [ "Via Roma 1" ],
"city" : "Roma",
"state" : "RM",
"postalCode" : "00100",
"country" : "IT",
"voice" : "+39.0612345678",
"email" : "info@example.it",
"consentForPublish" : true,
"registrant" : {
"regcode" : "RSSMRA80A01H501Z"
}
},
"created" : "2024-04-10T09:30:00+02:00"
}
Ottenere un aggiornamento per identificativo
1.0 | darwin | admin / domain / darwin |
GET https://api.nic.it/v1/darwin/contactUpdates/{contactUpdateId}
Restituisce il dettaglio di un aggiornamento specifico.
GET /v1/darwin/contactUpdates/501 HTTP/1.1
Accept: application/json
Host: api.nic.it
Authorization: Bearer token...
HTTP/1.1 200 OK
Content-Type: application/json
{
"id" : 501,
"requestId" : 125,
"message" : "Aggiornamento dati richiesto dal registrante",
"contactData" : {
"name" : "Mario Rossi",
"org" : "Example S.r.l.",
"streets" : [ "Via Roma 1" ],
"city" : "Roma",
"state" : "RM",
"postalCode" : "00100",
"country" : "IT",
"voice" : "+39.0612345678",
"email" : "info@example.it",
"consentForPublish" : true,
"registrant" : {
"regcode" : "RSSMRA80A01H501Z"
}
},
"created" : "2024-04-10T09:30:00+02:00"
}
curl "https://api.nic.it/v1/darwin/contactUpdates/501" \
-H "Accept: application/json" \
-H "Authorization: Bearer token..."
{
"id" : 501,
"requestId" : 125,
"message" : "Aggiornamento dati richiesto dal registrante",
"contactData" : {
"name" : "Mario Rossi",
"org" : "Example S.r.l.",
"streets" : [ "Via Roma 1" ],
"city" : "Roma",
"state" : "RM",
"postalCode" : "00100",
"country" : "IT",
"voice" : "+39.0612345678",
"email" : "info@example.it",
"consentForPublish" : true,
"registrant" : {
"regcode" : "RSSMRA80A01H501Z"
}
},
"created" : "2024-04-10T09:30:00+02:00"
}
Creare un aggiornamento
1.0 | darwin | admin / domain / darwin |
POST https://api.nic.it/v1/darwin/contactUpdates
Esempio di payload:
{
"requestId" : 125,
"message" : "Aggiornamento dati richiesto dal registrante",
"contactData" : {
"name" : "Mario Rossi",
"org" : "Example S.r.l.",
"streets" : [ "Via Roma 1" ],
"city" : "Roma",
"state" : "RM",
"postalCode" : "00100",
"country" : "IT",
"voice" : "+39.0612345678",
"email" : "info@example.it",
"consentForPublish" : true,
"registrant" : {
"regcode" : "RSSMRA80A01H501Z"
}
}
}
Il servizio restituisce 201 Created con l'aggiornamento creato. In caso di stato non compatibile della richiesta viene restituito 409 Conflict.
POST /v1/darwin/contactUpdates HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: api.nic.it
Authorization: Bearer token...
{
"requestId" : 125,
"message" : "Aggiornamento dati richiesto dal registrante",
"contactData" : {
"name" : "Mario Rossi",
"org" : "Example S.r.l.",
"streets" : [ "Via Roma 1" ],
"city" : "Roma",
"state" : "RM",
"postalCode" : "00100",
"country" : "IT",
"voice" : "+39.0612345678",
"email" : "info@example.it",
"consentForPublish" : true,
"registrant" : {
"regcode" : "RSSMRA80A01H501Z"
}
}
}
HTTP/1.1 201 Created
Content-Type: application/json
{
"id" : 501,
"requestId" : 125,
"message" : "Aggiornamento dati richiesto dal registrante",
"contactData" : {
"name" : "Mario Rossi",
"org" : "Example S.r.l.",
"streets" : [ "Via Roma 1" ],
"city" : "Roma",
"state" : "RM",
"postalCode" : "00100",
"country" : "IT",
"voice" : "+39.0612345678",
"email" : "info@example.it",
"consentForPublish" : true,
"registrant" : {
"regcode" : "RSSMRA80A01H501Z"
}
},
"created" : "2024-04-10T09:30:00+02:00"
}
curl -X POST "https://api.nic.it/v1/darwin/contactUpdates" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer token..." \
-d '{
"requestId" : 125,
"message" : "Aggiornamento dati richiesto dal registrante",
"contactData" : {
"name" : "Mario Rossi",
"org" : "Example S.r.l.",
"streets" : [ "Via Roma 1" ],
"city" : "Roma",
"state" : "RM",
"postalCode" : "00100",
"country" : "IT",
"voice" : "+39.0612345678",
"email" : "info@example.it",
"consentForPublish" : true,
"registrant" : {
"regcode" : "RSSMRA80A01H501Z"
}
}
}'
{
"id" : 501,
"requestId" : 125,
"message" : "Aggiornamento dati richiesto dal registrante",
"contactData" : {
"name" : "Mario Rossi",
"org" : "Example S.r.l.",
"streets" : [ "Via Roma 1" ],
"city" : "Roma",
"state" : "RM",
"postalCode" : "00100",
"country" : "IT",
"voice" : "+39.0612345678",
"email" : "info@example.it",
"consentForPublish" : true,
"registrant" : {
"regcode" : "RSSMRA80A01H501Z"
}
},
"created" : "2024-04-10T09:30:00+02:00"
}
Validare i dati di un aggiornamento
1.0 | darwin | admin / domain / darwin |
POST https://api.nic.it/v1/darwin/contactUpdates/validate
Valida il payload di un aggiornamento senza creare nuove risorse. In caso di esito positivo restituisce 204 No Content.
POST /v1/darwin/contactUpdates/validate HTTP/1.1
Content-Type: application/json
Host: api.nic.it
Authorization: Bearer token...
{
"requestId" : 125,
"contactData" : {
"name" : "Mario Rossi",
"org" : "Example S.r.l.",
"streets" : [ "Via Roma 1" ],
"city" : "Roma",
"state" : "RM",
"postalCode" : "00100",
"country" : "IT",
"voice" : "+39.0612345678",
"email" : "info@example.it",
"consentForPublish" : true,
"registrant" : {
"regcode" : "RSSMRA80A01H501Z"
}
}
}
curl -X POST "https://api.nic.it/v1/darwin/contactUpdates/validate" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer token..." \
-d '{
"requestId" : 125,
"contactData" : {
"name" : "Mario Rossi",
"org" : "Example S.r.l.",
"streets" : [ "Via Roma 1" ],
"city" : "Roma",
"state" : "RM",
"postalCode" : "00100",
"country" : "IT",
"voice" : "+39.0612345678",
"email" : "info@example.it",
"consentForPublish" : true,
"registrant" : {
"regcode" : "RSSMRA80A01H501Z"
}
}
}'
Domini Darwin
Cercare i domini
1.0 | darwin | admin / domain / darwin |
GET https://api.nic.it/v1/darwin/domains
Permette di cercare i domini coinvolti in una o più richieste Darwin. I filtri disponibili sono:
contactIddbnaIddomainregistrarContactIdrequestIdpagesize
I risultati della ricerca sono paginati.
Contare i domini
1.0 | darwin | admin / domain / darwin |
GET https://api.nic.it/v1/darwin/domains/count
Restituisce il numero totale dei domini che soddisfano i filtri indicati.
Ottenere un dominio
1.0 | darwin | admin / domain / darwin |
GET https://api.nic.it/v1/darwin/domains/{id}
Restituisce il dettaglio di un dominio Darwin, incluso lo stato (locked, incompatible, rejected, processed).
Ottenere i dati DBNA di un dominio
1.0 | darwin | admin / domain / darwin |
GET https://api.nic.it/v1/darwin/domains/{id}/dbna
Restituisce i dati del dominio così come presenti in DBNA.
GET /v1/darwin/domains/301/dbna HTTP/1.1
Accept: application/json
Host: api.nic.it
Authorization: Bearer token...
HTTP/1.1 200 OK
Content-Type: application/json
{
"id" : 778899,
"domain" : "example.it",
"status" : "ok / clientUpdateProhibited",
"signed" : false,
"registrantId" : 998877,
"created" : "2023-04-16T11:24:20+02:00",
"lastupdate" : "2024-04-16T11:24:20+02:00",
"expire" : "2025-04-16T23:59:59+02:00",
"registered" : true
}
Documenti Darwin
Cercare i documenti
1.0 | darwin | admin / domain / darwin |
GET https://api.nic.it/v1/darwin/documents
Permette di cercare i documenti caricati per le richieste Darwin usando i filtri:
documentTyperequestIdpagesize
GET /v1/darwin/documents?requestId=125&documentType=IC HTTP/1.1
Accept: application/json
Host: api.nic.it
Authorization: Bearer token...
HTTP/1.1 200 OK
Content-Type: application/json
{
"elements" : [ {
"id" : "a1b2c3",
"requestId" : 125,
"fileName" : "documento-identita.pdf",
"fileSize" : 248392,
"documentType" : "IC",
"fileType" : "pdf",
"note" : "Documento del registrante",
"created" : "2024-04-10T09:45:00+02:00"
} ],
"page" : {
"page" : 0,
"size" : 20,
"totalElements" : 1,
"totalPages" : 1
}
}
curl "https://api.nic.it/v1/darwin/documents?requestId=125&documentType=IC" \
-H "Accept: application/json" \
-H "Authorization: Bearer token..."
{
"elements" : [ {
"id" : "a1b2c3",
"requestId" : 125,
"fileName" : "documento-identita.pdf",
"fileSize" : 248392,
"documentType" : "IC",
"fileType" : "pdf",
"note" : "Documento del registrante",
"created" : "2024-04-10T09:45:00+02:00"
} ],
"page" : {
"page" : 0,
"size" : 20,
"totalElements" : 1,
"totalPages" : 1
}
}
I risultati della ricerca sono paginati.
Contare i documenti
1.0 | darwin | admin / domain / darwin |
GET https://api.nic.it/v1/darwin/documents/count
Restituisce il numero totale dei documenti trovati.
Ottenere un documento
1.0 | darwin | admin / domain / darwin |
GET https://api.nic.it/v1/darwin/documents/{documentId}
Restituisce i metadati del documento, tra cui fileName, fileSize, documentType, fileType, note e created.
Creare un documento
1.0 | darwin | admin / domain / darwin |
PUT https://api.nic.it/v1/darwin/documents
Crea un nuovo documento per una richiesta Darwin. Il file caricato deve avere application/pdf o image/jpeg come content type. In caso di file troppo grande il servizio restituisce 413 Request Entity Too Large. Per il dettaglio del payload di upload e dei campi richiesti si rimanda alla documentazione OpenAPI della specifica operazione.
PUT /v1/darwin/documents HTTP/1.1
Content-Type: multipart/form-data; boundary=------------------------abcdef1234567890
Host: api.nic.it
Authorization: Bearer token...
--------------------------abcdef1234567890
Content-Disposition: form-data; name="document"
Content-Type: application/json
{
"requestId" : 125,
"documentType" : "IC",
"note" : "Documento del registrante"
}
--------------------------abcdef1234567890
Content-Disposition: form-data; name="file"; filename="documento-identita.pdf"
Content-Type: application/pdf
...binary content...
--------------------------abcdef1234567890--
Eliminare un documento
1.0 | darwin | admin / domain / darwin |
DELETE https://api.nic.it/v1/darwin/documents/{documentId}
Elimina un documento precedentemente caricato.
Scaricare un documento
1.0 | darwin | admin / domain / darwin |
GET https://api.nic.it/v1/darwin/documents/{documentId}/download
Restituisce il contenuto binario del documento.
Eventi Darwin
Cercare gli eventi di una richiesta
1.0 | darwin | admin / domain / darwin |
GET https://api.nic.it/v1/darwin/events?requestId={requestId}
Restituisce l'elenco paginato degli eventi associati a una richiesta. Il parametro type permette di filtrare per tipo di evento.
I principali tipi di evento previsti dall'API sono:
submittedrejectedtoPendingregistrarUpdatedregistrarUpdateRejectedregistrarUpdateApprovedtoProcessingexpiredcompletedexpiredCompletedupdatedRequiredDocumentscancelledcancelledCompletedregistryUpdatedregistrarUserAssignationregistrarUserReleaseregistryUserAssignationregistryUserRelease
GET /v1/darwin/events?requestId=125&type=registrarUpdated HTTP/1.1
Accept: application/json
Host: api.nic.it
Authorization: Bearer token...
HTTP/1.1 200 OK
Content-Type: application/json
{
"elements" : [ {
"requestId" : 125,
"type" : "registrarUpdated",
"user" : "darwin.user",
"message" : "Aggiornamento dati inserito dal Registrar",
"created" : "2024-04-10T09:30:00+02:00"
} ],
"page" : {
"page" : 0,
"size" : 20,
"totalElements" : 1,
"totalPages" : 1
}
}
I risultati della ricerca sono paginati.
Contare gli eventi
1.0 | darwin | admin / domain / darwin |
GET https://api.nic.it/v1/darwin/events/count?requestId={requestId}
Restituisce il numero totale di eventi della richiesta, opzionalmente filtrati per type.
Errori applicativi più comuni
Oltre ai codici HTTP standard (401 Unauthorized, 403 Forbidden, 404 Not Found), gli endpoint Darwin possono restituire:
400 Bad Requestper parametri mancanti, payload non valido o dati incoerenti;409 Conflictper operazioni non compatibili con lo stato corrente della richiesta o dell'assegnazione;413 Request Entity Too Largedurante il caricamento di documenti troppo grandi.