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

# واجهة التحقق من مكتب الائتمان الإيطالي: مطابقة الرأس

> مكتب الائتمان الإيطالي: التحقق من قواعد بيانات إيطاليا الموثوقة عبر بنية الهوية من Didit. الدفع لكل استدعاء بدءاً من $3.25، دون عقود أو حد أدنى.

يتحقق من بيانات الإدخال مقابل بيانات رأس الائتمان المستمدة من مكتب ائتمان في إيطاليا. تتيح لك Didit الوصول إلى هذه الخدمة عبر `POST /v3/database-validation/` للتحقق من البيانات المرسلة مقابل المصدر الموثوق، والحصول على نتائج مطابقة موحدة.

## التغطية

* **التغطية:** \~ 80%
* **الدولة:** إيطاليا
* **معرّف الخدمة:** `ita_credit_bureau`
* **نطاق البيانات:** مالية
* **الفئة:** CreditBureau

## المدخلات

| الحقل | مطلوب | مثال |
| - | -: | - |
| `first_name` | نعم | `John` |
| `last_name` | نعم | `Doe` |
| `address.street_1` | نعم | `123 Sample Street` |
| `address.postal_code` | نعم | `10001` |
| `tax_number` | نعم | `SAMPLE-TAX-12345` |
| `date_of_birth` | لا | `1990-01-01` |
| `address.street_2` | لا | `Unit 4` |
| `address.city` | لا | `Sample City` |
| `address.region` | لا | `Sample State` |
| `vendor_data` | لا | `user-1234` |

* **المدخلات المطلوبة:** `first_name`، `last_name`، `address.street_1`، `address.postal_code`، `tax_number`
* **المدخلات الاختيارية:** `date_of_birth`، `address.street_2`، `address.city`، `address.region`، `vendor_data`
* **الموافقة:** غير مطلوبة
* **توفر سير العمل:** متاح في سير العمل
* **التغطية:** \~ 80%
* **السعر:** \$3.25 لكل استعلام ناجح

لا تحمل كل وثيقة تقبلها هذه الخدمة المعرّف الذي تستعلم به. عندما لا يُستخرج المعرّف من الوثيقة، يُسجَّل الفحص بأنه **غير قابل للتطبيق**، ولا يُستعلم عن أي قاعدة بيانات ولا تُحتسب أي رسوم، وهذا يمثل نسبة كبيرة من المستخدمين الفعليين في بعض الدول. ولتغطية هؤلاء المستخدمين، اجمع المعرّف أيضاً من إجابة في الاستبيان، أو من حقل استخراج في Document AI، أو من قيمة ترسلها عند إنشاء الجلسة، ثم اربطه في خطوة التحقق من قواعد البيانات.

## معاملات الطلب

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

رمز الدولة وفق ISO 3166-1 alpha-3 لخدمة قاعدة البيانات هذه.

مثال: `ITA`

**services** `string` *required* (default: ita\_credit\_bureau)

مصفوفة تحتوي على معرّف هذه الخدمة. تثبيت الخدمة يُبقي الطلب مقتصراً على قاعدة البيانات المحددة هذه.

مثال: `ita_credit_bureau`

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

الاسم الأول المراد التحقق منه.

مثال: `John`

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

اسم العائلة المراد التحقق منه.

مثال: `Doe`

**address** `object` *required* (default: \{"street\_1":"123 Sample Street","street\_2":"Unit 4","city":"Sample City","region":"Sample State","postal\_code":"10001","country":"US"})

كائن عنوان سكني منظم. استخدم `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"}`

**tax\_number** `string` *required* (default: SAMPLE-TAX-12345)

رقم التعريف الضريبي أو المالي.

مثال: `SAMPLE-TAX-12345`

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

تاريخ الميلاد بصيغة `YYYY-MM-DD`.

مثال: `1990-01-01`

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

مرجع المستخدم الثابت لهذا الشخص لديك، مثل معرّف المستخدم الداخلي. تستخدمه Didit لربط الفحوصات المستقلة بالمستخدم النهائي نفسه، وتقليل الضوضاء الناتجة عن اكتشاف التكرار.

