Come cambiare
Inizia con queste tre modifiche. Di seguito troverai i dettagli e alcuni esempi di richiesta.
-
1 Ottieni una chiave APICrea il tuo account Emailable e genera una chiave API dalla dashboard. Usa una chiave di test mentre configuri tutto; le richieste di test non consumano crediti.
-
2 Aggiornare l'endpointInvia l'indirizzo email e la chiave API in un'unica richiesta
GET. Non serve un parametro per l'indirizzo IP né endpoint separati per i diversi controlli. -
3 Mappare i campi di rispostaLo
statusdi ZeroBounce corrisponde allostate, mentre ilsub_statuscorrisponde alreason. La maggior parte degli altri campi corrisponde uno a uno.
Aggiorna l'integrazione API
Confronta i formati della richiesta e della risposta, quindi aggiorna i campi utilizzati dalla tua applicazione.
Richiesta di ZeroBounce
curl "https://api.zerobounce.net/v2/validate?email=john.doe@zerobounce.net&api_key=your_api_key&ip_address="
Risposta di 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"
}
Richiesta di Emailable
curl "https://api.emailable.com/v1/verify?email=support@example.com&api_key=your_api_key"
Risposta di 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"
}
Richiesta di 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
}'
Risposta di 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": []
}
Richiesta di 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"
}'
Risposta di 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
}
}
In che modo differiscono gli endpoint dei batch
L'endpoint batch di ZeroBounce mantiene aperta la richiesta fino a quando non vengono controllati tutti gli indirizzi, e la loro documentazione indica gli endpoint per i file in blocco una volta superati i 200 indirizzi. L'API batch di Emailable accetta fino a 50.000 indirizzi nella richiesta e può inviare i risultati al tuo URL di callback.
Gli account Enterprise di Emailable possono richiedere batch più grandi contattando il supporto.
Come ottenere i risultati
Per i batch API, utilizza l'ID restituito per verificare lo stato oppure aggiungi un URL di callback e avviseremo la tua applicazione al termine dell'operazione. I batch con più di 1.000 indirizzi restituiscono un link per il download di un file 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.
Elenchi una tantum
Per una lista di indirizzi email una tantum, non utilizzare l'API batch, ma ricorri al Bulk Verifier nella tua dashboard di Emailable. Carica il file lì, quindi esporta i risultati al termine dell'operazione.
Abbina le risposte
La maggior parte dei risultati restituiti da ZeroBounce presenta un campo "Emailable" corrispondente. Utilizza queste tabelle per verificare cosa è cambiato e cosa è rimasto invariato.
Dallo status allo stato
| Stato di ZeroBounce | Stato Emailable |
|---|---|
valid |
deliverable
|
invalid |
undeliverable
|
catch-all |
risky
|
do_not_mail |
risky
|
abuse |
|
spamtrap |
|
unknown |
unknown
|
Un trattino indica che non esiste uno stato "Emailable" corrispondente. Utilizza i flag relativi al punteggio e al rischio per decidere come la tua applicazione debba gestire tali indirizzi.
Nessuno stato equivalente
Spam trap lists are kept secret, so no verifier can identify them reliably. Read how to protect your list.
Mappare i campi di risposta
| Campo di ZeroBounce | Campo 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 restituisce anche questi campi, che non hanno un equivalente in ZeroBounce:
score
role
disposable
mailbox_full
no_reply
tag
Provalo prima di cambiare
Collega innanzitutto la tua integrazione a una chiave di prova. Gli indirizzi di prova di Emailable restituiscono risultati fissi, così potrai testare ogni stato e attributo prima di passare alla versione live senza consumare crediti.