> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Certificato di nascita Australia - DVS - API di verifica

> Verifica del certificato di nascita australiano su database ufficiale con Didit. Da $0.75 a chiamata, senza contratti né minimi.

Verifica i dati inseriti rispetto al Document Verification Service (DVS). Didit espone questo servizio tramite `POST /v3/database-validation/`, così puoi verificare i dati inviati rispetto alla fonte autorevole e ricevere risultati di corrispondenza normalizzati.

## Copertura

* **Copertura:** 100%\*
* **Paese:** Australia
* **ID servizio:** `aus_birth_certificate`
* **Dominio dei dati:** Identità
* **Categoria:** BirthRecord

## Input

| Campo | Obbligatorio | Esempio |
| - | -: | - |
| `first_name` | Sì | `John` |
| `last_name` | Sì | `Doe` |
| `date_of_birth` | Sì | `1990-01-01` |
| `birth_registration_number` | Sì | `SAMPLE-BIRTH-12345` |
| `birth_registration_date` | Sì | `1990-01-01` |
| `birth_registration_state` | Sì | `Sample State` |
| `middle_name` | No | `Demo` |
| `vendor_data` | No | `user-1234` |

* **Input obbligatori:** `first_name`, `last_name`, `date_of_birth`, `birth_registration_number`, `birth_registration_date`, `birth_registration_state`
* **Input facoltativi:** `middle_name`, `vendor_data`
* **Consenso:** Obbligatorio
* **Disponibilità nel workflow:** Disponibile nel workflow con mappatura dei campi
* **Copertura:** 100%\*
* **Prezzo:** \$0.75 per query riuscita

In un workflow, `birth_registration_date` e `birth_registration_state` non sono stampati su un documento d'identità, quindi nessun passaggio li produce da solo. Raccoglili da una risposta del questionario, da un campo estratto da Document AI oppure da un valore che invii al momento della creazione della sessione, e mappa ciascuno di essi nel passaggio Validazione su database. Finché non sono mappati, l'editor del workflow mostra questo servizio disabilitato e indica l'input mancante; in fase di esecuzione un input mancante significa che il controllo viene saltato prima di qualsiasi query, quindi non ti viene mai addebitato un database che non avrebbe potuto essere interrogato.

## Parametri del body

**issuing\_state** `string` *required* (default: AUS)

Codice paese ISO 3166-1 alpha-3 per questo servizio di database.

Esempio: `AUS`

**services** `string` *required* (default: aus\_birth\_certificate)

Array contenente l'ID di questo servizio. Specificare il servizio limita la richiesta esattamente a questo database.

Esempio: `aus_birth_certificate`

**consent** `boolean` *required* (default: true)

Consenso esplicito dell'utente finale per questo servizio.

Esempio: `true`

**first\_name** `string` *required* (default: John)

Nome da validare.

Esempio: `John`

**last\_name** `string` *required* (default: Doe)

Cognome da validare.

Esempio: `Doe`

**date\_of\_birth** `string` *required* (default: 1990-01-01)

Data di nascita nel formato `YYYY-MM-DD`.

Esempio: `1990-01-01`

**birth\_registration\_number** `string` *required* (default: SAMPLE-BIRTH-12345)

Valore `birth_registration_number` richiesto da questo servizio di database.

Esempio: `SAMPLE-BIRTH-12345`

**birth\_registration\_date** `string` *required* (default: 1990-01-01)

Valore `birth_registration_date` richiesto da questo servizio di database.

Esempio: `1990-01-01`

**birth\_registration\_state** `string` *required* (default: Sample State)

Valore `birth_registration_state` richiesto da questo servizio di database.

Esempio: `Sample State`

**middle\_name** `string`

Secondo nome, quando disponibile.

Esempio: `Demo`

**vendor\_data** `string` (default: user-1234)

Il tuo riferimento utente stabile per questa persona, come il tuo ID utente interno. Didit lo usa per collegare i controlli autonomi allo stesso utente finale e ridurre il rumore dei rilevamenti di duplicati.

Esempio: `user-1234`

## Regole di input e note di validazione

* Invia i campi elencati sopra esattamente come acquisiti dall'utente o dal documento.
* Didit valida i campi obbligatori prima di chiamare il database. Le richieste rifiutate prima della ricerca nella fonte non vengono addebitate.

## Come richiamarlo

```bash cURL theme={null}
curl -X POST "https://verification.didit.me/v3/database-validation/" \
  -H "x-api-key: YOUR_API_KEY" \
  -F "issuing_state=AUS" \
  -F "services=aus_birth_certificate" \
  -F "vendor_data=user-1234" \
  -F "consent=true" \
  -F "first_name=John" \
  -F "last_name=Doe" \
  -F "date_of_birth=1990-01-01" \
  -F "birth_registration_number=SAMPLE-BIRTH-12345" \
  -F "birth_registration_date=1990-01-01" \
  -F "birth_registration_state=Sample State"
```

