curl -X POST "https://verification.didit.me/v3/database-validation/" \
-H "x-api-key: YOUR_API_KEY" \
-F "issuing_state=ESP" \
-F "services=esp_dni" \
-F "vendor_data=user-1234" \
-F "consent=true" \
-F "first_name=John" \
-F "last_name=Doe" \
-F "date_of_birth=1990-01-01" \
-F 'address={"street_1":"123 Sample Street","street_2":"Unit 4","city":"Sample City","region":"Sample State","postal_code":"10001","country":"US"}'
from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.database_validation.validate(
issuing_state="ESP",
services=["esp_dni"],
consent=True,
first_name="John",
last_name="Doe",
date_of_birth="1990-01-01",
address={"street_1": "123 Sample Street", "street_2": "Unit 4", "city": "Sample City", "region": "Sample State", "postal_code": "10001", "country": "US"},
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: "ESP",
services: ["esp_dni"],
consent: true,
first_name: "John",
last_name: "Doe",
date_of_birth: "1990-01-01",
address: { street_1: "123 Sample Street", street_2: "Unit 4", city: "Sample City", region: "Sample State", postal_code: "10001", country: "US" },
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: "ESP",
Services: didit.Some([]string{"esp_dni"}),
Consent: didit.Bool(true),
FirstName: didit.String("John"),
LastName: didit.String("Doe"),
DateOfBirth: didit.String("1990-01-01"),
Address: didit.Some[any](map[string]any{"street_1": "123 Sample Street", "street_2": "Unit 4", "city": "Sample City", "region": "Sample State", "postal_code": "10001", "country": "US"}),
VendorData: didit.String("user-1234"),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)
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("ESP")
.services(List.of("esp_dni"))
.consent(true)
.firstName("John")
.lastName("Doe")
.dateOfBirth(LocalDate.parse("1990-01-01"))
.address(DatabaseValidationValidateParams.Address.ofVariant1(DatabaseValidationValidateParams.Address.Variant1.builder()
.street1("123 Sample Street")
.street2("Unit 4")
.city("Sample City")
.region("Sample State")
.postalCode("10001")
.country("US")
.build()))
.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' => 'ESP',
'services' => ['esp_dni'],
'consent' => true,
'first_name' => 'John',
'last_name' => 'Doe',
'date_of_birth' => '1990-01-01',
'address' => ['street_1' => '123 Sample Street', 'street_2' => 'Unit 4', 'city' => 'Sample City', 'region' => 'Sample State', 'postal_code' => '10001', 'country' => 'US'],
'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: "ESP",
services: ["esp_dni"],
consent: true,
first_name: "John",
last_name: "Doe",
date_of_birth: "1990-01-01",
address: { street_1: "123 Sample Street", street_2: "Unit 4", city: "Sample City", region: "Sample State", postal_code: "10001", country: "US" },
vendor_data: "user-1234"
)
puts result.to_h
using System;
using System.Collections.Generic;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.DatabaseValidation.ValidateAsync(new DatabaseValidationValidateParams
{
IssuingState = "ESP",
Services = new string[] { "esp_dni" },
Consent = true,
FirstName = "John",
LastName = "Doe",
DateOfBirth = "1990-01-01",
Address = new Dictionary<string, object> { ["street_1"] = "123 Sample Street", ["street_2"] = "Unit 4", ["city"] = "Sample City", ["region"] = "Sample State", ["postal_code"] = "10001", ["country"] = "US" },
VendorData = "user-1234",
});
Console.WriteLine(JsonSerializer.Serialize(result));
{
"request_id": "req_01H…",
"status": "Approved",
"issuing_state": "ESP",
"match_type": "full_match",
"validations": [
{
"outcome_code": "MATCH",
"service_id": "esp_dni",
"service_name": "Spain - DNI/NIE verification",
"source_data": {
"address_match_score": "1.000",
"date_of_birth": "1990-01-01",
"first_name": "John",
"full_name": "John Doe",
"identification_number": "SAMPLE-ID-12345",
"last_name": "Doe",
"name_match_score": "1.000",
"verifications": {
"address": true,
"date_of_birth": true,
"full_name": true
}
},
"validation": {
"address": "full_match",
"date_of_birth": "full_match",
"full_name": "full_match"
}
}
]
}
{
"request_id": "req_01H…",
"status": "In Review",
"issuing_state": "ESP",
"match_type": "partial_match",
"validations": [
{
"outcome_code": "PARTIAL_MATCH",
"service_id": "esp_dni",
"service_name": "Spain - DNI/NIE verification",
"source_data": {
"address_match_score": "1.000",
"date_of_birth": "1990-01-01",
"first_name": "John",
"full_name": "John Doe",
"identification_number": "SAMPLE-ID-12345",
"last_name": "Doe",
"name_match_score": "1.000",
"verifications": {
"address": true,
"date_of_birth": true,
"full_name": false
}
},
"validation": {
"address": "full_match",
"date_of_birth": "full_match",
"full_name": "no_match"
}
}
]
}
{
"request_id": "req_01H…",
"status": "Declined",
"issuing_state": "ESP",
"match_type": "no_match",
"validations": [
{
"outcome_code": "NO_MATCH",
"service_id": "esp_dni",
"service_name": "Spain - DNI/NIE verification",
"source_data": {
"address": "NO_MATCH",
"date_of_birth": "NO_MATCH",
"full_name": "NO_MATCH"
},
"validation": {
"address": "no_match",
"date_of_birth": "no_match",
"full_name": "no_match"
}
}
]
}
التحقق من قواعد البيانات
التحقق من DNI/NIE في إسبانيا - استعلام فوري عبر API
التحقق من DNI/NIE في إسبانيا عبر قاعدة بيانات موثوقة من بنية Didit للهوية. التكلفة من $2.10 لكل استدعاء، بدون عقود أو حد أدنى.
POST
/
v3
/
database-validation
/
curl -X POST "https://verification.didit.me/v3/database-validation/" \
-H "x-api-key: YOUR_API_KEY" \
-F "issuing_state=ESP" \
-F "services=esp_dni" \
-F "vendor_data=user-1234" \
-F "consent=true" \
-F "first_name=John" \
-F "last_name=Doe" \
-F "date_of_birth=1990-01-01" \
-F 'address={"street_1":"123 Sample Street","street_2":"Unit 4","city":"Sample City","region":"Sample State","postal_code":"10001","country":"US"}'
from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.database_validation.validate(
issuing_state="ESP",
services=["esp_dni"],
consent=True,
first_name="John",
last_name="Doe",
date_of_birth="1990-01-01",
address={"street_1": "123 Sample Street", "street_2": "Unit 4", "city": "Sample City", "region": "Sample State", "postal_code": "10001", "country": "US"},
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: "ESP",
services: ["esp_dni"],
consent: true,
first_name: "John",
last_name: "Doe",
date_of_birth: "1990-01-01",
address: { street_1: "123 Sample Street", street_2: "Unit 4", city: "Sample City", region: "Sample State", postal_code: "10001", country: "US" },
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: "ESP",
Services: didit.Some([]string{"esp_dni"}),
Consent: didit.Bool(true),
FirstName: didit.String("John"),
LastName: didit.String("Doe"),
DateOfBirth: didit.String("1990-01-01"),
Address: didit.Some[any](map[string]any{"street_1": "123 Sample Street", "street_2": "Unit 4", "city": "Sample City", "region": "Sample State", "postal_code": "10001", "country": "US"}),
VendorData: didit.String("user-1234"),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)
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("ESP")
.services(List.of("esp_dni"))
.consent(true)
.firstName("John")
.lastName("Doe")
.dateOfBirth(LocalDate.parse("1990-01-01"))
.address(DatabaseValidationValidateParams.Address.ofVariant1(DatabaseValidationValidateParams.Address.Variant1.builder()
.street1("123 Sample Street")
.street2("Unit 4")
.city("Sample City")
.region("Sample State")
.postalCode("10001")
.country("US")
.build()))
.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' => 'ESP',
'services' => ['esp_dni'],
'consent' => true,
'first_name' => 'John',
'last_name' => 'Doe',
'date_of_birth' => '1990-01-01',
'address' => ['street_1' => '123 Sample Street', 'street_2' => 'Unit 4', 'city' => 'Sample City', 'region' => 'Sample State', 'postal_code' => '10001', 'country' => 'US'],
'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: "ESP",
services: ["esp_dni"],
consent: true,
first_name: "John",
last_name: "Doe",
date_of_birth: "1990-01-01",
address: { street_1: "123 Sample Street", street_2: "Unit 4", city: "Sample City", region: "Sample State", postal_code: "10001", country: "US" },
vendor_data: "user-1234"
)
puts result.to_h
using System;
using System.Collections.Generic;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.DatabaseValidation.ValidateAsync(new DatabaseValidationValidateParams
{
IssuingState = "ESP",
Services = new string[] { "esp_dni" },
Consent = true,
FirstName = "John",
LastName = "Doe",
DateOfBirth = "1990-01-01",
Address = new Dictionary<string, object> { ["street_1"] = "123 Sample Street", ["street_2"] = "Unit 4", ["city"] = "Sample City", ["region"] = "Sample State", ["postal_code"] = "10001", ["country"] = "US" },
VendorData = "user-1234",
});
Console.WriteLine(JsonSerializer.Serialize(result));
{
"request_id": "req_01H…",
"status": "Approved",
"issuing_state": "ESP",
"match_type": "full_match",
"validations": [
{
"outcome_code": "MATCH",
"service_id": "esp_dni",
"service_name": "Spain - DNI/NIE verification",
"source_data": {
"address_match_score": "1.000",
"date_of_birth": "1990-01-01",
"first_name": "John",
"full_name": "John Doe",
"identification_number": "SAMPLE-ID-12345",
"last_name": "Doe",
"name_match_score": "1.000",
"verifications": {
"address": true,
"date_of_birth": true,
"full_name": true
}
},
"validation": {
"address": "full_match",
"date_of_birth": "full_match",
"full_name": "full_match"
}
}
]
}
{
"request_id": "req_01H…",
"status": "In Review",
"issuing_state": "ESP",
"match_type": "partial_match",
"validations": [
{
"outcome_code": "PARTIAL_MATCH",
"service_id": "esp_dni",
"service_name": "Spain - DNI/NIE verification",
"source_data": {
"address_match_score": "1.000",
"date_of_birth": "1990-01-01",
"first_name": "John",
"full_name": "John Doe",
"identification_number": "SAMPLE-ID-12345",
"last_name": "Doe",
"name_match_score": "1.000",
"verifications": {
"address": true,
"date_of_birth": true,
"full_name": false
}
},
"validation": {
"address": "full_match",
"date_of_birth": "full_match",
"full_name": "no_match"
}
}
]
}
{
"request_id": "req_01H…",
"status": "Declined",
"issuing_state": "ESP",
"match_type": "no_match",
"validations": [
{
"outcome_code": "NO_MATCH",
"service_id": "esp_dni",
"service_name": "Spain - DNI/NIE verification",
"source_data": {
"address": "NO_MATCH",
"date_of_birth": "NO_MATCH",
"full_name": "NO_MATCH"
},
"validation": {
"address": "no_match",
"date_of_birth": "no_match",
"full_name": "no_match"
}
}
]
}
يتحقق من اسم حامل بطاقة DNI أو NIE الإسبانية وتاريخ ميلاده وعنوانه مقارنةً بسجلات الهوية الوطنية. تتيح Didit هذه الخدمة عبر
POST /v3/database-validation/ لتتمكن من التحقق من البيانات المرسلة مقابل المصدر الموثوق والحصول على نتائج مطابقة موحّدة.
التغطية
- التغطية: ~ 75%
- الدولة: إسبانيا
- معرّف الخدمة:
esp_dni - مجال البيانات: الهوية
- الفئة: NationalIDRegistry
المدخلات
| الحقل | مطلوب | مثال |
|---|---|---|
first_name | نعم | John |
last_name | نعم | Doe |
date_of_birth | نعم | 1990-01-01 |
address.street_1 | نعم | 123 Sample Street |
address.postal_code | نعم | 10001 |
national_id | لا | SAMPLE-NID-12345 |
phone | لا | +15550101000 |
address.street_2 | لا | Unit 4 |
address.city | لا | Sample City |
address.region | لا | Sample State |
vendor_data | لا | user-1234 |
- المدخلات المطلوبة:
first_nameوlast_nameوdate_of_birthوaddress.street_1وaddress.postal_code - المدخلات الاختيارية:
national_idوphoneوaddress.street_2وaddress.cityوaddress.regionوvendor_data - الموافقة: مطلوبة
- التوفر في سير العمل: متاح في سير العمل
- التغطية: ~ 75%
- السعر: $2.10 لكل استعلام ناجح
معاملات جسم الطلب
string
افتراضي:"ESP"
مطلوب
رمز الدولة وفق ISO 3166-1 alpha-3 لخدمة قاعدة البيانات هذه.مثال:
ESPstring
افتراضي:"esp_dni"
مطلوب
مصفوفة تحتوي على معرّف هذه الخدمة. تثبيت الخدمة يُبقي الطلب مقصورًا على قاعدة البيانات المحددة هذه تحديدًا.مثال:
esp_dniboolean
افتراضي:"true"
مطلوب
موافقة صريحة من المستخدم النهائي على هذه الخدمة.مثال:
truestring
افتراضي:"John"
مطلوب
الاسم الأول المراد التحقق منه.مثال:
Johnstring
افتراضي:"Doe"
مطلوب
اسم العائلة المراد التحقق منه.مثال:
Doestring
افتراضي:"1990-01-01"
مطلوب
تاريخ الميلاد بالصيغة
YYYY-MM-DD.مثال: 1990-01-01object
مطلوب
كائن عنوان سكني منظّم. استخدم
street_1 وstreet_2 وcity وregion وpostal_code وcountry. ما زالت سلسلة العنوان القديمة الكاملة مقبولة، لكنها غير مستحسنة.مثال: {"street_1":"123 Sample Street","street_2":"Unit 4","city":"Sample City","region":"Sample State","postal_code":"10001","country":"US"}string
رقم الهوية الوطنية لهذه الخدمة.مثال:
SAMPLE-NID-12345string
رقم الهاتف بالتنسيق الدولي.مثال:
+15550101000string
افتراضي:"user-1234"
مرجع المستخدم الثابت لديك لهذا الشخص، مثل معرّف المستخدم الداخلي. تستخدمه Didit لربط عمليات التحقق المستقلة بالمستخدم النهائي نفسه، وتقليل الضوضاء في اكتشاف التكرار.مثال:
user-1234قواعد المدخلات وملاحظات التحقق
- بالنسبة إلى خدمات العناوين، أرسل حقول العنوان المنظّمة بدلًا من سلسلة
addressواحدة متى أمكن. address.street_1هو عنوان الشارع، ويشمل رقم المبنى ونوع الشارع.address.street_2هو الشقة أو الوحدة أو المبنى أو الطابق أو أي سطر إضافي للعنوان. أرسله فقط عند توفره لديك.address.cityهو المدينة أو الضاحية أو المنطقة أو البلدة أو الحي.address.regionهو الولاية أو المحافظة أو الإقليم أو البلدة.address.postal_codeهو الرمز البريدي.- تتطلب خدمات قواعد البيانات القائمة على العنوان على الأقل عنوان الشارع والرمز البريدي؛ ولا تُفرض رسوم على الطلبات التي تُرفض قبل البحث في المصدر.
كيفية الاستدعاء
curl -X POST "https://verification.didit.me/v3/database-validation/" \
-H "x-api-key: YOUR_API_KEY" \
-F "issuing_state=ESP" \
-F "services=esp_dni" \
-F "vendor_data=user-1234" \
-F "consent=true" \
-F "first_name=John" \
-F "last_name=Doe" \
-F "date_of_birth=1990-01-01" \
-F 'address={"street_1":"123 Sample Street","street_2":"Unit 4","city":"Sample City","region":"Sample State","postal_code":"10001","country":"US"}'
from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.database_validation.validate(
issuing_state="ESP",
services=["esp_dni"],
consent=True,
first_name="John",
last_name="Doe",
date_of_birth="1990-01-01",
address={"street_1": "123 Sample Street", "street_2": "Unit 4", "city": "Sample City", "region": "Sample State", "postal_code": "10001", "country": "US"},
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: "ESP",
services: ["esp_dni"],
consent: true,
first_name: "John",
last_name: "Doe",
date_of_birth: "1990-01-01",
address: { street_1: "123 Sample Street", street_2: "Unit 4", city: "Sample City", region: "Sample State", postal_code: "10001", country: "US" },
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: "ESP",
Services: didit.Some([]string{"esp_dni"}),
Consent: didit.Bool(true),
FirstName: didit.String("John"),
LastName: didit.String("Doe"),
DateOfBirth: didit.String("1990-01-01"),
Address: didit.Some[any](map[string]any{"street_1": "123 Sample Street", "street_2": "Unit 4", "city": "Sample City", "region": "Sample State", "postal_code": "10001", "country": "US"}),
VendorData: didit.String("user-1234"),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)
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("ESP")
.services(List.of("esp_dni"))
.consent(true)
.firstName("John")
.lastName("Doe")
.dateOfBirth(LocalDate.parse("1990-01-01"))
.address(DatabaseValidationValidateParams.Address.ofVariant1(DatabaseValidationValidateParams.Address.Variant1.builder()
.street1("123 Sample Street")
.street2("Unit 4")
.city("Sample City")
.region("Sample State")
.postalCode("10001")
.country("US")
.build()))
.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' => 'ESP',
'services' => ['esp_dni'],
'consent' => true,
'first_name' => 'John',
'last_name' => 'Doe',
'date_of_birth' => '1990-01-01',
'address' => ['street_1' => '123 Sample Street', 'street_2' => 'Unit 4', 'city' => 'Sample City', 'region' => 'Sample State', 'postal_code' => '10001', 'country' => 'US'],
'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: "ESP",
services: ["esp_dni"],
consent: true,
first_name: "John",
last_name: "Doe",
date_of_birth: "1990-01-01",
address: { street_1: "123 Sample Street", street_2: "Unit 4", city: "Sample City", region: "Sample State", postal_code: "10001", country: "US" },
vendor_data: "user-1234"
)
puts result.to_h
using System;
using System.Collections.Generic;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.DatabaseValidation.ValidateAsync(new DatabaseValidationValidateParams
{
IssuingState = "ESP",
Services = new string[] { "esp_dni" },
Consent = true,
FirstName = "John",
LastName = "Doe",
DateOfBirth = "1990-01-01",
Address = new Dictionary<string, object> { ["street_1"] = "123 Sample Street", ["street_2"] = "Unit 4", ["city"] = "Sample City", ["region"] = "Sample State", ["postal_code"] = "10001", ["country"] = "US" },
VendorData = "user-1234",
});
Console.WriteLine(JsonSerializer.Serialize(result));
تُرجع كل استدعاء ناجح رمز الحالة HTTP 200. يوضّح الحقل outcome_code ما الذي حدث فعلاً، فيميّز مثلاً بين عدم تطابق بيومتري حقيقي (BIOMETRIC_NO_MATCH) وصورة سيلفي تعذّر قراءتها (BIOMETRIC_IMAGE_UNUSABLE). الحقل status المعروض هو الحالة الافتراضية للميزة، ويمكن أن تتجاوزها إجراءات التطابق الجزئي وعدم التطابق التي تضبطها.MATCH: أكّد السجل الهوية، وتطابقت كل الحقول التي جرى فحصها.{
"request_id": "req_01H…",
"status": "Approved",
"issuing_state": "ESP",
"match_type": "full_match",
"validations": [
{
"outcome_code": "MATCH",
"service_id": "esp_dni",
"service_name": "Spain - DNI/NIE verification",
"source_data": {
"address_match_score": "1.000",
"date_of_birth": "1990-01-01",
"first_name": "John",
"full_name": "John Doe",
"identification_number": "SAMPLE-ID-12345",
"last_name": "Doe",
"name_match_score": "1.000",
"verifications": {
"address": true,
"date_of_birth": true,
"full_name": true
}
},
"validation": {
"address": "full_match",
"date_of_birth": "full_match",
"full_name": "full_match"
}
}
]
}
PARTIAL_MATCH: لم يتطابق حقل واحد أو أكثر من الحقول التي تقارنها هذه الخدمة تطابقاً كاملاً. في هذا المثال، لم يتطابق full_name، بينما تطابق address وdate_of_birth.{
"request_id": "req_01H…",
"status": "In Review",
"issuing_state": "ESP",
"match_type": "partial_match",
"validations": [
{
"outcome_code": "PARTIAL_MATCH",
"service_id": "esp_dni",
"service_name": "Spain - DNI/NIE verification",
"source_data": {
"address_match_score": "1.000",
"date_of_birth": "1990-01-01",
"first_name": "John",
"full_name": "John Doe",
"identification_number": "SAMPLE-ID-12345",
"last_name": "Doe",
"name_match_score": "1.000",
"verifications": {
"address": true,
"date_of_birth": true,
"full_name": false
}
},
"validation": {
"address": "full_match",
"date_of_birth": "full_match",
"full_name": "no_match"
}
}
]
}
NO_MATCH: لم يُرجع السجل أي تطابق للبيانات المُرسلة.{
"request_id": "req_01H…",
"status": "Declined",
"issuing_state": "ESP",
"match_type": "no_match",
"validations": [
{
"outcome_code": "NO_MATCH",
"service_id": "esp_dni",
"service_name": "Spain - DNI/NIE verification",
"source_data": {
"address": "NO_MATCH",
"date_of_birth": "NO_MATCH",
"full_name": "NO_MATCH"
},
"validation": {
"address": "no_match",
"date_of_birth": "no_match",
"full_name": "no_match"
}
}
]
}
البيانات المُرجعة
تعتمد الحقول الدقيقة التي تظهر فيsource_data على ما يُرجعه السجل. يوثّق المثال المُولَّد للمعرّف esp_dni حالياً هذا الشكل الموحّد:
address_match_scoredate_of_birthfirst_namefull_nameidentification_numberlast_namename_match_score
الأسعار واتفاقيات مستوى الخدمة
تُحتسب رسوم استعلامات التحقق من DNI/NIE في إسبانيا فقط عندما يستلم Didit نتيجة قاطعة من مصدر التحقق.- السعر لكل استدعاء: $2.10 USD.
- طريقة الاحتساب: لكل استعلام ناجح. لا تُحتسب أي رسوم عندما يتعذر الوصول إلى السجل، أو عند غياب الحقول المطلوبة، أو عندما يُرفض الطلب قبل وصوله إلى المصدر.
- زمن الاستجابة: النموذجي عند المئين 95 (p95) أقل من ثانيتين.
- التوفر: 99.9% في الربع الواحد من جهة Didit؛ ويختلف توفر المصادر التابعة حسب الدولة ومجموعة البيانات.
متابعة القراءة
آخر تعديل في ٧ نوفمبر ٢٠٢٦