مثال: `user-1234`

## قواعد المدخلات وملاحظات التحقق

* يجب أن يكون `tax_number` بطول 16 حرفاً بالضبط.
* بالنسبة إلى خدمات العناوين، أرسل حقول العنوان المنظمة بدلاً من سلسلة `address` واحدة متى أمكن.
* `address.street_1` هو عنوان الشارع، ويشمل رقم المبنى ونوع الشارع.
* `address.street_2` هو الشقة أو الوحدة أو المبنى أو الطابق أو أي سطر إضافي للعنوان. أرسله فقط عندما يكون متاحاً لديك.
* `address.city` هو المدينة أو الضاحية أو الحي أو المنطقة المحلية أو الجوار.
* `address.region` هو الولاية أو المحافظة أو الإقليم أو البلدة.
* `address.postal_code` هو الرمز البريدي.
* تتطلب خدمات قواعد البيانات القائمة على العناوين عنواناً للشارع ورمزاً بريدياً على الأقل، ولا تُحتسب الطلبات التي تُرفض قبل البحث في المصدر.

## كيفية الاستدعاء

```bash cURL theme={null}
curl -X POST "https://verification.didit.me/v3/database-validation/" \
  -H "x-api-key: YOUR_API_KEY" \
  -F "issuing_state=ITA" \
  -F "services=ita_credit_bureau" \
  -F "vendor_data=user-1234" \
  -F "first_name=John" \
  -F "last_name=Doe" \
  -F 'address={"street_1":"123 Sample Street","street_2":"Unit 4","city":"Sample City","region":"Sample State","postal_code":"10001","country":"US"}' \
  -F "tax_number=SAMPLE-TAX-12345"
```

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

# Reads DIDIT_API_KEY.
client = Didit()

result = client.database_validation.validate(
    issuing_state="ITA",
    services=["ita_credit_bureau"],
    first_name="John",
    last_name="Doe",
    tax_number="SAMPLE-TAX-12345",
    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)
```

```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: "ITA",
  services: ["ita_credit_bureau"],
  first_name: "John",
  last_name: "Doe",
  tax_number: "SAMPLE-TAX-12345",
  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);
```

```go Go theme={null}
ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()