```python Python theme={null}
from didit import Didit

# Reads DIDIT_API_KEY.
client = Didit()

result = client.database_validation.validate(
    issuing_state="AUS",
    services=["aus_birth_certificate"],
    consent=True,
    first_name="John",
    last_name="Doe",
    date_of_birth="1990-01-01",
    birth_registration_number="SAMPLE-BIRTH-12345",
    birth_registration_date="1990-01-01",
    birth_registration_state="Sample State",
    vendor_data="user-1234",
)
print(result)
```

```javascript Node.js theme={null}
import Didit from "@didit-protocol/sdk-node";

// Reads DIDIT_API_KEY.
const didit = new Didit();

const result = await didit.databaseValidation.validate({
  issuing_state: "AUS",
  services: ["aus_birth_certificate"],
  consent: true,
  first_name: "John",
  last_name: "Doe",
  date_of_birth: "1990-01-01",
  birth_registration_number: "SAMPLE-BIRTH-12345",
  birth_registration_date: "1990-01-01",
  birth_registration_state: "Sample State",
  vendor_data: "user-1234",
});
console.log(result);
```

```go Go theme={null}
ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()

result, err := client.DatabaseValidation.Validate(ctx, didit.DatabaseValidationValidateParams{
	IssuingState:            "AUS",
	Services:                didit.Some([]string{"aus_birth_certificate"}),
	Consent:                 didit.Bool(true),
	FirstName:               didit.String("John"),
	LastName:                didit.String("Doe"),
	DateOfBirth:             didit.String("1990-01-01"),
	BirthRegistrationNumber: didit.String("SAMPLE-BIRTH-12345"),
	BirthRegistrationDate:   didit.String("1990-01-01"),
	BirthRegistrationState:  didit.String("Sample State"),
	VendorData:              didit.String("user-1234"),
})
if err != nil {
	log.Fatal(err)
}
fmt.Printf("%+v\n", result)
```

```java Java theme={null}
import java.time.LocalDate;
import java.util.List;
import me.didit.Didit;
import me.didit.types.DatabaseValidationValidateParams;

// Reads DIDIT_API_KEY.
Didit client = new Didit();

var result = client.databaseValidation().validate(DatabaseValidationValidateParams.builder()
        .issuingState("AUS")
        .services(List.of("aus_birth_certificate"))
        .consent(true)
        .firstName("John")
        .lastName("Doe")
        .dateOfBirth(LocalDate.parse("1990-01-01"))
        .birthRegistrationNumber("SAMPLE-BIRTH-12345")
        .birthRegistrationDate(LocalDate.parse("1990-01-01"))
        .birthRegistrationState("Sample State")
        .vendorData("user-1234")
        .build());
System.out.println(result);
```

```php PHP theme={null}
<?php

require 'vendor/autoload.php';

use Didit\DiditClient;

// Reads DIDIT_API_KEY.
$didit = new DiditClient();

$result = $didit->databaseValidation->validate([
    'issuing_state' => 'AUS',
    'services' => ['aus_birth_certificate'],
    'consent' => true,
    'first_name' => 'John',
    'last_name' => 'Doe',
    'date_of_birth' => '1990-01-01',
    'birth_registration_number' => 'SAMPLE-BIRTH-12345',
    'birth_registration_date' => '1990-01-01',
    'birth_registration_state' => 'Sample State',
    'vendor_data' => 'user-1234',
]);
print_r($result->toArray());
```

```ruby Ruby theme={null}
require "didit"

# Reads DIDIT_API_KEY.
didit = Didit::Client.new

result = didit.database_validation.validate(
  issuing_state: "AUS",
  services: ["aus_birth_certificate"],
  consent: true,
  first_name: "John",
  last_name: "Doe",
  date_of_birth: "1990-01-01",
  birth_registration_number: "SAMPLE-BIRTH-12345",
  birth_registration_date: "1990-01-01",
  birth_registration_state: "Sample State",
  vendor_data: "user-1234"
)
puts result.to_h
```

```csharp .NET theme={null}
using System;
using System.Text.Json;
using Didit;

// Reads DIDIT_API_KEY.
using var client = new DiditClient();

var result = await client.DatabaseValidation.ValidateAsync(new DatabaseValidationValidateParams
{
    IssuingState = "AUS",
    Services = new string[] { "aus_birth_certificate" },
    Consent = true,
    FirstName = "John",
    LastName = "Doe",
    DateOfBirth = "1990-01-01",
    BirthRegistrationNumber = "SAMPLE-BIRTH-12345",
    BirthRegistrationDate = "1990-01-01",
    BirthRegistrationState = "Sample State",
    VendorData = "user-1234",
});
Console.WriteLine(JsonSerializer.Serialize(result));
```

