DaDataPhone::standardization(string $phone); Проверяет телефон по справочнику Россвязи, определяет оператора с учётом переноса номеров, заполняет страну, город и часовой пояс.
Основные кейсы
Параметры вызова
| Название | Тип | Optional | Default value | Описание |
|---|---|---|---|---|
phone |
string |
false |
Текст запроса |
Пример вызова
<?php
namespace App;
use MoveMoveIo\DaData\Facades\DaDataPhone;
/**
* Class DaData
* @package App\DaData
*/
class DaData
{
/**
* DaData phone exmaple
*
* @return void
*/
public function phoneExample() : void
{
$dadata = DaDataPhone::standardization('раб 846)231.60.14 *139');
dd($dadata);
}
}
Пример ответа
array:1 [
0 => array:14 [
"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 |
Строка запроса |
type |
Тип телефона, может возвращать: Мобильный, Стационарный, Прямой мобильный, Колл-центр, Неизвестный. |
phone |
Стандартизованный телефон одной строкой |
country_code |
Код страны |
city_code |
Код города / DEF-код |
number |
Локальный номер телефона |
extension |
Добавочный номер |
provider |
Оператор связи (только для России) |
country |
Страна |
region |
Регион (только для России) |
city |
Город (только для стационарных телефонов) |
timezone |
Часовой пояс города для России, часовой пояс страны — для иностранных телефонов. Если у страны несколько поясов, вернёт минимальный и максимальный через слеш: UTC+5/UTC+6 |
qc_conflict |
Признак конфликта телефона с адресом. 0 - Телефон соответствует адресу, 2 - Города адреса и телефона отличаются, 3 - Регионы адреса и телефона отличаются |
qc |
Код проверки |
Коды проверки qc
| Код | Треубется ручная проверка? | Описание |
|---|---|---|
0 |
Нет | Российский телефон, распознан уверенно |
7 |
Нет | Иностранный телефон, распознан уверенно |
2 |
Нет | Телефон пустой или заведомо «мусорный» |
1 |
Да | Телефон распознан с допущениями или не распознан |
3 |
Да | Обнаружено несколько телефонов, распознан первый |
Exceptions
При вызове методов, вы можете обрабатывать коды исключений и их сообщения
| Код | Описание |
|---|---|
400 |
Некорректный запрос |
401 |
В запросе отсутствует API-ключ |
403 |
Не подтверждена почта или недостаточно средств для обработки запроса, пополните баланс |
405 |
Запрос сделан с методом, отличным от POST |
413 |
Слишком большая длина запроса или слишком много условий |
429 |
Слишком много запросов в секунду или новых соединений в минуту |
5xx |
Произошла внутренняя ошибка сервиса |
Более детальную информацию вы можете получить из сообщения исключения.
Пример получения сообщения исключения
<?php
namespace App;
use MoveMoveIo\DaData\Facades\DaDataPhone;
/**
* Class DaData
* @package App\DaData
*/
class DaData
{
/**
* DaData phone exmaple
*
* @return void
*/
public function nameExample() : void
{
try {
$dadata = DaDataPhone::standardization('раб 846)231.60.14 *139');
dd($dadata);
} catch (\Exception $e) {
dd($e->getMessage());
}
}
}