Библиотека dadata-csharp
— это обертка над API «Дадаты» для C# и других .NET-языков.
Можно установить через NuGet или скачать бинарники.
Внешние зависимости:
Зарегистрируйтесь на dadata.ru и получите API-ключи в личном кабинете.
Примеры вызова API смотрите в юнит-тестах или ниже по тексту.
Прежде всего, подключите пространства имён:
using Dadata;
using Dadata.Model;
Создайте апи-клиента:
var token = "ВАШ_API_КЛЮЧ";
var secret = "ВАШ_СЕКРЕТНЫЙ_КЛЮЧ";
var api = new CleanClient(token, secret);
И используйте для обработки интересных вам типов данных:
var address = api.Clean<Address>("Москва Милютинский 13");
var birthdate = api.Clean<Birthdate>("12.03.1990");
var email = api.Clean<Email>("anderson@matrix.ru");
var fullname = api.Clean<Fullname>("Ольга Викторовна Раздербань");
var phone = api.Clean<Phone>("89168459285");
var passport = api.Clean<Passport>("4506 629672");
var vehicle = api.Clean<Vehicle>("форд фокус");
Можно за один раз обработать запись из нескольких полей (например, ФИО + адрес + телефон):
var structure = new List<StructureType> { StructureType.NAME, StructureType.ADDRESS, StructureType.PHONE };
var data = new List<string> { "Кузнецов Петр Алексеич", "Москва Милютинский 13", "846)231.60.14" };
var cleaned = api.Clean(structure, data);
var fullname = (Fullname)cleaned[0];
var address = (Fullname)cleaned[1];
var phone = (Fullname)cleaned[2];
Создайте апи-клиента:
var token = "ВАШ_API_КЛЮЧ";
var api = new SuggestClient(token);
И используйте для обработки интересных вам типов данных.
Например, компаний:
var response = api.SuggestParty("моторика сколково");
var party = response.suggestions[0];
var request = new SuggestPartyRequest("витас");
request.type = PartyType.INDIVIDUAL;
var response = api.SuggestParty(request);
var party = response.suggestions[0];
Или банков:
var response = api.SuggestBank("тинь");
var bank = response.suggestions[0].data;
var request = new SuggestBankRequest("я");
request.type = new BankType[] { BankType.NKO };
var response = api.SuggestBank(request);
var bank = response.suggestions[0].data;
Создайте апи-клиента:
var token = "ВАШ_API_КЛЮЧ";
var api = new GeolocateClient(token);
И получите список ближайших адресов по заданным координатам:
var response = api.Geolocate(lat: 55.7366021, lon: 37.597643);
var address = response.suggestions[0].data;
Создайте апи-клиента:
var token = "ВАШ_API_КЛЮЧ";
var api = new SuggestClient(token);
И получите адрес по КЛАДР- или ФИАС-коду:
var response = api.FindAddress("7700000000000");
var address = response.suggestions[0].data;
var response = api.FindAddress("95dbf7fb-0dd4-4a04-8100-4f6c847564b5");
var address = response.suggestions[0].data;
Создайте апи-клиента:
var token = "ВАШ_API_КЛЮЧ";
var api = new IplocateClient(token);
И получите город по IP-адресу:
var response = api.Iplocate("213.180.193.3");
var address = response.location.data;
Создайте апи-клиента:
var token = "ВАШ_API_КЛЮЧ";
var api = new SuggestClient(token);
И получите компанию по ИНН или ОГРН:
var response = api.FindParty("7719402047");
var party = response.suggestions[0].data;
var response = api.FindParty("1157746078984");
var party = response.suggestions[0].data;
var request = new FindPartyRequest(query: "7728168971", kpp: "667102002");
var response = api.FindParty(request);
var party = response.suggestions[0].data;
Создайте апи-клиента:
var token = "ВАШ_API_КЛЮЧ";
var api = new SuggestClient(token);
И получите банк по идентификатору:
// БИК
var response = api.FindBank("044525974");
var bank = response.suggestions[0].data;
// SWIFT
var response = api.FindBank("TICSRUMMXXX");
var bank = response.suggestions[0].data;
// Рег. номер
var response = api.FindBank("2673");
var bank = response.suggestions[0].data;