result, err := client.DatabaseValidation.Validate(ctx, didit.DatabaseValidationValidateParams{
	IssuingState: "ITA",
	Services:     didit.Some([]string{"ita_credit_bureau"}),
	FirstName:    didit.String("John"),
	LastName:     didit.String("Doe"),
	TaxNumber:    didit.String("SAMPLE-TAX-12345"),
	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)
```

```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("ITA")
        .services(List.of("ita_credit_bureau"))
        .firstName("John")
        .lastName("Doe")
        .taxNumber("SAMPLE-TAX-12345")
        .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 PHP theme={null}
<?php

require 'vendor/autoload.php';

use Didit\DiditClient;

// Reads DIDIT_API_KEY.
$didit = new DiditClient();

$result = $didit->databaseValidation->validate([
    'issuing_state' => 'ITA',
    'services' => ['ita_credit_bureau'],
    'first_name' => 'John',
    'last_name' => 'Doe',
    'tax_number' => 'SAMPLE-TAX-12345',
    '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());
```

```ruby Ruby theme={null}
require "didit"

# Reads DIDIT_API_KEY.
didit = Didit::Client.new

result = didit.database_validation.validate(
  issuing_state: "ITA",
  services: ["ita_credit_bureau"],
  first_name: "John",
  last_name: "Doe",
  tax_number: "SAMPLE-TAX-12345",
  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
```

```csharp .NET theme={null}
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 = "ITA",
    Services = new string[] { "ita_credit_bureau" },
    FirstName = "John",
    LastName = "Doe",
    TaxNumber = "SAMPLE-TAX-12345",
    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` المعروضة الحالة الافتراضية للميزة، ويمكن أن تتجاوزها [إجراءات التطابق الجزئي / عدم التطابق](https://docs.didit.me/ar/core-technology/database-validation/database-validation-warnings.md) التي تضبطها.

**`MATCH`** — أكّد السجل الهوية، وتطابق كل حقل تم فحصه.

```json 200 OK — MATCH theme={null}
{
  "request_id": "req_01H…",
  "status": "Approved",
  "issuing_state": "ITA",
  "match_type": "full_match",
  "validations": [
    {
      "outcome_code": "MATCH",
      "service_id": "ita_credit_bureau",
      "service_name": "Italy Credit Bureau",
      "source_data": {
        "address": "123 Sample Street",
        "date_of_birth": "1990-01-01",
        "first_name": "John",
        "identification_number": "SAMPLE-ID-12345",
        "last_name": "Doe"
      },
      "validation": {
        "address": "full_match",
        "full_name": "full_match",
        "identification_number": "full_match"
      }
    }
  ]
}
```

**`PARTIAL_MATCH`** — عُثر على رقم التعريف، لكن حقلًا شخصيًا واحدًا أو أكثر (عادةً الاسم أو تاريخ الميلاد) لم يتطابق بالكامل.

```json 200 OK — PARTIAL_MATCH theme={null}
{
  "request_id": "req_01H…",
  "status": "In Review",
  "issuing_state": "ITA",
  "match_type": "partial_match",
  "validations": [
    {
      "outcome_code": "PARTIAL_MATCH",
      "service_id": "ita_credit_bureau",
      "service_name": "Italy Credit Bureau",
      "source_data": {
        "address": "123 Sample Street",
        "date_of_birth": "1990-01-01",
        "first_name": "John",
        "identification_number": "SAMPLE-ID-12345",
        "last_name": "Doe"
      },
      "validation": {
        "address": "full_match",
        "full_name": "no_match",
        "identification_number": "full_match"
      }
    }
  ]
}
```

**`NO_MATCH`** — لم يُرجع السجل أي تطابق مع البيانات المُرسلة.

```json 200 OK — NO_MATCH theme={null}
{
  "request_id": "req_01H…",
  "status": "Declined",
  "issuing_state": "ITA",
  "match_type": "no_match",
  "validations": [
    {
      "outcome_code": "NO_MATCH",
      "service_id": "ita_credit_bureau",
      "service_name": "Italy Credit Bureau",
      "source_data": {
        "address": "NO_MATCH",
        "full_name": "NO_MATCH",
        "identification_number": "NO_MATCH"
      },
      "validation": {
        "address": "no_match",
        "full_name": "no_match",
        "identification_number": "no_match"
      }
    }
  ]
}
```

## البيانات المُرجعة

تعتمد الحقول الدقيقة الظاهرة في `source_data` على ما يُرجعه السجل. يوثّق المثال المُولَّد لـ `ita_credit_bureau` حاليًا هذا الشكل الموحَّد:

* `address`
* `date_of_birth`
* `first_name`
* `identification_number`
* `last_name`

## الأسعار واتفاقيات مستوى الخدمة

تُحتسب استعلامات Italy Credit Bureau فقط عندما تتلقى Didit نتيجة حاسمة من مصدر التحقق.

* **السعر لكل استدعاء:** ‏\$3.25 USD.
* **الفوترة:** لكل استعلام ناجح. لا تُحتسب أي رسوم عندما يتعذر الوصول إلى السجل، أو عندما تكون الحقول المطلوبة ناقصة، أو عندما يُرفض الطلب قبل وصوله إلى المصدر.
* **زمن الاستجابة:** يبلغ p95 النموذجي أقل من ثانيتين.
* **التوفر:** 99.9% لكل ربع سنة من جهة Didit؛ ويختلف توفر المصدر النهائي بحسب الدولة ومجموعة البيانات.

## متابعة القراءة

* [نظرة عامة على التحقق من قواعد البيانات في إيطاليا](https://docs.didit.me/api-reference/database-validation/italy.md)
* [نظرة عامة على التحقق من قواعد البيانات](https://docs.didit.me/ar/core-technology/database-validation/overview.md)
* [رموز النتائج](https://docs.didit.me/ar/core-technology/database-validation/database-validation-outcome-codes.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.