API: стандартизация телефонов
✔️ Проверяет телефон.
✔️ Проставляет актуальный код города / DEF-код.
✔️ Восстанавливает оператора. Учитывает переносы номера между операторами.
✔️ Определяет страну, регион, город и часовой пояс.
Это документация для разработчиков. Выяснить регион и оператора в демоформе, посмотреть сценарии использования и варианты подключения сервиса можно на странице «Определить регион и оператора по номеру телефона»
Как вызвать
Чтобы вызвать метод, и подтвердите почту.
Пример запроса:
POST https://cleaner.dadata.ru/api/v1/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 | string(100) | Исходный телефон одной строкой |
| type | string(50) | Тип телефона |
| phone | string(50) | Стандартизованный телефон одной строкой |
| country_code | string(10) | Код страны |
| city_code | string(10) | Код города / DEF-код |
| number | string(10) | Локальный номер телефона |
| extension | string(10) | Добавочный номер |
| provider | string(100) | Оператор связи (только для России) |
| country | string(50) | Страна |
| region | string(100) | Регион (только для России) |
| city | string(100) | Город (только для стационарных телефонов) |
| timezone | string(50) | Часовой пояс города для России, часовой пояс страны — для иностранных телефонов. Если у страны несколько поясов, вернёт минимальный и максимальный через слеш: UTC+5/UTC+6 |
| qc_conflict | number | Признак конфликта телефона с адресом |
| qc | number | Код проверки |
Тип телефона
| Тип | Пример телефона |
|---|---|
| Мобильный | +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 | Произошла внутренняя ошибка сервиса |
Примеры и интеграции
- C# / .NET
- Excel VBA
- Go
- Java (Spring)
- Laravel
- Node.js
- PHP
- PHP (одним файлом)
- Python
- R
- Symfony
- Битрикс
- Битрикс24: роботы
Ограничения
В запросе разрешено передавать только один телефон.
Максимальная частота запросов — 20 в секунду с одного IP-адреса.
Максимальная частота создания новых соединений — 60 в минуту с одного IP-адреса.
Дадата не поддерживает вызов этого метода из браузерного JavaScript. Иначе злоумышленник мог бы похитить секретный ключ и использовать API за ваш счет.