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

# Проверка Zambia NRC (налоговый реестр): API верификации

> Zambia NRC (налоговый реестр): проверка по официальным базам Замбии через инфраструктуру Didit. Оплата за вызов от $0.20, без контрактов и минимумов.

Проверяет, что номер Замбийской национальной регистрационной карты (NRC) принадлежит указанному налогоплательщику по реестру Zambia Revenue Authority. Реестр содержит только полное имя налогоплательщика, поэтому сравнивается только это поле. Didit предоставляет эту услугу через `POST /v3/database-validation/`, чтобы вы могли сверить переданные данные с авторитетным источником и получить нормализованные результаты сопоставления.

## Покрытие

* **Покрытие:** –
* **Страна:** Замбия
* **ID сервиса:** `zmb_national_id`
* **Домен данных:** Идентификация
* **Категория:** TaxRegistry

## Входные данные

| Поле | Обязательное | Пример |
| - | -: | - |
| `national_id` | Да | `123456/78/9` |
| `first_name` | Да | `John` |
| `last_name` | Да | `Doe` |
| `vendor_data` | Нет | `user-1234` |

* **Обязательные поля:** `national_id`, `first_name`, `last_name`
* **Необязательные поля:** `vendor_data`
* **Согласие:** не требуется
* **Доступность в сценарии:** доступно в сценарии
* **Покрытие:** –
* **Цена:** \$0.20 за успешный запрос

## Параметры тела запроса

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

Код страны по ISO 3166-1 alpha-3 для этого сервиса проверки по базам данных.

Пример: `ZMB`

**services** `string` *required* (default: zmb\_national\_id)

Массив, содержащий ID этого сервиса. Привязка к сервису ограничивает запрос этой конкретной базой данных.

Пример: `zmb_national_id`

**national\_id** `string` *required* (default: 123456/78/9)

Национальный идентификационный номер для этого сервиса.

Пример: `123456/78/9`

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

Имя для проверки.

Пример: `John`

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

Фамилия для проверки.

Пример: `Doe`

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

Ваш стабильный идентификатор этого человека, например внутренний ID пользователя. Didit использует его, чтобы связать отдельные проверки с одним и тем же конечным пользователем и снизить количество лишних срабатываний при проверке дубликатов.

Пример: `user-1234`

## Правила для входных данных и примечания по валидации

* `national_id` должен использовать заглавные буквы.
* `national_id` должен соответствовать шаблону `\d{6}/?\d{2}/?\d`.

## Как вызвать

```bash cURL theme={null}
curl -X POST "https://verification.didit.me/v3/database-validation/" \
  -H "x-api-key: YOUR_API_KEY" \
  -F "issuing_state=ZMB" \
  -F "services=zmb_national_id" \
  -F "vendor_data=user-1234" \
  -F "national_id=123456/78/9" \
  -F "first_name=John" \
  -F "last_name=Doe"
```

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

# Reads DIDIT_API_KEY.
client = Didit()

