↑ Все API
API: стандартизация составных записей с контактными данными
Стандартизует запись, которая состоит из нескольких полей. Например:
- ФИО + адрес + телефон + телефон
- Дата рождения + паспорт
- Адрес + email
Как вызвать
Чтобы вызвать метод, зарегистрируйтесь и подтвердите почту.
Пример запроса:
cat > ./request.json <<EOF { "structure": [ "NAME", "ADDRESS", "PHONE" ], "data": [ [ "Федотов Алексей", "Москва, Сухонская улица, 11 кв 89", "8 916 823 3454" ] ] } EOF curl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -H "Authorization: Token ${API_KEY}" \ -H "X-Secret: ${SECRET_KEY}" \ -d @request.json \ https://cleaner.dadata.ru/api/v1/clean
// https://github.com/hflabs/dadata-csharp var token = "${API_KEY}"; var secret = "${SECRET_KEY}"; var api = new CleanClientAsync(token, secret); var structure = new[] { StructureType.NAME, StructureType.ADDRESS, StructureType.PHONE }; var data = new[] { "Федотов Алексей", "Сухонская улица, 11 кв 89", "8 916 823 3454" }; var cleaned = await api.Clean(structure, data)
var url = "https://cleaner.dadata.ru/api/v1/clean"; var token = "${API_KEY}"; var secret = "${SECRET_KEY}"; var query = { structure: [ "NAME", "ADDRESS", "PHONE" ], data: [ [ "Федотов Алексей", "Москва, Сухонская улица, 11 кв 89", "8 916 823 3454" ] ] }; var options = { method: "POST", mode: "cors", headers: { "Content-Type": "application/json", "Authorization": "Token " + token, "X-Secret": secret }, body: JSON.stringify(query) } fetch(url, options) .then(response => response.text()) .then(result => console.log(result)) .catch(error => console.log("error", error));
// https://github.com/hflabs/dadata-php $token = "${API_KEY}"; $secret = "${SECRET_KEY}"; $dadata = new \Dadata\DadataClient($token, $secret); $structure = ["NAME", "ADDRESS", "PHONE"]; $record = [ "Федотов Алексей", "Москва, Сухонская улица, 11 кв 89", "8 916 823 3454" ]; $result = $dadata->cleanRecord($structure, $record);
# https://github.com/hflabs/dadata-py from dadata import Dadata token = "${API_KEY}" secret = "${SECRET_KEY}" dadata = Dadata(token, secret) structure = ["NAME", "ADDRESS", "PHONE"] record = [ "Федотов Алексей", "Москва, Сухонская улица, 11 кв 89", "8 916 823 3454" ] result = dadata.clean_record(structure, record)
Укажите при вызове:
Content-Type: application/json
.Accept: application/json
.${API_KEY}
— API-ключ.${SECRET_KEY}
— секретный ключ.
Тело запроса передавайте в кодировке UTF-8
.
Из чего состоит запрос в примере
structure
— структура записи, содержит четыре поля:
AS_IS
— оставить как есть (не стандартизировать),NAME
— разобрать как ФИО,ADDRESS
— разобрать как адрес,PHONE
— разобрать как телефон.
data
— составная запись из 4 полей (№, ФИО, адрес, телефон).
Типы полей
Тип | Описание |
---|---|
ADDRESS | Почтовый адрес |
PHONE | Телефон |
PASSPORT | Номер и серия паспорта |
NAME | ФИО |
Адрес электронной почты | |
VEHICLE | Марка и модель автомобиля |
AS_IS | Скопировать поле в ответ «как есть» |
Что в ответе
Стандартизованная запись:
{ "structure": [ "NAME", "ADDRESS", "PHONE" ], "data": [ [ { "source": "Федотов Алексей", "result": "Федотов Алексей", ... "qc": 0 }, { "source": "Москва, Сухонская улица, 11 кв 89", "result": "г Москва, ул Сухонская, д 11, кв 89", ... "qc": 0, "unparsed_parts": null }, { "source": "8 916 823 3454", "type": "Мобильный", "phone": "+7 916 823-34-54", ... "qc": 0 } ] ] }
Коды ответа на запрос
HTTP-код ответа | Описание |
---|---|
200 | Запрос успешно обработан |
400 |
Некорректный запрос:
|
401 | В запросе отсутствует API-ключ или секретный ключ Или в запросе указан несуществующий ключ |
403 | Не подтверждена почта Или недостаточно средств для обработки запроса, пополните баланс |
405 | Запрос сделан с методом, отличным от POST |
429 | Слишком много запросов в секунду или новых соединений в минуту |
5xx | Произошла внутренняя ошибка сервиса во время обработки |
Примеры и интеграции
Ограничения
В запросе разрешено передавать только одну запись.
Максимальное количество полей в одной записи:
- 1 ФИО,
- 3 адреса,
- 3 телефона,
- 3 email,
- 1 дата рождения,
- 1 паспорт,
- 1 автомобиль.
Максимальная частота запросов — 20 в секунду с одного IP-адреса.
Максимальная частота создания новых соединений — 60 в минуту с одного IP-адреса.
Дадата не поддерживает вызов этого метода из браузерного JavaScript. Иначе злоумышленник мог бы похитить секретный ключ и использовать API за ваш счет.