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

# Nigeria National ID (NIMC) Verifizierung API

> Didit: Nigeria National ID (NIMC) per Datenbankvalidierung prüfen. Ab $0.20 pro Verifizierung, ohne Verträge oder Mindestabnahme.

Prüft Daten gegen die Datenbank des nationalen Ausweisregisters. Didit stellt diesen Service über `POST /v3/database-validation/` bereit, damit Sie die übermittelten Daten mit der maßgeblichen Quelle abgleichen und normalisierte Abgleichsergebnisse erhalten.

## Abdeckung

* **Abdeckung:** \~ 100%
* **Land:** Nigeria
* **Service-ID:** `nga_national_id`
* **Datenbereich:** Identität
* **Kategorie:** NationalIDRegistry

## Eingaben

| Feld | Pflicht | Beispiel |
| - | -: | - |
| `first_name` | Ja | `John` |
| `last_name` | Ja | `Doe` |
| `national_id` | Ja | `11111111111` |
| `date_of_birth` | Nein | `1990-01-01` |
| `vendor_data` | Nein | `user-1234` |

* **Pflichteingaben:** `first_name`, `last_name`, `national_id`
* **Optionale Eingaben:** `date_of_birth`, `vendor_data`
* **Einwilligung:** Nicht erforderlich
* **Verfügbarkeit im Workflow:** Im Workflow verfügbar
* **Abdeckung:** \~ 100%
* **Preis:** \$0.20 pro erfolgreicher Abfrage

Nicht jedes Dokument, das dieser Service akzeptiert, enthält die Kennung, über die abgefragt wird. Wenn die Kennung nicht aus dem Dokument extrahiert wird, wird die Prüfung als **nicht zutreffend** erfasst: Es wird keine Datenbank abgefragt und Ihnen wird nichts berechnet. Bei manchen Ländern betrifft das einen großen Teil der realen Nutzer. Erfassen Sie die Kennung deshalb zusätzlich über eine Antwort aus einem Fragebogen, ein durch Document AI extrahiertes Feld oder einen Wert, den Sie beim Erstellen der Sitzung übermitteln, und ordnen Sie sie im Schritt Datenbankvalidierung zu.

## Body-Parameter

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

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

Beispiel: `NGA`

**services** `string` *required* (default: nga\_national\_id)

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

Beispiel: `nga_national_id`

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

Zu validierender Vorname.

Beispiel: `John`

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

Zu validierender Nachname.

Beispiel: `Doe`

**national\_id** `string` *required* (default: 11111111111)

Nationale Identitätsnummer für diesen Service.

Beispiel: `11111111111`

**date\_of\_birth** `string`

Geburtsdatum im Format `YYYY-MM-DD`.

Beispiel: `1990-01-01`

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

Ihre stabile Benutzerreferenz für diese Person, zum Beispiel Ihre interne Benutzer-ID. Didit verwendet sie, um eigenständige Prüfungen demselben Endbenutzer zuzuordnen und unnötige Meldungen zu Dubletten zu reduzieren.

Beispiel: `user-1234`

## Eingaberegeln & Hinweise zur Validierung

* `first_name` muss dem Muster `[A-Za-zÀ-ÖØ-öø-ÿ .'-]+` entsprechen.
* `national_id` darf nur Ziffern enthalten; entfernen Sie Leerzeichen, Bindestriche und Satzzeichen, bevor Sie die Anfrage senden.
* `national_id` muss genau 11 Zeichen lang sein.

## So rufen Sie den Service 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=NGA" \
  -F "services=nga_national_id" \
  -F "vendor_data=user-1234" \
  -F "first_name=John" \
  -F "last_name=Doe" \
  -F "national_id=11111111111"
```

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

# Reads DIDIT_API_KEY.
client = Didit()

result = client.database_validation.validate(
    issuing_state="NGA",
    services=["nga_national_id"],
    first_name="John",
    last_name="Doe",
    national_id="11111111111",
    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: "NGA",
  services: ["nga_national_id"],
  first_name: "John",
  last_name: "Doe",
  national_id: "11111111111",
  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: "NGA",
	Services:     didit.Some([]string{"nga_national_id"}),
	FirstName:    didit.String("John"),
	LastName:     didit.String("Doe"),
	NationalID:   didit.String("11111111111"),
	VendorData:   didit.String("user-1234"),
})
if err != nil {
	log.Fatal(err)
}
fmt.Printf("%+v\n", result)
```

