> ## 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.

# Australien Geburtsurkunden-Verifizierung API - DVS

> Didit prüft Geburtsurkunden in Australien über die offizielle Datenbank per DVS. Pro Abfrage ab $0.75, ohne Verträge oder Mindestabnahme.

Prüft Eingabedaten anhand des Document Verification Service (DVS). Didit stellt diesen Dienst über `POST /v3/database-validation/` bereit, damit Sie die übermittelten Daten mit der maßgeblichen Quelle abgleichen und normalisierte Ergebnisse erhalten.

## Abdeckung

* **Abdeckung:** 100%\*
* **Land:** Australien
* **Service-ID:** `aus_birth_certificate`
* **Datenbereich:** Identität
* **Kategorie:** BirthRecord

## Eingaben

| Feld | Pflichtfeld | Beispiel |
| - | -: | - |
| `first_name` | Ja | `John` |
| `last_name` | Ja | `Doe` |
| `date_of_birth` | Ja | `1990-01-01` |
| `birth_registration_number` | Ja | `SAMPLE-BIRTH-12345` |
| `birth_registration_date` | Ja | `1990-01-01` |
| `birth_registration_state` | Ja | `Sample State` |
| `middle_name` | Nein | `Demo` |
| `vendor_data` | Nein | `user-1234` |

* **Pflichteingaben:** `first_name`, `last_name`, `date_of_birth`, `birth_registration_number`, `birth_registration_date`, `birth_registration_state`
* **Optionale Eingaben:** `middle_name`, `vendor_data`
* **Einwilligung:** Erforderlich
* **Verfügbarkeit im Workflow:** Im Workflow mit Feldzuordnung verfügbar
* **Abdeckung:** 100%\*
* **Preis:** \$0.75 pro erfolgreicher Abfrage

Im Workflow sind `birth_registration_date` und `birth_registration_state` nicht auf einem Ausweisdokument aufgedruckt, daher liefert kein Schritt diese Werte von selbst. Erheben Sie sie über eine Fragebogen-Antwort, ein Feld aus einer Document AI-Extraktion oder einen Wert, den Sie beim Erstellen der Sitzung übergeben, und ordnen Sie jeden Wert im Schritt Datenbankvalidierung zu. Solange sie nicht zugeordnet sind, zeigt der Workflow-Editor diesen Service als deaktiviert an und nennt die fehlende Eingabe. Fehlt eine Eingabe zur Laufzeit, wird die Prüfung vor jeder Abfrage übersprungen. Dafür wird Ihnen niemals eine Gebühr berechnet, da die Datenbank nicht abgefragt werden konnte.

## Body-Parameter

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

ISO 3166-1 Alpha-3-Ländercode für diesen Datenbankservice.

Beispiel: `AUS`

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

Array, das diese Service-ID enthält. Durch das Festlegen des Service bleibt die Anfrage auf genau diese Datenbank beschränkt.

Beispiel: `aus_birth_certificate`

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

Ausdrückliche Einwilligung des Endbenutzers für diesen Service.

Beispiel: `true`

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

Zu prüfender Vorname.

Beispiel: `John`

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

Zu prüfender Nachname.

Beispiel: `Doe`

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

Geburtsdatum im Format `YYYY-MM-DD`.

Beispiel: `1990-01-01`

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

Von diesem Datenbankservice benötigter Wert für `birth_registration_number`.

Beispiel: `SAMPLE-BIRTH-12345`

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

Von diesem Datenbankservice benötigter Wert für `birth_registration_date`.

Beispiel: `1990-01-01`

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

Von diesem Datenbankservice benötigter Wert für `birth_registration_state`.

Beispiel: `Sample State`

**middle\_name** `string`

Zweiter Vorname, sofern verfügbar.

Beispiel: `Demo`

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

Ihre stabile Benutzerreferenz für diese Person, etwa Ihre interne Benutzer-ID. Didit verwendet sie, um eigenständige Prüfungen derselben Endbenutzerin bzw. demselben Endbenutzer zuzuordnen und unnötige Dublettenmeldungen zu verringern.

Beispiel: `user-1234`

## Eingaberegeln & Validierungshinweise

* Senden Sie die oben aufgeführten Felder genau so, wie sie vom Benutzer oder aus dem Dokument erfasst wurden.
* Didit prüft Pflichtfelder, bevor die Datenbank abgefragt wird. Anfragen, die vor der Abfrage der Quelle abgelehnt werden, werden nicht berechnet.

## So rufen Sie es auf

```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));
```

Jeder erfolgreiche Aufruf liefert HTTP `200` zurück. Das Feld **`outcome_code`** zeigt an, was tatsächlich passiert ist. So lässt sich beispielsweise eine echte biometrische Nichtübereinstimmung (`BIOMETRIC_NO_MATCH`) von einem Selfie unterscheiden, das nicht ausgewertet werden konnte (`BIOMETRIC_IMAGE_UNUSABLE`). Der angezeigte `status` ist der Standardstatus der Funktion. Ihre konfigurierten [Aktionen für Teilübereinstimmung / keine Übereinstimmung](https://docs.didit.me/de/core-technology/database-validation/database-validation-warnings.md) können ihn überschreiben.

**`MATCH`**: Das Register hat die Identität bestätigt, und alle geprüften Felder stimmen überein.

```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`**: Die Identifikationsnummer wurde gefunden, aber ein oder mehrere personenbezogene Felder (meist Name oder Geburtsdatum) stimmen nicht vollständig überein.

```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`**: Das Register hat für die übermittelten Daten keine Übereinstimmung zurückgegeben.

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

## Zurückgegebene Daten

Welche Felder genau in `source_data` erscheinen, hängt davon ab, was das Register zurückliefert. Das generierte Beispiel für `aus_birth_certificate` dokumentiert derzeit diese normalisierte Struktur:

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

## Preise & SLAs

Australien - DVS - Geburtsurkunden-Abfragen werden nur berechnet, wenn Didit von der Validierungsquelle ein eindeutiges Ergebnis erhält.

* **Preis pro Aufruf:** \$0.75 USD.
* **Abrechnung:** pro erfolgreicher Abfrage. Ihnen wird nichts berechnet, wenn das Register nicht erreichbar ist, wenn erforderliche Felder fehlen oder wenn die Anfrage abgelehnt wird, bevor sie die Quelle erreicht.
* **Latenz:** typischer p95 \< 2 s.
* **Verfügbarkeit:** 99.9% pro Quartal auf Seiten von Didit; die Verfügbarkeit der nachgelagerten Quelle variiert je nach Land und Datensatz.

## Weiterlesen

* [Übersicht: Datenbankvalidierung für Australien](https://docs.didit.me/api-reference/database-validation/australia.md)
* [Übersicht: Datenbankvalidierung](https://docs.didit.me/de/core-technology/database-validation/overview.md)
* [Ergebniscodes](https://docs.didit.me/de/core-technology/database-validation/database-validation-outcome-codes.md)


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