Skip to content
C#-клиент для API DaData.ru
Branch: master
Clone or download
Latest commit 4c49c0f Jan 26, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Properties
doc Project description image Aug 11, 2014
src Updated to support 17.12 features Jan 26, 2018
.gitignore Initial sources Aug 11, 2014
LICENSE Initial commit Aug 11, 2014
README.md Update README.md Jan 26, 2018
dadata-csharp.csproj Updated to support DaData 15.5 May 20, 2015
dadata-csharp.sln Updated to support DaData 15.5 May 20, 2015

README.md

API DaData.ru для C# / .NET

Описание

Библиотека dadata-csharp — это обертка над API стандартизации DaData.ru для C# и других .NET-языков.

Стандартизация

Установка

1. Подключите библиотеку

Прежде всего, скачайте бинарники и подключите их к своему проекту.

Внешние зависимости:

2. Получите API-ключи

Зарегистрируйтесь на dadata.ru и получите API-ключи в личном кабинете.

3. Пользуйтесь API!

Примеры вызова API смотрите в юнит-тестах (CleanClientTest) или ниже по тексту.

Использование

Поддерживается обработка следующих типов данных:

  • ФИО
  • Паспорт
  • Почтовые адреса
  • Телефоны
  • Email
  • Даты
  • Автомобили

Если вы обрабатываете однотипные данные (например, только адреса), то удобно воспользоваться методом CleanClient.Clean<T>(IEnumerable<string> inputs):

var api = new CleanClient("REPLACE_WITH_YOUR_API_KEY", "REPLACE_WITH_YOUR_SECRET_KEY", "dadata.ru", "https");
var inputs = new string[] { "Москва Милютинский 13", "Питер Восстания 1" };
var cleaned = api.Clean<AddressData>(inputs);
foreach (AddressData entity in cleaned) {
    Console.WriteLine(entity);
}

Если вы хотите получать поля объекта (например, kladr_id), используйте метод так:

var api = new CleanClient("REPLACE_WITH_YOUR_API_KEY", "REPLACE_WITH_YOUR_SECRET_KEY", "dadata.ru", "https");
var inputs = new string[] { "Москва Милютинский 13", "Питер Восстания 1" };
var cleaned = api.Clean<AddressData>(inputs);
foreach (AddressData address in cleaned) {
    Console.WriteLine(address.kladr_id);
}

Если вы обрабатываете записи, каждая из которых содержит данные нескольких типов (например, ФИО и телефоны), то больше подойдет метод CleanClient.Clean(CleanRequest request):

var api = new CleanClient("REPLACE_WITH_YOUR_API_KEY", "REPLACE_WITH_YOUR_SECRET_KEY", "dadata.ru", "https");
var structure = new List<StructureType>(
    new StructureType[] { StructureType.NAME, StructureType.PHONE }
);

var data = new List<List<string>>(new List<string>[] {
    new List<string>(new string[] { "Кузнецов Петр Алексеич", "8916 82345.34" }),
    new List<string>(new string[] { "Марципанова Ольга Викторовна", null }),
    new List<string>(new string[] { "Пузин Витя", null })
});

var request = new CleanRequest(structure, data);
var cleanedRecords = api.Clean(request).data;
You can’t perform that action at this time.