curl -X POST "https://verification.didit.me/v3/database-validation/" \
-H "x-api-key: YOUR_API_KEY" \
-F "issuing_state=GTM" \
-F "services=gtm_dpi_facial" \
-F "vendor_data=user-1234" \
-F "consent=true" \
-F "document_number=1234567890101" \
-F "selfie=@./selfie.jpg" \
-F "first_name=John" \
-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="GTM",
services=["gtm_dpi_facial"],
consent=True,
first_name="John",
last_name="Doe",
date_of_birth="1990-01-01",
document_number="1234567890101",
vendor_data="user-1234",
selfie=open("selfie.jpg", "rb"),
)
print(result)
import Didit, { fileFromPath } from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.databaseValidation.validate({
issuing_state: "GTM",
services: ["gtm_dpi_facial"],
consent: true,
first_name: "John",
last_name: "Doe",
date_of_birth: "1990-01-01",
document_number: "1234567890101",
vendor_data: "user-1234",
selfie: await fileFromPath("selfie.jpg"),
});
console.log(result);
ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.DatabaseValidation.Validate(ctx, didit.DatabaseValidationValidateParams{
IssuingState: "GTM",
Services: didit.Some([]string{"gtm_dpi_facial"}),
Consent: didit.Bool(true),
FirstName: didit.String("John"),
LastName: didit.String("Doe"),
DateOfBirth: didit.String("1990-01-01"),
DocumentNumber: didit.String("1234567890101"),
VendorData: didit.String("user-1234"),
Selfie: didit.Some(didit.FileFromPath("selfie.jpg")),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)
import java.nio.file.Path;
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("GTM")
.services(List.of("gtm_dpi_facial"))
.consent(true)
.firstName("John")
.lastName("Doe")
.dateOfBirth(LocalDate.parse("1990-01-01"))
.documentNumber("1234567890101")
.vendorData("user-1234")
.selfie(Path.of("selfie.jpg"))
.build());
System.out.println(result);
<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
use Didit\File;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->databaseValidation->validate([
'issuing_state' => 'GTM',
'services' => ['gtm_dpi_facial'],
'consent' => true,
'first_name' => 'John',
'last_name' => 'Doe',
'date_of_birth' => '1990-01-01',
'document_number' => '1234567890101',
'vendor_data' => 'user-1234',
'selfie' => File::fromPath('selfie.jpg'),
]);
print_r($result->toArray());
require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.database_validation.validate(
issuing_state: "GTM",
services: ["gtm_dpi_facial"],
consent: true,
first_name: "John",
last_name: "Doe",
date_of_birth: "1990-01-01",
document_number: "1234567890101",
vendor_data: "user-1234",
selfie: Pathname("selfie.jpg")
)
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 = "GTM",
Services = new string[] { "gtm_dpi_facial" },
Consent = true,
FirstName = "John",
LastName = "Doe",
DateOfBirth = "1990-01-01",
DocumentNumber = "1234567890101",
VendorData = "user-1234",
Selfie = FileUpload.FromPath("selfie.jpg"),
});
Console.WriteLine(JsonSerializer.Serialize(result));
{
"request_id": "req_01H…",
"status": "Approved",
"issuing_state": "GTM",
"match_type": "full_match",
"validations": [
{
"outcome_code": "MATCH",
"service_id": "gtm_dpi_facial",
"service_name": "Guatemala - DPI + face match (RENAP)",
"source_data": {
"date_of_birth": "1990-01-01",
"document_expiration_date": "2031-11-24",
"face_match": true,
"face_match_score": 98.5,
"first_name": "JOHN",
"full_name": "JOHN DOE",
"gender": "M",
"identification_number": "1234567890101",
"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": "GTM",
"match_type": "partial_match",
"validations": [
{
"outcome_code": "PARTIAL_MATCH",
"service_id": "gtm_dpi_facial",
"service_name": "Guatemala - DPI + face match (RENAP)",
"source_data": {
"date_of_birth": "1990-01-01",
"document_expiration_date": "2031-11-24",
"face_match": true,
"face_match_score": 98.5,
"first_name": "JOHN",
"full_name": "JOHN DOE",
"gender": "M",
"identification_number": "1234567890101",
"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": "GTM",
"match_type": "no_match",
"validations": [
{
"outcome_code": "NO_MATCH",
"service_id": "gtm_dpi_facial",
"service_name": "Guatemala - DPI + face match (RENAP)",
"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": "GTM",
"match_type": "no_match",
"validations": [
{
"outcome_code": "BIOMETRIC_NO_MATCH",
"service_id": "gtm_dpi_facial",
"service_name": "Guatemala - DPI + face match (RENAP)",
"source_data": {
"date_of_birth": "NO_MATCH",
"face_match": false,
"face_match_score": 0,
"first_name": "NO_MATCH",
"identification_number": "NO_MATCH",
"last_name": "NO_MATCH"
},
"validation": {
"date_of_birth": "no_match",
"full_name": "no_match",
"identification_number": "no_match"
}
}
]
}
{
"request_id": "req_01H…",
"status": "Declined",
"issuing_state": "GTM",
"match_type": "no_match",
"validations": [
{
"outcome_code": "DOCUMENT_NOT_FOUND",
"service_id": "gtm_dpi_facial",
"service_name": "Guatemala - DPI + face match (RENAP)",
"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": "In Review",
"issuing_state": "GTM",
"match_type": "full_match",
"validations": [
{
"outcome_code": "DECEASED",
"service_id": "gtm_dpi_facial",
"service_name": "Guatemala - DPI + face match (RENAP)",
"source_data": {
"date_of_birth": "1990-01-01",
"document_expiration_date": "2031-11-24",
"face_match": true,
"face_match_score": 98.5,
"first_name": "JOHN",
"full_name": "JOHN DOE",
"gender": "M",
"identification_number": "1234567890101",
"last_name": "DOE"
},
"validation": {
"date_of_birth": "full_match",
"full_name": "full_match",
"identification_number": "full_match"
}
}
]
}
🇬🇹 غواتيمالا
غواتيمالا - DPI ومطابقة الوجه (RENAP) API: مطابقة الهوية
غواتيمالا - DPI ومطابقة الوجه (RENAP): التحقق من قاعدة بيانات غواتيمالا الرسمية عبر Didit. الدفع لكل استدعاء من $0.40، دون عقود أو حد أدنى.
POST
/
v3
/
database-validation
/
curl -X POST "https://verification.didit.me/v3/database-validation/" \
-H "x-api-key: YOUR_API_KEY" \
-F "issuing_state=GTM" \
-F "services=gtm_dpi_facial" \
-F "vendor_data=user-1234" \
-F "consent=true" \
-F "document_number=1234567890101" \
-F "selfie=@./selfie.jpg" \
-F "first_name=John" \
-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="GTM",
services=["gtm_dpi_facial"],
consent=True,
first_name="John",
last_name="Doe",
date_of_birth="1990-01-01",
document_number="1234567890101",
vendor_data="user-1234",
selfie=open("selfie.jpg", "rb"),
)
print(result)
import Didit, { fileFromPath } from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.databaseValidation.validate({
issuing_state: "GTM",
services: ["gtm_dpi_facial"],
consent: true,
first_name: "John",
last_name: "Doe",
date_of_birth: "1990-01-01",
document_number: "1234567890101",
vendor_data: "user-1234",
selfie: await fileFromPath("selfie.jpg"),
});
console.log(result);
ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.DatabaseValidation.Validate(ctx, didit.DatabaseValidationValidateParams{
IssuingState: "GTM",
Services: didit.Some([]string{"gtm_dpi_facial"}),
Consent: didit.Bool(true),
FirstName: didit.String("John"),
LastName: didit.String("Doe"),
DateOfBirth: didit.String("1990-01-01"),
DocumentNumber: didit.String("1234567890101"),
VendorData: didit.String("user-1234"),
Selfie: didit.Some(didit.FileFromPath("selfie.jpg")),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)
import java.nio.file.Path;
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("GTM")
.services(List.of("gtm_dpi_facial"))
.consent(true)
.firstName("John")
.lastName("Doe")
.dateOfBirth(LocalDate.parse("1990-01-01"))
.documentNumber("1234567890101")
.vendorData("user-1234")
.selfie(Path.of("selfie.jpg"))
.build());
System.out.println(result);
<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
use Didit\File;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->databaseValidation->validate([
'issuing_state' => 'GTM',
'services' => ['gtm_dpi_facial'],
'consent' => true,
'first_name' => 'John',
'last_name' => 'Doe',
'date_of_birth' => '1990-01-01',
'document_number' => '1234567890101',
'vendor_data' => 'user-1234',
'selfie' => File::fromPath('selfie.jpg'),
]);
print_r($result->toArray());
require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.database_validation.validate(
issuing_state: "GTM",
services: ["gtm_dpi_facial"],
consent: true,
first_name: "John",
last_name: "Doe",
date_of_birth: "1990-01-01",
document_number: "1234567890101",
vendor_data: "user-1234",
selfie: Pathname("selfie.jpg")
)
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 = "GTM",
Services = new string[] { "gtm_dpi_facial" },
Consent = true,
FirstName = "John",
LastName = "Doe",
DateOfBirth = "1990-01-01",
DocumentNumber = "1234567890101",
VendorData = "user-1234",
Selfie = FileUpload.FromPath("selfie.jpg"),
});
Console.WriteLine(JsonSerializer.Serialize(result));
{
"request_id": "req_01H…",
"status": "Approved",
"issuing_state": "GTM",
"match_type": "full_match",
"validations": [
{
"outcome_code": "MATCH",
"service_id": "gtm_dpi_facial",
"service_name": "Guatemala - DPI + face match (RENAP)",
"source_data": {
"date_of_birth": "1990-01-01",
"document_expiration_date": "2031-11-24",
"face_match": true,
"face_match_score": 98.5,
"first_name": "JOHN",
"full_name": "JOHN DOE",
"gender": "M",
"identification_number": "1234567890101",
"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": "GTM",
"match_type": "partial_match",
"validations": [
{
"outcome_code": "PARTIAL_MATCH",
"service_id": "gtm_dpi_facial",
"service_name": "Guatemala - DPI + face match (RENAP)",
"source_data": {
"date_of_birth": "1990-01-01",
"document_expiration_date": "2031-11-24",
"face_match": true,
"face_match_score": 98.5,
"first_name": "JOHN",
"full_name": "JOHN DOE",
"gender": "M",
"identification_number": "1234567890101",
"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": "GTM",
"match_type": "no_match",
"validations": [
{
"outcome_code": "NO_MATCH",
"service_id": "gtm_dpi_facial",
"service_name": "Guatemala - DPI + face match (RENAP)",
"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": "GTM",
"match_type": "no_match",
"validations": [
{
"outcome_code": "BIOMETRIC_NO_MATCH",
"service_id": "gtm_dpi_facial",
"service_name": "Guatemala - DPI + face match (RENAP)",
"source_data": {
"date_of_birth": "NO_MATCH",
"face_match": false,
"face_match_score": 0,
"first_name": "NO_MATCH",
"identification_number": "NO_MATCH",
"last_name": "NO_MATCH"
},
"validation": {
"date_of_birth": "no_match",
"full_name": "no_match",
"identification_number": "no_match"
}
}
]
}
{
"request_id": "req_01H…",
"status": "Declined",
"issuing_state": "GTM",
"match_type": "no_match",
"validations": [
{
"outcome_code": "DOCUMENT_NOT_FOUND",
"service_id": "gtm_dpi_facial",
"service_name": "Guatemala - DPI + face match (RENAP)",
"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": "In Review",
"issuing_state": "GTM",
"match_type": "full_match",
"validations": [
{
"outcome_code": "DECEASED",
"service_id": "gtm_dpi_facial",
"service_name": "Guatemala - DPI + face match (RENAP)",
"source_data": {
"date_of_birth": "1990-01-01",
"document_expiration_date": "2031-11-24",
"face_match": true,
"face_match_score": 98.5,
"first_name": "JOHN",
"full_name": "JOHN DOE",
"gender": "M",
"identification_number": "1234567890101",
"last_name": "DOE"
},
"validation": {
"date_of_birth": "full_match",
"full_name": "full_match",
"identification_number": "full_match"
}
}
]
}
يتحقق من رقم CUI الغواتيمالي لدى السجل الوطني (RENAP)، ويطابق صورة السيلفي للمستخدم مع الصورة الرسمية في RENAP، ويقارن أسماء صاحب الهوية وتاريخ ميلاده مع سجل الجهة. تتيح Didit هذه الخدمة عبر
POST /v3/database-validation/ لتتحقق من البيانات المُقدَّمة مقابل المصدر الموثوق، وتتلقى نتائج مطابقة موحّدة.
التغطية
- التغطية: ~ 100%
- الدولة: غواتيمالا
- معرّف الخدمة:
gtm_dpi_facial - نطاق البيانات: بيومتري
- الفئة: NationalIDRegistry
المدخلات
| الحقل | مطلوب | مثال |
|---|---|---|
document_number | نعم | 1234567890101 |
selfie | نعم | @./selfie.jpg |
first_name | لا | John |
last_name | لا | Doe |
date_of_birth | لا | 1990-01-01 |
vendor_data | لا | user-1234 |
- المدخلات المطلوبة:
document_number،selfie - المدخلات الاختيارية:
first_name،last_name،date_of_birth،vendor_data - الموافقة: مطلوبة
- توفر سير العمل: متاح في سير العمل
- التغطية: ~ 100%
- السعر: $0.40 لكل استعلام ناجح
معاملات الجسم
string
افتراضي:"GTM"
مطلوب
رمز الدولة وفق ISO 3166-1 alpha-3 لخدمة قاعدة البيانات هذه.مثال:
GTMstring
افتراضي:"gtm_dpi_facial"
مطلوب
مصفوفة تحتوي على معرّف هذه الخدمة. تثبيت الخدمة يُبقي الطلب مقتصرًا على قاعدة البيانات هذه تحديدًا.مثال:
gtm_dpi_facialboolean
افتراضي:"true"
مطلوب
موافقة صريحة من المستخدم النهائي على هذه الخدمة.مثال:
truestring
افتراضي:"1234567890101"
مطلوب
رقم الوثيقة المستخرج من المستند أو المقدَّم من المستخدم.مثال:
1234567890101file
مطلوب
ملف صورة السيلفي المراد رفعه للتحقق البيومتري من قاعدة البيانات. الصيغ المقبولة: JPEG أو PNG أو WebP.مثال:
@./selfie.jpgstring
افتراضي:"John"
الاسم الأول المراد التحقق منه.مثال:
Johnstring
افتراضي:"Doe"
اسم العائلة المراد التحقق منه.مثال:
Doestring
افتراضي:"1990-01-01"
تاريخ الميلاد بصيغة
YYYY-MM-DD.مثال: 1990-01-01string
افتراضي:"user-1234"
مرجعك الثابت لهذا الشخص، مثل معرّف المستخدم الداخلي لديك. تستخدمه Didit لربط الفحوصات المستقلة بالمستخدم النهائي نفسه، وتقليل التشويش في كشف التكرار.مثال:
user-1234قواعد الإدخال وملاحظات التحقق
- رقم DPI الغواتيمالي (13 رقمًا بالضبط)
- يجب أن يحتوي
document_numberعلى أرقام فقط؛ أزِل المسافات والشرطات وعلامات الترقيم قبل إرسال الطلب. - يجب أن يكون طول
document_number13 حرفًا بالضبط. - يجب أن يطابق
document_numberالنمط\d{13}.
كيفية الاستدعاء
curl -X POST "https://verification.didit.me/v3/database-validation/" \
-H "x-api-key: YOUR_API_KEY" \
-F "issuing_state=GTM" \
-F "services=gtm_dpi_facial" \
-F "vendor_data=user-1234" \
-F "consent=true" \
-F "document_number=1234567890101" \
-F "selfie=@./selfie.jpg" \
-F "first_name=John" \
-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="GTM",
services=["gtm_dpi_facial"],
consent=True,
first_name="John",
last_name="Doe",
date_of_birth="1990-01-01",
document_number="1234567890101",
vendor_data="user-1234",
selfie=open("selfie.jpg", "rb"),
)
print(result)
import Didit, { fileFromPath } from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.databaseValidation.validate({
issuing_state: "GTM",
services: ["gtm_dpi_facial"],
consent: true,
first_name: "John",
last_name: "Doe",
date_of_birth: "1990-01-01",
document_number: "1234567890101",
vendor_data: "user-1234",
selfie: await fileFromPath("selfie.jpg"),
});
console.log(result);
ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.DatabaseValidation.Validate(ctx, didit.DatabaseValidationValidateParams{
IssuingState: "GTM",
Services: didit.Some([]string{"gtm_dpi_facial"}),
Consent: didit.Bool(true),
FirstName: didit.String("John"),
LastName: didit.String("Doe"),
DateOfBirth: didit.String("1990-01-01"),
DocumentNumber: didit.String("1234567890101"),
VendorData: didit.String("user-1234"),
Selfie: didit.Some(didit.FileFromPath("selfie.jpg")),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)
import java.nio.file.Path;
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("GTM")
.services(List.of("gtm_dpi_facial"))
.consent(true)
.firstName("John")
.lastName("Doe")
.dateOfBirth(LocalDate.parse("1990-01-01"))
.documentNumber("1234567890101")
.vendorData("user-1234")
.selfie(Path.of("selfie.jpg"))
.build());
System.out.println(result);
<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
use Didit\File;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->databaseValidation->validate([
'issuing_state' => 'GTM',
'services' => ['gtm_dpi_facial'],
'consent' => true,
'first_name' => 'John',
'last_name' => 'Doe',
'date_of_birth' => '1990-01-01',
'document_number' => '1234567890101',
'vendor_data' => 'user-1234',
'selfie' => File::fromPath('selfie.jpg'),
]);
print_r($result->toArray());
require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.database_validation.validate(
issuing_state: "GTM",
services: ["gtm_dpi_facial"],
consent: true,
first_name: "John",
last_name: "Doe",
date_of_birth: "1990-01-01",
document_number: "1234567890101",
vendor_data: "user-1234",
selfie: Pathname("selfie.jpg")
)
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 = "GTM",
Services = new string[] { "gtm_dpi_facial" },
Consent = true,
FirstName = "John",
LastName = "Doe",
DateOfBirth = "1990-01-01",
DocumentNumber = "1234567890101",
VendorData = "user-1234",
Selfie = FileUpload.FromPath("selfie.jpg"),
});
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": "GTM",
"match_type": "full_match",
"validations": [
{
"outcome_code": "MATCH",
"service_id": "gtm_dpi_facial",
"service_name": "Guatemala - DPI + face match (RENAP)",
"source_data": {
"date_of_birth": "1990-01-01",
"document_expiration_date": "2031-11-24",
"face_match": true,
"face_match_score": 98.5,
"first_name": "JOHN",
"full_name": "JOHN DOE",
"gender": "M",
"identification_number": "1234567890101",
"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": "GTM",
"match_type": "partial_match",
"validations": [
{
"outcome_code": "PARTIAL_MATCH",
"service_id": "gtm_dpi_facial",
"service_name": "Guatemala - DPI + face match (RENAP)",
"source_data": {
"date_of_birth": "1990-01-01",
"document_expiration_date": "2031-11-24",
"face_match": true,
"face_match_score": 98.5,
"first_name": "JOHN",
"full_name": "JOHN DOE",
"gender": "M",
"identification_number": "1234567890101",
"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": "GTM",
"match_type": "no_match",
"validations": [
{
"outcome_code": "NO_MATCH",
"service_id": "gtm_dpi_facial",
"service_name": "Guatemala - DPI + face match (RENAP)",
"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"
}
}
]
}
BIOMETRIC_NO_MATCH: كانت درجة تطابق الوجه أقل من حد القبول، أي أن صورة السيلفي لا تعود لنفس الشخص الموجود في صورة السجل.{
"request_id": "req_01H…",
"status": "Declined",
"issuing_state": "GTM",
"match_type": "no_match",
"validations": [
{
"outcome_code": "BIOMETRIC_NO_MATCH",
"service_id": "gtm_dpi_facial",
"service_name": "Guatemala - DPI + face match (RENAP)",
"source_data": {
"date_of_birth": "NO_MATCH",
"face_match": false,
"face_match_score": 0,
"first_name": "NO_MATCH",
"identification_number": "NO_MATCH",
"last_name": "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": "GTM",
"match_type": "no_match",
"validations": [
{
"outcome_code": "DOCUMENT_NOT_FOUND",
"service_id": "gtm_dpi_facial",
"service_name": "Guatemala - DPI + face match (RENAP)",
"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"
}
}
]
}
DECEASED: تطابقت الهوية، لكن يشير السجل إلى أن الشخص متوفى.{
"request_id": "req_01H…",
"status": "In Review",
"issuing_state": "GTM",
"match_type": "full_match",
"validations": [
{
"outcome_code": "DECEASED",
"service_id": "gtm_dpi_facial",
"service_name": "Guatemala - DPI + face match (RENAP)",
"source_data": {
"date_of_birth": "1990-01-01",
"document_expiration_date": "2031-11-24",
"face_match": true,
"face_match_score": 98.5,
"first_name": "JOHN",
"full_name": "JOHN DOE",
"gender": "M",
"identification_number": "1234567890101",
"last_name": "DOE"
},
"validation": {
"date_of_birth": "full_match",
"full_name": "full_match",
"identification_number": "full_match"
}
}
]
}
البيانات المُعادة
تعتمد الحقول الدقيقة الظاهرة فيsource_data على ما يُعيده السجل. يوثّق المثال المُنشأ لـ gtm_dpi_facial حاليًا هذا الشكل الموحّد:
date_of_birthdocument_expiration_dateface_matchface_match_scorefirst_namefull_namegenderidentification_numberlast_name
الأسعار واتفاقيات مستوى الخدمة
تُحتسب استعلامات DPI ومطابقة الوجه في غواتيمالا (RENAP) فقط عندما تتلقى Didit نتيجة حاسمة من مصدر التحقق.- السعر لكل عملية: $0.40 USD.
- الفوترة: لكل استعلام ناجح. لا يتم تحصيل أي رسوم عندما يتعذر الوصول إلى السجل، أو عندما تكون الحقول المطلوبة ناقصة، أو عندما يُرفض الطلب قبل وصوله إلى المصدر.
- زمن الاستجابة: عادةً p95 أقل من ثانيتين.
- التوفر: 99.9% لكل ربع سنة من جهة Didit؛ ويختلف توفر المصدر النهائي بحسب الدولة ومجموعة البيانات.
متابعة القراءة
آخر تعديل في ٧ نوفمبر ٢٠٢٦