Как переключиться
Начните с этих трёх изменений. Подробности и примеры запросов приведены ниже.
-
1 Получить ключ APIСоздайте учетную запись Emailable и сгенерируйте API-ключ на панели управления. Во время настройки используйте тестовый ключ: тестовые запросы не расходуют кредиты.
-
2 Обновить конечную точкуОтправьте email-адрес и API-ключ в одном запросе
GET. Параметр IP-адреса и отдельные конечные точки для разных проверок не нужны. -
3 Сопоставить поля ответаПараметр
statusв ZeroBounce соответствует параметруstate, аsub_status— параметруreason. Большинство остальных полей соответствуют друг другу один к одному.
Обновите интеграцию с API
Сравните форматы запроса и ответа, а затем обновите поля, которые использует ваше приложение.
Запрос ZeroBounce
curl "https://api.zerobounce.net/v2/validate?email=john.doe@zerobounce.net&api_key=your_api_key&ip_address="
Ответ ZeroBounce
{
"address": "john.doe@zerobounce.net",
"status": "valid",
"sub_status": "",
"free_email": false,
"catchall_domain": true,
"did_you_mean": null,
"account": "johndoe",
"domain": "zerobounce.net",
"domain_age_days": "3431",
"active_in_days": "30",
"active_first_seen": "2026-02-25",
"smtp_provider": "g-suite",
"mx_found": "true",
"mx_record": "aspmx.l.google.com",
"firstname": "dan",
"lastname": "cotet",
"gender": "male",
"country": null,
"region": null,
"city": null,
"zipcode": null,
"processed_at": "2026-06-18 07:05:00.033"
}
Запрос Emailable
curl "https://api.emailable.com/v1/verify?email=support@example.com&api_key=your_api_key"
Ответ Emailable
{
"accept_all": false,
"did_you_mean": null,
"disposable": false,
"domain": "example.com",
"duration": 0.493,
"email": "support@example.com",
"first_name": null,
"free": false,
"full_name": null,
"gender": null,
"last_name": null,
"mailbox_full": false,
"mx_record": "mx.example.com",
"no_reply": false,
"reason": "accepted_email",
"role": true,
"score": 100,
"smtp_provider": null,
"state": "deliverable",
"tag": null,
"user": "support"
}
Запрос ZeroBounce
curl -X POST "https://api.zerobounce.net/v2/validatebatch" \
-H "Content-Type: application/json" \
-d '{
"api_key": "your_api_key",
"email_batch": [
{ "email_address": "john.doe@zerobounce.net", "ip_address": "1.1.1.1" },
{ "email_address": "invalid@example.com", "ip_address": "1.1.1.1" },
{ "email_address": "disposable@example.com", "ip_address": null }
],
"activity_data": true,
"verify_plus": true
}'
Ответ ZeroBounce
{
"email_batch": [
{
"address": "john.doe@zerobounce.net",
"status": "valid",
"sub_status": "",
"free_email": false,
"catchall_domain": true,
"did_you_mean": null,
"account": "johndoe",
"domain": "zerobounce.net",
"domain_age_days": "3431",
"active_in_days": "30",
"active_first_seen": "2026-02-25",
"smtp_provider": "g-suite",
"mx_found": "true",
"mx_record": "aspmx.l.google.com",
"firstname": "dan",
"lastname": "cotet",
"gender": "male",
"country": null,
"region": null,
"city": null,
"zipcode": null,
"processed_at": "2026-06-18 07:05:00.033"
},
{
"address": "invalid@example.com",
"status": "invalid",
"sub_status": "mailbox_not_found",
"free_email": false,
"did_you_mean": null,
"account": null,
"domain": null,
"domain_age_days": "9692",
"active_in_days": "365",
"active_first_seen": "2026-02-25",
"smtp_provider": "example",
"mx_found": "true",
"mx_record": "mx.example.com",
"catchall_domain": false,
"firstname": "zero",
"lastname": "bounce",
"gender": "male",
"country": null,
"region": null,
"city": null,
"zipcode": null,
"processed_at": "2020-09-17 17:43:11.830"
},
{
"address": "disposable@example.com",
"status": "do_not_mail",
"sub_status": "disposable",
"free_email": false,
"did_you_mean": null,
"account": null,
"domain": null,
"domain_age_days": "9692",
"active_in_days": "365",
"active_first_seen": "2026-02-25",
"smtp_provider": "example",
"mx_found": "true",
"mx_record": "mx.example.com",
"catchall_domain": false,
"firstname": "zero",
"lastname": "bounce",
"gender": "male",
"country": null,
"region": null,
"city": null,
"zipcode": null,
"processed_at": "2020-09-17 17:43:11.830"
}
],
"errors": []
}
Запрос Emailable
curl -X POST "https://api.emailable.com/v1/batch" \
-H "Content-Type: application/json" \
-d '{
"api_key": "your_api_key",
"emails": [
"tim@smith.com",
"john@smith.com",
"support@emailable.com"
],
"url": "https://example.com/callback"
}'
Ответ Emailable
{
"emails": [
{
"accept_all": false,
"did_you_mean": null,
"disposable": false,
"domain": "smith.com",
"email": "tim@smith.com",
"first_name": "Tim",
"free": false,
"full_name": "Tim",
"gender": "male",
"last_name": null,
"mailbox_full": false,
"mx_record": "mx.smith.com",
"no_reply": false,
"reason": "accepted_email",
"role": false,
"score": 100,
"smtp_provider": null,
"state": "deliverable",
"tag": null,
"user": "tim"
},
{
"accept_all": false,
"did_you_mean": null,
"disposable": false,
"domain": "smith.com",
"email": "john@smith.com",
"first_name": "John",
"free": false,
"full_name": "John",
"gender": "male",
"last_name": null,
"mailbox_full": false,
"mx_record": "mx.smith.com",
"no_reply": false,
"reason": "rejected_email",
"role": false,
"score": 0,
"smtp_provider": null,
"state": "undeliverable",
"tag": null,
"user": "john"
},
{
"accept_all": false,
"did_you_mean": null,
"disposable": false,
"domain": "emailable.com",
"email": "support@emailable.com",
"first_name": null,
"free": false,
"full_name": null,
"gender": null,
"last_name": null,
"mailbox_full": false,
"mx_record": "aspmx.l.google.com",
"no_reply": false,
"reason": "low_quality",
"role": true,
"score": 70,
"smtp_provider": "Google",
"state": "risky",
"tag": null,
"user": "support"
}
],
"id": "5cf6dd30093f96d2ac34bb0a",
"message": "Batch verification completed.",
"reason_counts": {
"accepted_email": 1,
"invalid_domain": 0,
"invalid_email": 0,
"invalid_smtp": 0,
"low_deliverability": 0,
"low_quality": 1,
"no_connect": 0,
"rejected_email": 1,
"timeout": 0,
"unavailable_smtp": 0,
"unexpected_error": 0
},
"total_counts": {
"deliverable": 1,
"processed": 3,
"risky": 1,
"total": 3,
"undeliverable": 1,
"unknown": 0,
"duplicate": 0
}
}
Чем отличаются конечные точки пакетной обработки
Пакетная конечная точка ZeroBounce держит запрос открытым до тех пор, пока не будут проверены все адреса, а в их документации указано, что при количестве адресов свыше 200 следует использовать конечные точки для массовой обработки файлов. Пакетный API Emailable принимает в запросе до 50 000 адресов и может отправлять результаты на ваш URL-адрес обратного вызова.
Корпоративные аккаунты Emailable могут запросить более крупные пакеты, обратившись в службу поддержки.
Получение результатов
Для пакетных запросов API используйте возвращаемый идентификатор для проверки статуса или укажите URL-адрес для обратного вызова, и мы уведомим ваше приложение о завершении обработки. При обработке пакетов, содержащих более 1 000 адресов, возвращается ссылка для скачивания файла в формате CSV.
curl "https://api.emailable.com/v1/batch?id=5cf6dd30093f96d2ac34bb0a&api_key=your_api_key"
For batches up to 1,000 addresses, add partial=true to the status request to read results while the batch is still verifying.
Разовые списки
Если у вас есть разовый список адресов электронной почты, не используйте пакетный API, а воспользуйтесь инструментом «Bulk Verifier» в панели управления Emailable. Загрузите файл туда, а по завершении процесса экспортируйте результаты.
Сопоставьте ответы
Большая часть результатов, возвращаемых ZeroBounce, имеет соответствующее поле Emailable. Воспользуйтесь этими таблицами, чтобы узнать, что изменилось, а что осталось без изменений.
Сопоставить статусы с состояниями
| Статус ZeroBounce | Состояние Emailable |
|---|---|
valid |
deliverable
|
invalid |
undeliverable
|
catch-all |
risky
|
do_not_mail |
risky
|
abuse |
|
spamtrap |
|
unknown |
unknown
|
Тире означает, что соответствующего состояния Emailable нет. Используйте показатели оценки и риска, чтобы решить, как приложение должно обрабатывать такие адреса.
Нет эквивалентного состояния
Spam trap lists are kept secret, so no verifier can identify them reliably. Read how to protect your list.
Сопоставить поля ответа
| Поле ZeroBounce | Поле Emailable |
|---|---|
address |
email |
status |
state |
sub_status |
reason |
account |
user |
domain |
domain |
did_you_mean |
did_you_mean |
free_email |
free |
catchall_domain |
accept_all |
smtp_provider |
smtp_provider |
mx_record |
mx_record |
firstname |
first_name |
lastname |
last_name |
gender |
gender |
Emailable также возвращает следующие поля, для которых в ZeroBounce нет аналогов:
score
role
disposable
mailbox_full
no_reply
tag
Проверьте, прежде чем переключаться
Сначала подключите интеграцию с помощью тестового ключа. Тестовые адреса Emailable возвращают фиксированные результаты, поэтому вы можете опробовать все состояния и атрибуты перед запуском в производственную среду, не тратя кредиты.