curl -X POST "https://verification.didit.me/v3/database-validation/" \
-H "x-api-key: YOUR_API_KEY" \
-F "issuing_state=CRI" \
-F "services=cri_cedula" \
-F "vendor_data=user-1234" \
-F "personal_number=111111111"
from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.database_validation.validate(
issuing_state="CRI",
services=["cri_cedula"],
personal_number="111111111",
vendor_data="user-1234",
)
print(result)
import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.databaseValidation.validate({
issuing_state: "CRI",
services: ["cri_cedula"],
personal_number: "111111111",
vendor_data: "user-1234",
});
console.log(result);
ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.DatabaseValidation.Validate(ctx, didit.DatabaseValidationValidateParams{
IssuingState: "CRI",
Services: didit.Some([]string{"cri_cedula"}),
PersonalNumber: didit.String("111111111"),
VendorData: didit.String("user-1234"),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)
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("CRI")
.services(List.of("cri_cedula"))
.personalNumber("111111111")
.vendorData("user-1234")
.build());
System.out.println(result);
<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->databaseValidation->validate([
'issuing_state' => 'CRI',
'services' => ['cri_cedula'],
'personal_number' => '111111111',
'vendor_data' => 'user-1234',
]);
print_r($result->toArray());
require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.database_validation.validate(
issuing_state: "CRI",
services: ["cri_cedula"],
personal_number: "111111111",
vendor_data: "user-1234"
)
puts result.to_h
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 = "CRI",
Services = new string[] { "cri_cedula" },
PersonalNumber = "111111111",
VendorData = "user-1234",
});
Console.WriteLine(JsonSerializer.Serialize(result));
{
"request_id": "req_01H…",
"status": "Approved",
"issuing_state": "CRI",
"match_type": "full_match",
"validations": [
{
"outcome_code": "MATCH",
"service_id": "cri_cedula",
"service_name": "Costa Rica - Cédula verification",
"source_data": {
"first_name": "John",
"full_name": "John Doe",
"identification_number": "SAMPLE-ID-12345",
"last_name": "Doe"
},
"validation": {
"identification_number": "full_match"
}
}
]
}
{
"request_id": "req_01H…",
"status": "Declined",
"issuing_state": "CRI",
"match_type": "no_match",
"validations": [
{
"outcome_code": "NO_MATCH",
"service_id": "cri_cedula",
"service_name": "Costa Rica - Cédula verification",
"source_data": {
"identification_number": "NO_MATCH"
},
"validation": {
"identification_number": "no_match"
}
}
]
}
{
"request_id": "req_01H…",
"status": "Declined",
"issuing_state": "CRI",
"match_type": "no_match",
"validations": [
{
"outcome_code": "DOCUMENT_NOT_FOUND",
"service_id": "cri_cedula",
"service_name": "Costa Rica - Cédula verification",
"source_data": {
"identification_number": "NO_MATCH"
},
"validation": {
"identification_number": "no_match"
}
}
]
}
Datenbankvalidierung
Cédula-Verifizierung Costa Rica: API, Data Match
Costa Rica Cédula-Verifizierung über Didit: maßgebliche Datenbankabfrage. Ab $0.20 pro Abfrage, ohne Verträge und ohne Mindestabnahme.
POST
/
v3
/
database-validation
/
curl -X POST "https://verification.didit.me/v3/database-validation/" \
-H "x-api-key: YOUR_API_KEY" \
-F "issuing_state=CRI" \
-F "services=cri_cedula" \
-F "vendor_data=user-1234" \
-F "personal_number=111111111"
from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.database_validation.validate(
issuing_state="CRI",
services=["cri_cedula"],
personal_number="111111111",
vendor_data="user-1234",
)
print(result)
import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.databaseValidation.validate({
issuing_state: "CRI",
services: ["cri_cedula"],
personal_number: "111111111",
vendor_data: "user-1234",
});
console.log(result);
ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.DatabaseValidation.Validate(ctx, didit.DatabaseValidationValidateParams{
IssuingState: "CRI",
Services: didit.Some([]string{"cri_cedula"}),
PersonalNumber: didit.String("111111111"),
VendorData: didit.String("user-1234"),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)
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("CRI")
.services(List.of("cri_cedula"))
.personalNumber("111111111")
.vendorData("user-1234")
.build());
System.out.println(result);
<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->databaseValidation->validate([
'issuing_state' => 'CRI',
'services' => ['cri_cedula'],
'personal_number' => '111111111',
'vendor_data' => 'user-1234',
]);
print_r($result->toArray());
require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.database_validation.validate(
issuing_state: "CRI",
services: ["cri_cedula"],
personal_number: "111111111",
vendor_data: "user-1234"
)
puts result.to_h
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 = "CRI",
Services = new string[] { "cri_cedula" },
PersonalNumber = "111111111",
VendorData = "user-1234",
});
Console.WriteLine(JsonSerializer.Serialize(result));
{
"request_id": "req_01H…",
"status": "Approved",
"issuing_state": "CRI",
"match_type": "full_match",
"validations": [
{
"outcome_code": "MATCH",
"service_id": "cri_cedula",
"service_name": "Costa Rica - Cédula verification",
"source_data": {
"first_name": "John",
"full_name": "John Doe",
"identification_number": "SAMPLE-ID-12345",
"last_name": "Doe"
},
"validation": {
"identification_number": "full_match"
}
}
]
}
{
"request_id": "req_01H…",
"status": "Declined",
"issuing_state": "CRI",
"match_type": "no_match",
"validations": [
{
"outcome_code": "NO_MATCH",
"service_id": "cri_cedula",
"service_name": "Costa Rica - Cédula verification",
"source_data": {
"identification_number": "NO_MATCH"
},
"validation": {
"identification_number": "no_match"
}
}
]
}
{
"request_id": "req_01H…",
"status": "Declined",
"issuing_state": "CRI",
"match_type": "no_match",
"validations": [
{
"outcome_code": "DOCUMENT_NOT_FOUND",
"service_id": "cri_cedula",
"service_name": "Costa Rica - Cédula verification",
"source_data": {
"identification_number": "NO_MATCH"
},
"validation": {
"identification_number": "no_match"
}
}
]
}
Überprüft die Daten costa-ricanischer Personalausweise anhand der Register des Tribunal Supremo de Elecciones. Didit stellt diesen Dienst über
POST /v3/database-validation/ bereit, damit Sie die übermittelten Daten mit der maßgeblichen Quelle abgleichen und normalisierte Abgleichsergebnisse erhalten. Eingabeformat: personal_number nimmt die costa-ricanische Cédula (9 bis 12 Ziffern) entgegen.
Abdeckung
- Abdeckung: 90-95%
- Land: Costa Rica
- Dienst-ID:
cri_cedula - Datenbereich: Identität
- Kategorie: NationalIDRegistry
Eingaben
| Feld | Pflicht | Beispiel |
|---|---|---|
personal_number | Ja | 111111111 |
first_name | Nein | John |
last_name | Nein | Doe |
vendor_data | Nein | user-1234 |
- Pflichteingaben:
personal_number - Optionale Eingaben:
first_name,last_name,vendor_data - Einwilligung: Nicht erforderlich
- Verfügbarkeit im Workflow: Im Workflow verfügbar
- Abdeckung: 90-95%
- Preis: $0.20 pro erfolgreicher Abfrage
Body-Parameter
string
Standard:"CRI"
erforderlich
ISO-3166-1-Alpha-3-Ländercode für diesen Datenbankdienst.Beispiel:
CRIstring
Standard:"cri_cedula"
erforderlich
Array mit dieser Dienst-ID. Durch die Festlegung des Dienstes bleibt die Anfrage auf genau diese Datenbank beschränkt.Beispiel:
cri_cedulastring
Standard:"111111111"
erforderlich
Landesspezifische persönliche Identifikationsnummer.Beispiel:
111111111string
Zu validierender Vorname.Beispiel:
Johnstring
Zu validierender Nachname.Beispiel:
Doestring
Standard:"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 das Rauschen bei der Duplikaterkennung zu reduzieren.Beispiel:
user-1234Eingaberegeln und Validierungshinweise
- Costa-ricanische Cédula (9 bis 12 Ziffern)
personal_numberdarf nur Ziffern enthalten; entfernen Sie vor dem Senden der Anfrage Leerzeichen, Bindestriche und Satzzeichen.personal_numbermuss 9 bis 12 Zeichen lang sein.
So rufen Sie den Dienst auf
curl -X POST "https://verification.didit.me/v3/database-validation/" \
-H "x-api-key: YOUR_API_KEY" \
-F "issuing_state=CRI" \
-F "services=cri_cedula" \
-F "vendor_data=user-1234" \
-F "personal_number=111111111"
from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.database_validation.validate(
issuing_state="CRI",
services=["cri_cedula"],
personal_number="111111111",
vendor_data="user-1234",
)
print(result)
import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.databaseValidation.validate({
issuing_state: "CRI",
services: ["cri_cedula"],
personal_number: "111111111",
vendor_data: "user-1234",
});
console.log(result);
ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.DatabaseValidation.Validate(ctx, didit.DatabaseValidationValidateParams{
IssuingState: "CRI",
Services: didit.Some([]string{"cri_cedula"}),
PersonalNumber: didit.String("111111111"),
VendorData: didit.String("user-1234"),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)
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("CRI")
.services(List.of("cri_cedula"))
.personalNumber("111111111")
.vendorData("user-1234")
.build());
System.out.println(result);
<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->databaseValidation->validate([
'issuing_state' => 'CRI',
'services' => ['cri_cedula'],
'personal_number' => '111111111',
'vendor_data' => 'user-1234',
]);
print_r($result->toArray());
require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.database_validation.validate(
issuing_state: "CRI",
services: ["cri_cedula"],
personal_number: "111111111",
vendor_data: "user-1234"
)
puts result.to_h
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 = "CRI",
Services = new string[] { "cri_cedula" },
PersonalNumber = "111111111",
VendorData = "user-1234",
});
Console.WriteLine(JsonSerializer.Serialize(result));
Jeder erfolgreiche Aufruf liefert HTTP 200 zurück. Das Feld outcome_code zeigt, was tatsächlich passiert ist. So wird zum Beispiel ein echter biometrischer Nichtabgleich (BIOMETRIC_NO_MATCH) von einem Selfie unterschieden, das nicht gelesen werden konnte (BIOMETRIC_IMAGE_UNUSABLE). Der angezeigte status ist der Standardstatus der Funktion; Ihre konfigurierten Aktionen für Teilübereinstimmung / keine Übereinstimmung können ihn überschreiben.MATCH – Das Register hat die Identität bestätigt, und alle geprüften Felder stimmen überein.{
"request_id": "req_01H…",
"status": "Approved",
"issuing_state": "CRI",
"match_type": "full_match",
"validations": [
{
"outcome_code": "MATCH",
"service_id": "cri_cedula",
"service_name": "Costa Rica - Cédula verification",
"source_data": {
"first_name": "John",
"full_name": "John Doe",
"identification_number": "SAMPLE-ID-12345",
"last_name": "Doe"
},
"validation": {
"identification_number": "full_match"
}
}
]
}
NO_MATCH – Das Register hat für die übermittelten Daten keine Übereinstimmung gefunden.{
"request_id": "req_01H…",
"status": "Declined",
"issuing_state": "CRI",
"match_type": "no_match",
"validations": [
{
"outcome_code": "NO_MATCH",
"service_id": "cri_cedula",
"service_name": "Costa Rica - Cédula verification",
"source_data": {
"identification_number": "NO_MATCH"
},
"validation": {
"identification_number": "no_match"
}
}
]
}
DOCUMENT_NOT_FOUND – Die übermittelte Dokumentnummer entspricht keinem Datensatz im Register.{
"request_id": "req_01H…",
"status": "Declined",
"issuing_state": "CRI",
"match_type": "no_match",
"validations": [
{
"outcome_code": "DOCUMENT_NOT_FOUND",
"service_id": "cri_cedula",
"service_name": "Costa Rica - Cédula verification",
"source_data": {
"identification_number": "NO_MATCH"
},
"validation": {
"identification_number": "no_match"
}
}
]
}
Rückgabedaten
Welche Felder genau insource_data erscheinen, hängt davon ab, was das Register zurückgibt. Das generierte Beispiel für cri_cedula dokumentiert derzeit folgende normalisierte Struktur:
first_namefull_nameidentification_numberlast_name
Preise & SLAs
Costa Rica – Cédula-Verifizierungsabfragen werden nur dann abgerechnet, wenn Didit vom Validierungsdienst ein eindeutiges Ergebnis 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: typischerweise p95 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
Zuletzt geändert am 7. November 2026