↑ Все API

API стандартизации телефонов

✔️ Проверяет телефон.

✔️ Проставляет актуальный код города / DEF-код.

✔️ Восстанавливает оператора. Учитывает переносы номера между операторами.

✔️ Определяет страну, регион, город и часовой пояс.

Как вызвать

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

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

[ "раб 846)231.60.14 *139" ]
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Token ${API_KEY}" \
-H "X-Secret: ${SECRET_KEY}" \
-d '[ "раб 846)231.60.14 *139" ]' \
https://cleaner.dadata.ru/api/v1/clean/phone
// https://github.com/hflabs/dadata-csharp

var token = "${API_KEY}";
var secret = "${SECRET_KEY}";
var api = new CleanClientAsync(token, secret);
var result = await api.Clean<Phone>("раб 846)231.60.14 *139");
// https://github.com/ekomobile/dadata
// Использует API-ключ из переменной окружения DADATA_API_KEY,
// а секретный ключ из переменной окружения DADATA_SECRET_KEY

import (
    "context"
    dadata "github.com/ekomobile/dadata/v2"
)

func main() {
    api := dadata.NewCleanApi()
    query := "раб 846)231.60.14 *139"
    result, err := api.Phone(context.Background(), query)
}
var url = "https://cleaner.dadata.ru/api/v1/clean/phone";
var token = "${API_KEY}";
var secret = "${SECRET_KEY}";
var query = "раб 846)231.60.14 *139";

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);
$result = $dadata->clean("phone", "раб 846)231.60.14 *139");
# https://github.com/hflabs/dadata-py

from dadata import Dadata
token = "${API_KEY}"
secret = "${SECRET_KEY}"
dadata = Dadata(token, secret)
result = dadata.clean("phone", "раб 846)231.60.14 *139")

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

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

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

Что в ответе

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

[
{
    "source": "раб 846)231.60.14 *139",
    "type": "Стационарный",
    "phone": "+7 846 231-60-14 доб. 139",
    "country_code": "7",
    "city_code": "846",
    "number": "2316014",
    "extension": "139",
    "provider": "ООО \"СИПАУТНЭТ\"",
    "country": "Россия",
    "region": "Самарская область",
    "city": "Самара",
    "timezone": "UTC+4",
    "qc_conflict": 0,
    "qc": 0
}
]
НазваниеДлинаОписание
source 100 Исходный телефон одной строкой
type 50 Тип телефона
phone 50 Стандартизованный телефон одной строкой
country_code 5 Код страны
city_code 5 Код города / DEF-код
number 10 Локальный номер телефона
extension 10 Добавочный номер
provider 100 Оператор связи (только для России)
country 50 Страна
region 100 Регион (только для России)
city 100 Город (только для стационарных телефонов)
timezone 50 Часовой пояс города для России, часовой пояс страны — для иностранных телефонов. Если у страны несколько поясов, вернёт минимальный и максимальный через слеш: UTC+5/UTC+6
qc_conflict 5 Признак конфликта телефона с адресом
qc 5 Код проверки

Тип телефона

Тип Пример телефона
Мобильный +7 911 243-45-68
Стационарный +7 495 456-55-77
Прямой мобильный +7 495 243-45-68
Колл-центр 8 800 222-12-22
Неизвестный +7 333 1111112

Коды качества

Код проверки qc

Нужно ли вручную проверить распознанный телефон:

Код qc Описание Нужно проверить вручную?
0 Российский телефон, распознан уверенно Нет
7 Иностранный телефон, распознан уверенно Нет
2 Телефон пустой или заведомо «мусорный» Нет
1 Телефон распознан с допущениями или не распознан Да
3 Обнаружено несколько телефонов, распознан первый Да

Признак конфликта телефона с адресом qc_conflict

Указал ли клиент телефон, соответствующий его адресу. Удобно для проверки уровня риска:

Код qc_conflict Описание
0 Телефон соответствует адресу
2 Города адреса и телефона отличаются
3 Регионы адреса и телефона отличаются

Заполняется только для российских адресов. Для иностранных всегда равен 0.

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

HTTP-код ответа Описание
200 Запрос успешно обработан
400 Некорректный запрос
401 В запросе отсутствует API-ключ или секретный ключ
Или в запросе указан несуществующий ключ
403 Не подтверждена почта
Или недостаточно средств для обработки запроса, пополните баланс
405 Запрос сделан с методом, отличным от POST
429 Слишком много запросов в секунду или новых соединений в минуту
5xx Произошла внутренняя ошибка сервиса

Примеры и интеграции

Ограничения

Максимальная частота запросов — 20 в секунду с одного IP-адреса.

Максимальная частота создания новых соединений — 60 в минуту с одного IP-адреса.

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

Стоимость

15 копеек за запись

ajax-spinner

Ошибка

Укажите свой адрес электронной почты, и мы отправим на него инструкции по восстановлению пароля.