curl -X POST "https://verification.didit.me/v3/database-validation/" \
-H "x-api-key: YOUR_API_KEY" \
-F "issuing_state=NGA" \
-F "services=nga_passport" \
-F "vendor_data=user-1234" \
-F "passport_number=A12345678" \
-F "last_name=Doe" \
-F "date_of_birth=1990-01-01"
from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.database_validation.validate(
issuing_state="NGA",
services=["nga_passport"],
last_name="Doe",
date_of_birth="1990-01-01",
passport_number="A12345678",
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: "NGA",
services: ["nga_passport"],
last_name: "Doe",
date_of_birth: "1990-01-01",
passport_number: "A12345678",
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: "NGA",
Services: didit.Some([]string{"nga_passport"}),
LastName: didit.String("Doe"),
DateOfBirth: didit.String("1990-01-01"),
PassportNumber: didit.String("A12345678"),
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("NGA")
.services(List.of("nga_passport"))
.lastName("Doe")
.dateOfBirth(LocalDate.parse("1990-01-01"))
.passportNumber("A12345678")
.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' => 'NGA',
'services' => ['nga_passport'],
'last_name' => 'Doe',
'date_of_birth' => '1990-01-01',
'passport_number' => 'A12345678',
'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: "NGA",
services: ["nga_passport"],
last_name: "Doe",
date_of_birth: "1990-01-01",
passport_number: "A12345678",
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 = "NGA",
Services = new string[] { "nga_passport" },
LastName = "Doe",
DateOfBirth = "1990-01-01",
PassportNumber = "A12345678",
VendorData = "user-1234",
});
Console.WriteLine(JsonSerializer.Serialize(result));
{
"request_id": "req_01H…",
"status": "Approved",
"issuing_state": "NGA",
"match_type": "full_match",
"validations": [
{
"outcome_code": "MATCH",
"service_id": "nga_passport",
"service_name": "Nigeria International Passport (NIS)",
"source_data": {
"date_of_birth": "1990-01-01",
"first_name": "John",
"identification_number": "SAMPLE-ID-12345",
"last_name": "Doe"
},
"validation": {
"date_of_birth": "full_match",
"full_name": "full_match",
"identification_number": "full_match"
}
}
]
}
{
"request_id": "req_01H…",
"status": "In Review",
"issuing_state": "NGA",
"match_type": "partial_match",
"validations": [
{
"outcome_code": "PARTIAL_MATCH",
"service_id": "nga_passport",
"service_name": "Nigeria International Passport (NIS)",
"source_data": {
"date_of_birth": "1990-01-01",
"first_name": "John",
"identification_number": "SAMPLE-ID-12345",
"last_name": "Doe"
},
"validation": {
"date_of_birth": "full_match",
"full_name": "no_match",
"identification_number": "full_match"
}
}
]
}
{
"request_id": "req_01H…",
"status": "Declined",
"issuing_state": "NGA",
"match_type": "no_match",
"validations": [
{
"outcome_code": "NO_MATCH",
"service_id": "nga_passport",
"service_name": "Nigeria International Passport (NIS)",
"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"
}
}
]
}
{
"request_id": "req_01H…",
"status": "Declined",
"issuing_state": "NGA",
"match_type": "no_match",
"validations": [
{
"outcome_code": "DOCUMENT_NOT_FOUND",
"service_id": "nga_passport",
"service_name": "Nigeria International Passport (NIS)",
"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"
}
}
]
}
🇳🇬 نيجيريا
جواز السفر النيجيري (NIS): مطابقة الهوية عبر API
تحقق من جواز السفر النيجيري (NIS) عبر قاعدة بيانات موثوقة في نيجيريا باستخدام Didit. الدفع لكل استدعاء من $0.22، دون عقود أو حد أدنى.
POST
/
v3
/
database-validation
/
curl -X POST "https://verification.didit.me/v3/database-validation/" \
-H "x-api-key: YOUR_API_KEY" \
-F "issuing_state=NGA" \
-F "services=nga_passport" \
-F "vendor_data=user-1234" \
-F "passport_number=A12345678" \
-F "last_name=Doe" \
-F "date_of_birth=1990-01-01"
from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.database_validation.validate(
issuing_state="NGA",
services=["nga_passport"],
last_name="Doe",
date_of_birth="1990-01-01",
passport_number="A12345678",
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: "NGA",
services: ["nga_passport"],
last_name: "Doe",
date_of_birth: "1990-01-01",
passport_number: "A12345678",
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: "NGA",
Services: didit.Some([]string{"nga_passport"}),
LastName: didit.String("Doe"),
DateOfBirth: didit.String("1990-01-01"),
PassportNumber: didit.String("A12345678"),
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("NGA")
.services(List.of("nga_passport"))
.lastName("Doe")
.dateOfBirth(LocalDate.parse("1990-01-01"))
.passportNumber("A12345678")
.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' => 'NGA',
'services' => ['nga_passport'],
'last_name' => 'Doe',
'date_of_birth' => '1990-01-01',
'passport_number' => 'A12345678',
'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: "NGA",
services: ["nga_passport"],
last_name: "Doe",
date_of_birth: "1990-01-01",
passport_number: "A12345678",
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 = "NGA",
Services = new string[] { "nga_passport" },
LastName = "Doe",
DateOfBirth = "1990-01-01",
PassportNumber = "A12345678",
VendorData = "user-1234",
});
Console.WriteLine(JsonSerializer.Serialize(result));
{
"request_id": "req_01H…",
"status": "Approved",
"issuing_state": "NGA",
"match_type": "full_match",
"validations": [
{
"outcome_code": "MATCH",
"service_id": "nga_passport",
"service_name": "Nigeria International Passport (NIS)",
"source_data": {
"date_of_birth": "1990-01-01",
"first_name": "John",
"identification_number": "SAMPLE-ID-12345",
"last_name": "Doe"
},
"validation": {
"date_of_birth": "full_match",
"full_name": "full_match",
"identification_number": "full_match"
}
}
]
}
{
"request_id": "req_01H…",
"status": "In Review",
"issuing_state": "NGA",
"match_type": "partial_match",
"validations": [
{
"outcome_code": "PARTIAL_MATCH",
"service_id": "nga_passport",
"service_name": "Nigeria International Passport (NIS)",
"source_data": {
"date_of_birth": "1990-01-01",
"first_name": "John",
"identification_number": "SAMPLE-ID-12345",
"last_name": "Doe"
},
"validation": {
"date_of_birth": "full_match",
"full_name": "no_match",
"identification_number": "full_match"
}
}
]
}
{
"request_id": "req_01H…",
"status": "Declined",
"issuing_state": "NGA",
"match_type": "no_match",
"validations": [
{
"outcome_code": "NO_MATCH",
"service_id": "nga_passport",
"service_name": "Nigeria International Passport (NIS)",
"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"
}
}
]
}
{
"request_id": "req_01H…",
"status": "Declined",
"issuing_state": "NGA",
"match_type": "no_match",
"validations": [
{
"outcome_code": "DOCUMENT_NOT_FOUND",
"service_id": "nga_passport",
"service_name": "Nigeria International Passport (NIS)",
"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"
}
}
]
}
يتحقق من جواز السفر النيجيري الدولي مقابل سجل هيئة الهجرة النيجيرية. لا يستجيب السجل إلا عندما يكون رقم جواز السفر والاسم العائلي وتاريخ الميلاد مرتبطة ببعضها معًا. تتيح لك Didit هذه الخدمة عبر
POST /v3/database-validation/ للتحقق من البيانات المرسلة مقابل المصدر الرسمي، واستلام نتائج مطابقة موحّدة.
التغطية
- التغطية: ~ 100%
- الدولة: نيجيريا
- معرّف الخدمة:
nga_passport - نطاق البيانات: الهوية
- الفئة: جواز السفر
المدخلات
| الحقل | مطلوب | مثال |
|---|---|---|
passport_number | نعم | A12345678 |
last_name | نعم | Doe |
date_of_birth | نعم | 1990-01-01 |
first_name | لا | John |
vendor_data | لا | user-1234 |
- الحقول المطلوبة:
passport_numberوlast_nameوdate_of_birth - الحقول الاختيارية:
first_nameوvendor_data - الموافقة: غير مطلوبة
- التوفر في سير العمل: متاح في سير العمل
- التغطية: ~ 100%
- السعر: $0.22 لكل استعلام ناجح
معاملات الجسم
string
افتراضي:"NGA"
مطلوب
رمز الدولة وفق ISO 3166-1 alpha-3 لخدمة قاعدة البيانات هذه.مثال:
NGAstring
افتراضي:"nga_passport"
مطلوب
مصفوفة تحتوي على معرّف هذه الخدمة. تثبيت الخدمة يُبقي الطلب مقتصرًا على قاعدة البيانات هذه تحديدًا.مثال:
nga_passportstring
افتراضي:"A12345678"
مطلوب
رقم جواز السفر.مثال:
A12345678string
افتراضي:"Doe"
مطلوب
الاسم العائلي المراد التحقق منه.مثال:
Doestring
افتراضي:"1990-01-01"
مطلوب
تاريخ الميلاد بصيغة
YYYY-MM-DD.مثال: 1990-01-01string
الاسم الأول المراد التحقق منه.مثال:
Johnstring
افتراضي:"user-1234"
معرّفك الثابت لهذا الشخص، مثل معرّف المستخدم الداخلي لديك. تستخدمه Didit لربط عمليات التحقق المستقلة بالمستخدم النهائي نفسه، وتقليل الضوضاء في اكتشاف التكرار.مثال:
user-1234قواعد المدخلات وملاحظات التحقق
- يجب أن يستخدم
passport_numberأحرفًا كبيرة. - يجب أن يطابق
passport_numberالنمط[A-Z]\d{8}.
كيفية الاستدعاء
curl -X POST "https://verification.didit.me/v3/database-validation/" \
-H "x-api-key: YOUR_API_KEY" \
-F "issuing_state=NGA" \
-F "services=nga_passport" \
-F "vendor_data=user-1234" \
-F "passport_number=A12345678" \
-F "last_name=Doe" \
-F "date_of_birth=1990-01-01"
from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.database_validation.validate(
issuing_state="NGA",
services=["nga_passport"],
last_name="Doe",
date_of_birth="1990-01-01",
passport_number="A12345678",
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: "NGA",
services: ["nga_passport"],
last_name: "Doe",
date_of_birth: "1990-01-01",
passport_number: "A12345678",
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: "NGA",
Services: didit.Some([]string{"nga_passport"}),
LastName: didit.String("Doe"),
DateOfBirth: didit.String("1990-01-01"),
PassportNumber: didit.String("A12345678"),
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("NGA")
.services(List.of("nga_passport"))
.lastName("Doe")
.dateOfBirth(LocalDate.parse("1990-01-01"))
.passportNumber("A12345678")
.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' => 'NGA',
'services' => ['nga_passport'],
'last_name' => 'Doe',
'date_of_birth' => '1990-01-01',
'passport_number' => 'A12345678',
'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: "NGA",
services: ["nga_passport"],
last_name: "Doe",
date_of_birth: "1990-01-01",
passport_number: "A12345678",
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 = "NGA",
Services = new string[] { "nga_passport" },
LastName = "Doe",
DateOfBirth = "1990-01-01",
PassportNumber = "A12345678",
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": "NGA",
"match_type": "full_match",
"validations": [
{
"outcome_code": "MATCH",
"service_id": "nga_passport",
"service_name": "Nigeria International Passport (NIS)",
"source_data": {
"date_of_birth": "1990-01-01",
"first_name": "John",
"identification_number": "SAMPLE-ID-12345",
"last_name": "Doe"
},
"validation": {
"date_of_birth": "full_match",
"full_name": "full_match",
"identification_number": "full_match"
}
}
]
}
PARTIAL_MATCH: عُثر على رقم الهوية، لكن حقلًا شخصيًا واحدًا أو أكثر (عادةً الاسم أو تاريخ الميلاد) لم يتطابق تطابقًا كاملًا.{
"request_id": "req_01H…",
"status": "In Review",
"issuing_state": "NGA",
"match_type": "partial_match",
"validations": [
{
"outcome_code": "PARTIAL_MATCH",
"service_id": "nga_passport",
"service_name": "Nigeria International Passport (NIS)",
"source_data": {
"date_of_birth": "1990-01-01",
"first_name": "John",
"identification_number": "SAMPLE-ID-12345",
"last_name": "Doe"
},
"validation": {
"date_of_birth": "full_match",
"full_name": "no_match",
"identification_number": "full_match"
}
}
]
}
NO_MATCH: لم يُرجع السجل أي تطابق للبيانات المرسلة.{
"request_id": "req_01H…",
"status": "Declined",
"issuing_state": "NGA",
"match_type": "no_match",
"validations": [
{
"outcome_code": "NO_MATCH",
"service_id": "nga_passport",
"service_name": "Nigeria International Passport (NIS)",
"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"
}
}
]
}
DOCUMENT_NOT_FOUND: رقم المستند المرسل لا يتوافق مع أي سجل في سجل الهيئة.{
"request_id": "req_01H…",
"status": "Declined",
"issuing_state": "NGA",
"match_type": "no_match",
"validations": [
{
"outcome_code": "DOCUMENT_NOT_FOUND",
"service_id": "nga_passport",
"service_name": "Nigeria International Passport (NIS)",
"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"
}
}
]
}
البيانات المرجعة
تعتمد الحقول الدقيقة التي تظهر فيsource_data على ما يعيده السجل. يوضح المثال المولَّد لـ nga_passport حاليًا الشكل الموحّد التالي:
date_of_birthfirst_nameidentification_numberlast_name
الأسعار واتفاقيات مستوى الخدمة
تُحتسب استعلامات جواز السفر الدولي النيجيري (NIS) فقط عندما تتلقى Didit نتيجة حاسمة من مصدر التحقق.- السعر لكل استدعاء: $0.22 USD.
- الفوترة: لكل استعلام ناجح. لا تُحتسب رسوم عندما يتعذر الوصول إلى السجل، أو عندما تكون الحقول المطلوبة مفقودة، أو عندما يُرفض الطلب قبل وصوله إلى المصدر.
- زمن الاستجابة: أقل من ثانيتين عادةً عند المئين 95 (p95).
- التوفر: 99.9% لكل ربع سنة من جهة Didit؛ ويتفاوت توفر المصدر الخارجي حسب الدولة ومجموعة البيانات.
متابعة القراءة
آخر تعديل في ٧ نوفمبر ٢٠٢٦