↑ API стандартизации

API стандартизации составных записей

Стандартизует запись, которая состоит из нескольких полей. Например:

  • ФИО + адрес + телефон + телефон
  • Дата рожения + паспорт
  • Адрес + email

Как вызвать

Чтобы вызвать метод, зарегистрируйтесь и получите ключ

Пример запроса:

cat > ./request.json <<EOF
{
  "structure":
    [
        "AS_IS",
        "NAME",
        "ADDRESS",
        "PHONE"
    ],
  "data": [
    [
        "1",
        "Федотов Алексей",
        "Москва, Сухонская улица, 11 кв 89",
        "8 916 823 3454"
    ],
    [
        "2",
        "Иванов Сергей Владимирович",
        "мск, улица свободы, 65, 12",
        "495 663-12-53"
    ],
    [
        "3",
        "Ольга Павловна Ященко",
        "Спб, ул Петрозаводская 8",
        "457 07 25"
    ]
  ]
}
EOF

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Token ${API_KEY}" \
  -H "X-Secret: ${SECRET_KEY}" \
  -d @request.json \
  https://dadata.ru/api/v2/clean

Укажите при вызове:

  • Content-Type: application/json.
  • ${API_KEY} — API-ключ.
  • ${SECRET_KEY} — секретный ключ.

Тело запроса передавайте в кодировке UTF-8.

Из чего состоит запрос в примере

structure — структура записи, содержит четыре поля:

  • AS_IS — оставить как есть (не стандартизировать),
  • NAME — разобрать как ФИО,
  • ADDRESS — разобрать как адрес,
  • PHONE — разобрать как телефон.

data — массив из трёх записей (Федотов, Иванов и Ольга Павловна):

  • Каждая запись — массив из четырёх полей.
  • Поле — строковое значение ("Федотов Алексей", "мск, улица свободы, 65, 12" или "457 07 25").

Типы полей

Тип Описание
ADDRESS Почтовый адрес
PHONE Телефон
PASSPORT Номер и серия паспорта
NAME ФИО
EMAIL Адрес электронной почты
VEHICLE Марка и модель автомобиля
IGNORE Игнорировать поле (будет отсутствовать в ответе)
AS_IS Скопировать поле в ответ «как есть»

Что в ответе

Стандартизованные объекты:

{
    "structure": [
        "AS_IS",
        "NAME",
        "ADDRESS",
        "PHONE"
    ],
    "data": [
        [
            {
                "source": "1"
            },
            {
                "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
            }
        ],
        [
            {
                "source": "2"
            },
            {
                "source": "Иванов Сергей Владимирович",
                "result": "Иванов Сергей Владимирович",
                ...
                "qc": 0
            },
            {
                "source": "мск,улица свободы,65,12",
                "result": "г Москва, ул Свободы, д 65, кв 12",
                ...
                "qc": 0,
                "unparsed_parts": null
            },
            {
                "source": "495 663-12-53",
                "type": "Стационарный",
                "phone": "+7 495 663-12-53",
                ...
                "qc": 0
            }
        ],
        [
            {
                "source": "3"
            },
            {
                "source": "Ольга Павловна Ященко",
                "result": "Ященко Ольга Павловна",
                ...
                "qc": 0
            },
            {
                "source": "Спб, ул Петрозаводская 8",
                "result": "г Санкт-Петербург, ул Петрозаводская, д 8",
                ...
                "qc": 0,
                "unparsed_parts": null
            },
            {
                "source": "457 07 25",
                "type": "Стационарный",
                "phone": "+7 812 457-07-25",
                ...
                "qc": 1
            }
        ]
    ]
}

Коды ответа на запрос

HTTP-код ответа Описание
200 Запрос успешно обработан
400 Некорректный запрос:
  • Невалидный JSON.
  • Отсутствуют обязательные параметры structure или data.
  • В structure указан неподдерживаемый тип.
  • Количество полей в записях более указанного в structure.
401 В запросе отсутствует API-ключ или секретный ключ
Или в запросе указан несуществующий ключ
Или не подтверждена почта
402 Недостаточно средств для обработки запроса, пополните баланс
405 Запрос сделан с методом, отличным от POST
413 Запрос содержит более 10 записей
429 Слишком много запросов в секунду
5xx Произошла внутренняя ошибка сервиса во время обработки

Ограничения

Максимальное количество полей в одной записи:

  • 1 ФИО,
  • 3 адреса,
  • 3 телефона,
  • 3 email.

В запросе может быть до 10 записей.

Максимальная частота запросов:

  • 10 запросов/сек, если в запросе 1 запись;
  • 5 запросов/сек, если в запросе 2 записи;
  • 2 запроса/сек, если в запросе 5 записей;
  • 1 запрос/сек, если в запросе 10 записей.

Дадата не поддерживает вызов стандартизации из JavaScript. Иначе злоумышленник мог бы похитить секретный ключ и использовать стандартизацию за ваш счет.

Стоимость

5–10 копеек за запись, скидки за объём.

ajax-spinner

Обрабатывайте файлы, вызывайте API

первые 100 записей — бесплатно

чтобы обращаться к вам в письмах

Регистрируясь, вы принимаете публичную оферту

Уже зарегистрированы? Войти