✔️ Проверяет телефон.
✔️ Проставляет актуальный код города / DEF-код.
✔️ Восстанавливает оператора. Учитывает переносы номера между операторами.
✔️ Определяет страну, регион, город и часовой пояс.
Это документация для разработчиков. Выяснить регион и оператора в демоформе, посмотреть сценарии использования и варианты подключения сервиса можно на странице «Определить регион и оператора по номеру телефона»
Чтобы вызвать метод, и подтвердите почту.
Пример запроса:
POST https://cleaner.dadata.ru/api/v1/clean/phone[ "раб 846)231.60.14 *139" ]
curl -X POST \ -H "Content-Type: application/json" \ -H "Accept: 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-csharpvar 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_KEYimport ( "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-pyfrom dadata import Dadatatoken = "${API_KEY}"secret = "${SECRET_KEY}"dadata = Dadata(token, secret)result = dadata.clean("phone", "раб 846)231.60.14 *139")
Укажите при вызове:
Content-Type: application/json
.Accept: 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 за ваш счет.