Библиотека dadata-csharp
— это обертка над API стандартизации DaData.ru для C# и других .NET-языков.
Прежде всего, скачайте бинарники и подключите их к своему проекту.
Внешние зависимости:
Зарегистрируйтесь на dadata.ru и получите API-ключи в личном кабинете.
Примеры вызова API можно посмотреть в юнит-тестах (CleanClientTest
) или ниже по тексту.
Поддерживается обработка следующих типов данных:
- ФИО
- Почтовые адреса
- Телефоны
- Даты
Если вы обрабатываете однотипные данные (например, только адреса), то удобно воспользоваться методом 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);
}
Если вы обрабатываете записи, каждая из которых содержит данные нескольких типов (например, ФИО и телефоны), то больше подойдет метод 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;