DaDataName::email(string $email) Исправляет опечатки и проверяет на одноразовый адрес. Классифицирует адреса на личные, корпоративные и «ролевые».
Основные кейсы
@mail.ru, @yandex.ru), корпоративные (@myshop.ru) и «ролевые» (info@, support@).Параметры вызова
| Название | Тип | Optional | Default value | Описание |
|---|---|---|---|---|
email |
string |
false |
Пример вызова
<?php
namespace App;
use MoveMoveIo\DaData\Facades\DaDataEmail;
/**
* Class DaData
* @package App\DaData
*/
class DaData
{
/**
* DaData email
*
* @return void
*/
public function emailExample() : void
{
$dadata = DaDataEmail::standardization('serega@yandex/ru');
dd($dadata);
}
}
Пример ответа
array:1 [
0 => array:6 [
"source" => "serega@yandex/ru"
"email" => "serega@yandex.ru"
"local" => "serega"
"domain" => "yandex.ru"
"type" => "PERSONAL"
"qc" => 4
]
]
Описание ответа
| Название | Описание |
|---|---|
source |
Исходный email |
email |
Стандартизованный email |
local |
Локальная часть адреса (то, что до @) |
domain |
Домен (то, что послу @) |
type |
Тип адреса. PERSONAL — личный (@mail.ru, @yandex.ru). CORPORATE — корпоративный (@myshop.ru). ROLE — «ролевой» (info@, support@). DISPOSABLE — одноразовый (@temp-mail.ru) |
qc |
Код проверки |
Коды проверки (параметр ответа qc)
qc |
Нужна ручная проверка? | Описание |
|---|---|---|
| 0 | нет | Корректное значение. Соответствует общепринятым правилам, реальное существование адреса не проверяется |
| 2 | нет | Пустое или заведомо «мусорное» значение |
| 3 | нет | «Одноразовый» адрес. Домены 10minutemail.com, getairmail.com, temp-mail.ru и аналогичные |
| 1 | да | Некорректное значение. Не соответствует общепринятым правилам |
| 4 | да | Исправлены опечатки |
Exceptions
При вызове методов, вы можете обрабатывать коды исключений и их сообщения
| Код | Описание |
|---|---|
400 |
Некорректный запрос |
401 |
В запросе отсутствует API-ключ |
403 |
Не подтверждена почта или недостаточно средств для обработки запроса, пополните баланс |
405 |
Запрос сделан с методом, отличным от POST |
413 |
Слишком большая длина запроса или слишком много условий |
429 |
Слишком много запросов в секунду или новых соединений в минуту |
5xx |
Произошла внутренняя ошибка сервиса |
Более детальную информацию вы можете получить из сообщения исключения.
Пример получения сообщения исключения
<?php
namespace App;
use MoveMoveIo\DaData\Facades\DaDataEmail;
/**
* Class DaData
* @package App\DaData
*/
class DaData
{
/**
* DaData email
*
* @return void
*/
public function nameExample() : void
{
try {
$dadata = DaDataEmail::standardization('serega@yandex/ru');
dd($dadata);
} catch (\Exception $e) {
dd($e->getMessage());
}
}
}
DaDataEmail::prompt(string $email, int $count) Помогает человеку быстро ввести адрес электоронной почты на веб-форме или в приложении.
Основные кейсы
Метод не предназначен для выполнения следующих задач
Подсказки не подходят для автоматической обработки email. Они предлагают варианты, но не гарантируют, что угадали правильно. Поэтому окончательное решение всегда должен принимать человек.
Для автоматической обработки и классификации адресов используйте DaDataName::email(string $email)
Параметры вызова
| Название | Тип | Optional | Default value | Описание |
|---|---|---|---|---|
email |
string |
false |
Текст запроса | |
count |
int |
true |
10 | Количество результатов. Максимум 20 |
Пример вызова
<?php
namespace App;
use MoveMoveIo\DaData\Facades\DaDataEmail;
/**
* Class DaData
* @package App\DaData
*/
class DaData
{
/**
* DaData name prompt
*
* @return void
*/
public function nameExample() : void
{
$dadata = DaDataEmail::prompt('anton@', 2);
dd($dadata);
}
}
Пример ответа
array:1 [
"suggestions" => array:2 [
0 => array:3 [
"value" => "anton@mail.ru"
"unrestricted_value" => "anton@mail.ru"
"data" => array:5 [
"local" => "anton"
"domain" => "mail.ru"
"type" => null
"source" => null
"qc" => null
]
]
1 => array:3 [
"value" => "anton@gmail.com"
"unrestricted_value" => "anton@gmail.com"
"data" => array:5 [
"local" => "anton"
"domain" => "gmail.com"
"type" => null
"source" => null
"qc" => null
]
]
]
]
Описание ответа
| Название | Описание |
|---|---|
value |
Email одной строкой |
unrestricted_value |
Равно полю value |
data['local'] |
Локальная часть адреса (то, что до @) |
data['domain'] |
Домен (то, что послу @) |
data['type'] |
Зарезервированы для автоматической обработки адресов через DaDataName::email(string $email) метод |
data['source'] |
Зарезервированы для автоматической обработки адресов через DaDataName::email(string $email) метод |
data['qc'] |
Зарезервированы для автоматической обработки адресов через DaDataName::email(string $email) метод |
Exceptions
При вызове методов, вы можете обрабатывать коды исключений и их сообщения
| Код | Описание |
|---|---|
400 |
Некорректный запрос |
401 |
В запросе отсутствует API-ключ |
403 |
Не подтверждена почта или недостаточно средств для обработки запроса, пополните баланс |
405 |
Запрос сделан с методом, отличным от POST |
413 |
Слишком большая длина запроса или слишком много условий |
429 |
Слишком много запросов в секунду или новых соединений в минуту |
5xx |
Произошла внутренняя ошибка сервиса |
Более детальную информацию вы можете получить из сообщения исключения.
Пример получения сообщения исключения
<?php
namespace App;
use MoveMoveIo\DaData\Facades\DaDataEmail;
/**
* Class DaData
* @package App\DaData
*/
class DaData
{
/**
* DaData email prompt
*
* @return void
*/
public function nameExample() : void
{
try {
$dadata = DaDataEmail::prompt('anton@', 2);
dd($dadata);
} catch (\Exception $e) {
dd($e->getMessage());
}
}
}