Ogni chiamata riuscita restituisce HTTP `200`. Il campo **`outcome_code`** ti indica cosa è effettivamente accaduto, distinguendo, ad esempio, una reale mancata corrispondenza biometrica (`BIOMETRIC_NO_MATCH`) da un selfie che non è stato possibile leggere (`BIOMETRIC_IMAGE_UNUSABLE`). Lo `status` mostrato è lo stato predefinito della funzionalità; le [azioni configurate per corrispondenza parziale / nessuna corrispondenza](https://docs.didit.me/it/core-technology/database-validation/database-validation-warnings.md) possono sovrascriverlo.

**`MATCH`**: il registro ha confermato l'identità e ogni campo verificato corrisponde.

```json 200 OK — MATCH theme={null}
{
  "request_id": "req_01H…",
  "status": "Approved",
  "issuing_state": "AUS",
  "match_type": "full_match",
  "validations": [
    {
      "outcome_code": "MATCH",
      "service_id": "aus_birth_certificate",
      "service_name": "Australia - DVS - Birth Certificate",
      "source_data": {
        "date_of_birth": "1990-01-01",
        "first_name": "John",
        "identification_number": "SAMPLE-ID-12345",
        "last_name": "Doe",
        "middle_name": "Demo"
      },
      "validation": {
        "date_of_birth": "full_match",
        "full_name": "full_match",
        "identification_number": "full_match"
      }
    }
  ]
}
```

**`PARTIAL_MATCH`**: è stato trovato il numero di identificazione, ma uno o più campi personali (di solito nome o data di nascita) non corrispondono completamente.

```json 200 OK — PARTIAL_MATCH theme={null}
{
  "request_id": "req_01H…",
  "status": "In Review",
  "issuing_state": "AUS",
  "match_type": "partial_match",
  "validations": [
    {
      "outcome_code": "PARTIAL_MATCH",
      "service_id": "aus_birth_certificate",
      "service_name": "Australia - DVS - Birth Certificate",
      "source_data": {
        "date_of_birth": "1990-01-01",
        "first_name": "John",
        "identification_number": "SAMPLE-ID-12345",
        "last_name": "Doe",
        "middle_name": "Demo"
      },
      "validation": {
        "date_of_birth": "full_match",
        "full_name": "no_match",
        "identification_number": "full_match"
      }
    }
  ]
}
```

**`NO_MATCH`**: il registro non ha restituito alcuna corrispondenza per i dati inviati.

```json 200 OK — NO_MATCH theme={null}
{
  "request_id": "req_01H…",
  "status": "Declined",
  "issuing_state": "AUS",
  "match_type": "no_match",
  "validations": [
    {
      "outcome_code": "NO_MATCH",
      "service_id": "aus_birth_certificate",
      "service_name": "Australia - DVS - Birth Certificate",
      "source_data": {
        "date_of_birth": "NO_MATCH",
        "full_name": "NO_MATCH",
        "identification_number": "NO_MATCH"
      },
      "validation": {
        "date_of_birth": "no_match",
        "full_name": "no_match",
        "identification_number": "no_match"
      }
    }
  ]
}
```

## Dati restituiti

I campi esatti esposti in `source_data` dipendono da ciò che restituisce il registro. L'esempio generato per `aus_birth_certificate` documenta attualmente questa struttura normalizzata:

* `date_of_birth`
* `first_name`
* `identification_number`
* `last_name`
* `middle_name`

## Prezzi e SLA

Le query Australia - DVS - Birth Certificate vengono fatturate solo quando Didit riceve un risultato conclusivo dalla fonte di validazione.

* **Prezzo per chiamata:** \$0.75 USD.
* **Fatturazione:** per query riuscita. Non ti viene addebitato nulla quando il registro non è raggiungibile, quando mancano campi obbligatori o quando la richiesta viene respinta prima di raggiungere la fonte.
* **Latenza:** p95 tipico \< 2 s.
* **Disponibilità:** 99.9% per trimestre lato Didit; la disponibilità della fonte a valle varia in base al paese e al dataset.

## Continua a leggere

* [Panoramica della Validazione su database per l'Australia](https://docs.didit.me/api-reference/database-validation/australia.md)
* [Panoramica della Validazione su database](https://docs.didit.me/it/core-technology/database-validation/overview.md)
* [Codici di esito](https://docs.didit.me/it/core-technology/database-validation/database-validation-outcome-codes.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.