Перейти к содержанию

Официальные SDK NewDB

Для быстрой и надежной интеграции с REST API NEWDB разработаны официальные клиентские библиотеки с полной типизацией методов, поддержкой асинхронности и автоматического ожидания результатов.


1. Python SDK (newdb)

PyPI Python

Официальный SDK с поддержкой синхронного (NewDBClient) и асинхронного (AsyncNewDBClient) режимов на базе httpx.

Установка

pip install newdb

Пример использования

from newdb import NewDBClient

client = NewDBClient(api_key="your_api_key")

# 1. Проверка действительности паспорта РФ (МВД)
passport = client.person.check_passport_mvd(
    seria="4510",
    number="123456",
    firstname="Иван",
    lastname="Иванов"
)
print(passport.results)

# 2. Комплексная проверка организации по ИНН с авто-ожиданием
company_task = client.legal.complex_check(inn="7707083893")
completed = client.wait_for_result(company_task.request_id, timeout=60)
print(completed.results)

# 3. Скачать PDF-отчет по завершенной проверке
pdf = client.generate_report(completed.request_id, format="pdf")
with open("company-report.pdf", "wb") as report_file:
    report_file.write(pdf)

# 4. Работа в тестовом контуре (Sandbox) без списания баланса
test_client = NewDBClient(test_mode=True)
test_res = test_client.person.check_passport_mvd(seria="4510", number="123456", firstname="Иван", lastname="Иванов")
print(test_res.results)

[!TIP] Подробнее о тестовом контуре и синтетических данных читайте в разделе Тестовый контур (Sandbox).

Репозиторий на GitHub →


2. Node.js & TypeScript SDK (@newdb/sdk)

npm TypeScript

Библиотека без внешних зависимостей (zero-dependency) на нативном fetch с полными .d.ts тайпингами.

Установка

npm install @newdb/sdk

Пример использования

import { NewDBClient } from '@newdb/sdk';

const client = new NewDBClient({ apiKey: 'your_api_key' });

async function run() {
  const task = await client.person.checkFssp({
    firstname: 'Иван',
    lastname: 'Иванов',
    dob: '1990-01-01',
    regioncode: '77'
  });

  const result = await client.waitForResult(task.requestId);
  console.log(result.results);

  const report = await client.generateReport(task.requestId, 'pdf');
  // Node.js: сохраните Buffer.from(report) в файл или передайте дальше.

  // Тестовый режим без списания баланса:
  const testClient = new NewDBClient({ testMode: true });
  const testRes = await testClient.person.checkPassportMvd({ seria: '4510', number: '123456', firstname: 'Иван', lastname: 'Иванов' });
  console.log('Sandbox:', testRes.results);
}
run();

Репозиторий на GitHub →


3. PHP SDK (newdb/sdk)

Composer PHP

Composer-пакет со строгой типизацией для PHP 8.1+.

Установка

composer require newdb/sdk

Пример использования

<?php

require_once __DIR__ . '/vendor/autoload.php';

use NewDB\Client;

$client = new Client('your_api_key');

$passport = $client->checkPassportMvd('4510', '123456', 'Иван', 'Иванов');
print_r($passport);

// Метод возвращает бинарное содержимое HTML/PDF-файла.
$pdf = $client->generateReport('00000000-0000-4000-8000-000000000101', 'pdf');
file_put_contents('person-report.pdf', $pdf);

// Тестовый режим без списания баланса:
$testClient = new Client(testMode: true);
$testRes = $testClient->checkPassportMvd('4510', '123456', 'Иван', 'Иванов');
print_r($testRes);

Репозиторий на GitHub →

Подробнее об одиночных и агрегированных отчетах: Отчеты по комплексным проверкам.