/dadata-csharp

C#-клиент для API DaData.ru. Fork for async and .NetCore migration

Primary LanguageC#MIT LicenseMIT

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

Описание

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

Установка

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

Можно установить через NuGet или скачать бинарники.

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

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

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

3. Пользуйтесь 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;