result = client.database_validation.validate(
    issuing_state="ZMB",
    services=["zmb_national_id"],
    first_name="John",
    last_name="Doe",
    national_id="123456/78/9",
    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: "ZMB",
  services: ["zmb_national_id"],
  first_name: "John",
  last_name: "Doe",
  national_id: "123456/78/9",
  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: "ZMB",
	Services:     didit.Some([]string{"zmb_national_id"}),
	FirstName:    didit.String("John"),
	LastName:     didit.String("Doe"),
	NationalID:   didit.String("123456/78/9"),
	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("ZMB")
        .services(List.of("zmb_national_id"))
        .firstName("John")
        .lastName("Doe")
        .nationalId("123456/78/9")
        .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' => 'ZMB',
    'services' => ['zmb_national_id'],
    'first_name' => 'John',
    'last_name' => 'Doe',
    'national_id' => '123456/78/9',
    '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: "ZMB",
  services: ["zmb_national_id"],
  first_name: "John",
  last_name: "Doe",
  national_id: "123456/78/9",
  vendor_data: "user-1234"
)
puts result.to_h
```

```csharp .NET theme={null}
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 = "ZMB",
    Services = new string[] { "zmb_national_id" },
    FirstName = "John",
    LastName = "Doe",
    NationalId = "123456/78/9",
    VendorData = "user-1234",
});
Console.WriteLine(JsonSerializer.Serialize(result));
```

Каждый успешный вызов возвращает HTTP `200`. Поле **`outcome_code`** показывает, что произошло на самом деле: например, позволяет отличить реальное несовпадение биометрии (`BIOMETRIC_NO_MATCH`) от селфи, которое не удалось распознать (`BIOMETRIC_IMAGE_UNUSABLE`). Показанный `status` — это статус функции по умолчанию; ваши настроенные [действия при частичном совпадении и отсутствии совпадения](https://docs.didit.me/ru/core-technology/database-validation/database-validation-warnings.md) могут его переопределить.

**`MATCH`**: реестр подтвердил личность, и все проверенные поля совпали.

```json 200 OK — MATCH theme={null}
{
  "request_id": "req_01H…",
  "status": "Approved",
  "issuing_state": "ZMB",
  "match_type": "full_match",
  "validations": [
    {
      "outcome_code": "MATCH",
      "service_id": "zmb_national_id",
      "service_name": "Zambia NRC (tax register)",
      "source_data": {
        "first_name": "John",
        "full_name": "John Doe",
        "identification_number": "SAMPLE-ID-12345",
        "last_name": "Doe",
        "registration_status": "sample_value"
      },
      "validation": {
        "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": "ZMB",
  "match_type": "partial_match",
  "validations": [
    {
      "outcome_code": "PARTIAL_MATCH",
      "service_id": "zmb_national_id",
      "service_name": "Zambia NRC (tax register)",
      "source_data": {
        "first_name": "John",
        "full_name": "John Doe",
        "identification_number": "SAMPLE-ID-12345",
        "last_name": "Doe",
        "registration_status": "sample_value"
      },
      "validation": {
        "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": "ZMB",
  "match_type": "no_match",
  "validations": [
    {
      "outcome_code": "NO_MATCH",
      "service_id": "zmb_national_id",
      "service_name": "Zambia NRC (tax register)",
      "source_data": {
        "full_name": "NO_MATCH",
        "identification_number": "NO_MATCH"
      },
      "validation": {
        "full_name": "no_match",
        "identification_number": "no_match"
      }
    }
  ]
}
```

**`DOCUMENT_NOT_FOUND`**: переданный номер документа не соответствует ни одной записи в реестре.

```json 200 OK — DOCUMENT_NOT_FOUND theme={null}
{
  "request_id": "req_01H…",
  "status": "Declined",
  "issuing_state": "ZMB",
  "match_type": "no_match",
  "validations": [
    {
      "outcome_code": "DOCUMENT_NOT_FOUND",
      "service_id": "zmb_national_id",
      "service_name": "Zambia NRC (tax register)",
      "source_data": {
        "full_name": "NO_MATCH",
        "identification_number": "NO_MATCH"
      },
      "validation": {
        "full_name": "no_match",
        "identification_number": "no_match"
      }
    }
  ]
}
```

## Возвращаемые данные

Точный набор полей в `source_data` зависит от того, что возвращает реестр. Сгенерированный пример для `zmb_national_id` в настоящее время описывает такую нормализованную структуру:

* `first_name`
* `full_name`
* `identification_number`
* `last_name`
* `registration_status`

## Цены и SLA

Запросы к реестру NRC (налоговому реестру) Замбии тарифицируются только тогда, когда Didit получает окончательный результат от источника проверки.

* **Цена за вызов:** \$0.20 USD.
* **Тарификация:** за успешный запрос. Плата не взимается, если реестр недоступен, если не хватает обязательных полей или если запрос отклонён до обращения к источнику.
* **Задержка:** типичный p95 \< 2 с.
* **Доступность:** 99.9% в квартал со стороны Didit; доступность источника данных зависит от страны и набора данных.

## Читайте также

* [Обзор проверки по базам данных для Замбии](https://docs.didit.me/api-reference/database-validation/zambia.md)
* [Обзор проверки по базам данных](https://docs.didit.me/ru/core-technology/database-validation/overview.md)
* [Коды результатов](https://docs.didit.me/ru/core-technology/database-validation/database-validation-outcome-codes.md)


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