```java Java theme={null}
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("NGA")
        .services(List.of("nga_national_id"))
        .firstName("John")
        .lastName("Doe")
        .nationalId("11111111111")
        .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' => 'NGA',
    'services' => ['nga_national_id'],
    'first_name' => 'John',
    'last_name' => 'Doe',
    'national_id' => '11111111111',
    '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: "NGA",
  services: ["nga_national_id"],
  first_name: "John",
  last_name: "Doe",
  national_id: "11111111111",
  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 = "NGA",
    Services = new string[] { "nga_national_id" },
    FirstName = "John",
    LastName = "Doe",
    NationalId = "11111111111",
    VendorData = "user-1234",
});
Console.WriteLine(JsonSerializer.Serialize(result));
```

Jeder erfolgreiche Aufruf gibt HTTP `200` zurück. Das Feld **`outcome_code`** zeigt, was tatsächlich passiert ist. So lässt sich zum Beispiel eine echte fehlende biometrische Übereinstimmung (`BIOMETRIC_NO_MATCH`) von einem Selfie unterscheiden, das nicht gelesen werden konnte (`BIOMETRIC_IMAGE_UNUSABLE`). Der angezeigte `status` ist der Standardstatus der Funktion. Ihre konfigurierten [Aktionen für Partial Match / No Match](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": "NGA",
  "match_type": "full_match",
  "validations": [
    {
      "outcome_code": "MATCH",
      "service_id": "nga_national_id",
      "service_name": "Nigeria National ID (NIMC)",
      "source_data": {
        "first_name": "John",
        "full_name": "John Doe",
        "identification_number": "SAMPLE-ID-12345",
        "last_name": "Doe",
        "name_match_score": "1.000"
      },
      "validation": {
        "full_name": "full_match",
        "identification_number": "full_match"
      }
    }
  ]
}
```

**`PARTIAL_MATCH`**: Die Identifikationsnummer wurde gefunden, aber ein oder mehrere persönliche 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": "NGA",
  "match_type": "partial_match",
  "validations": [
    {
      "outcome_code": "PARTIAL_MATCH",
      "service_id": "nga_national_id",
      "service_name": "Nigeria National ID (NIMC)",
      "source_data": {
        "first_name": "John",
        "full_name": "John Doe",
        "identification_number": "SAMPLE-ID-12345",
        "last_name": "Doe",
        "name_match_score": "1.000"
      },
      "validation": {
        "full_name": "no_match",
        "identification_number": "full_match"
      }
    }
  ]
}
```

**`NO_MATCH`**: Das Register hat für die übermittelten Daten keinen Treffer zurückgegeben.

```json 200 OK — NO_MATCH theme={null}
{
  "request_id": "req_01H…",
  "status": "Declined",
  "issuing_state": "NGA",
  "match_type": "no_match",
  "validations": [
    {
      "outcome_code": "NO_MATCH",
      "service_id": "nga_national_id",
      "service_name": "Nigeria National ID (NIMC)",
      "source_data": {
        "full_name": "NO_MATCH",
        "identification_number": "NO_MATCH"
      },
      "validation": {
        "full_name": "no_match",
        "identification_number": "no_match"
      }
    }
  ]
}
```

## Zurückgegebene Daten

Welche Felder in `source_data` ausgegeben werden, hängt davon ab, was das Register zurückgibt. Das generierte Beispiel für `nga_national_id` dokumentiert derzeit folgende normalisierte Struktur:

* `first_name`
* `full_name`
* `identification_number`
* `last_name`
* `name_match_score`

## Preise & SLAs

Abfragen des nigerianischen National ID (NIMC) werden nur berechnet, wenn Didit ein eindeutiges Ergebnis von der Validierungsquelle erhält.

* **Preis pro Aufruf:** \$0.20 USD.
* **Abrechnung:** pro erfolgreicher Abfrage. Ihnen wird nichts berechnet, wenn das Register nicht erreichbar ist, wenn Pflichtfelder fehlen oder wenn die Anfrage abgelehnt wird, bevor sie die Quelle erreicht.
* **Latenz:** typischer p95-Wert unter 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 Nigeria](https://docs.didit.me/api-reference/database-validation/nigeria.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.