Guida rapida API
Collezione postino
Per testare la versione 2 dell'API in Postino , salva il contenuto della raccolta Postman come file .json oppure puoi ottenere il file dal nostro GitHub repository.
In Postman, nel menu in alto, fai clic su File, quindi scegli Importa. Quindi scegli il file JSON che hai salvato o scaricato da GitHub per importarlo.
File JSON raccolta postino:
{
"informazioni": {
"_postman_id": "948780 e4-bf36- 4 c9c-bb29- 2 c32c9053091",
"nome": "zerobounce api v2",
"schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json"
},
"articolo": [
{
"nome": "Convalida email",
"richiesta": {
"metodo": "OTTENERE",
"intestazione": [],
"corpo": {
"modalità ": "crudo",
"crudo": ""
},
"url": {
"crudo": "https://api.zerobounce.net/v2/validate?api_key=replacewithyours&email=replacewithyours&ip_address=",
"protocollo": "https",
"ospite": [
"api",
"zerobounce",
"netto"
],
"sentiero": [
"v2",
"convalidare"
],
"query": [
{
"chiave": "api_key",
"valore": "replacewithyours",
"descrizione": "La tua chiave API, trovata nel tuo account."
},
{
"chiave": "e-mail",
"valore": "replacewithyours",
"descrizione": "L'indirizzo email che desideri convalidare"
},
{
"chiave": "indirizzo ip",
"valore": "",
"descrizione": "L'indirizzo IP da cui l'email è stata registrata (può essere vuoto, ma il parametro è obbligatorio)"
}
]
},
"descrizione": "API per la convalida di un singolo indirizzo email."
},
"risposta": []
},
{
"nome": "Ottieni saldo credito",
"richiesta": {
"metodo": "OTTENERE",
"intestazione": [],
"corpo": {
"modalità ": "crudo",
"crudo": ""
},
"url": {
"crudo": "https://api.zerobounce.net/v2/getcredits?api_key=replacewithyours",
"protocollo": "https",
"ospite": [
"api",
"zerobounce",
"netto"
],
"sentiero": [
"v2",
"getcredits"
],
"query": [
{
"chiave": "api_key",
"valore": "replacewithyours",
"descrizione": "La tua chiave API, trovata nel tuo account."
}
]
},
"descrizione": "Questa API ti dirà quanti crediti hai lasciato sul tuo account."
},
"risposta": []
},
{
"nome": "Inviare file",
"richiesta": {
"metodo": "INVIARE",
"intestazione": [],
"corpo": {
"modalità ": "formdata",
"formdata": [
{
"chiave": "file",
"descrizione": "file csv o txt",
"genere": "file",
"src": ""
},
{
"chiave": "api_key",
"valore": "replacewithyours",
"descrizione": "La tua chiave API, trovata nel tuo account. (Obbligatorio)",
"genere": "testo"
},
{
"chiave": "return_url",
"valore": "",
"descrizione": "L'URL verrà utilizzato per richiamare al termine della convalida. (Facoltativo)",
"genere": "testo",
"disabilitato": Vero
},
{
"chiave": "email_address_column",
"valore": "replacewithyours",
"descrizione": "L'indice della colonna dell'indirizzo email nel file. L'indice inizia da 1. (Obbligatorio, numero)",
"genere": "testo"
},
{
"chiave": "first_name_column",
"valore": "",
"descrizione": "L'indice della colonna del nome. (Facoltativo, numero)",
"genere": "testo",
"disabilitato": Vero
},
{
"chiave": "last_name_column",
"valore": "",
"descrizione": "L'indice della colonna del cognome. (Facoltativo, numero)",
"genere": "testo",
"disabilitato": Vero
},
{
"chiave": "gender_column",
"valore": "",
"descrizione": "L'indice della colonna della colonna sesso. (Facoltativo, numero)",
"genere": "testo",
"disabilitato": Vero
},
{
"chiave": "ip_address_column",
"valore": "",
"descrizione": "L'indirizzo IP da cui l'email è stata registrata. (Facoltativo, numero)",
"genere": "testo",
"disabilitato": Vero
},
{
"chiave": "has_header_row",
"valore": "",
"descrizione": "Se la prima riga del file inviato è una riga di intestazione. (Facoltativo, vero / falso)",
"genere": "testo",
"disabilitato": Vero
}
]
},
"url": "https://bulkapi.zerobounce.net/v2/sendfile",
"descrizione": "Questa API consente all'utente di inviare un file per la convalida di posta elettronica in blocco."
},
"risposta": []
},
{
"nome": "Stato file",
"richiesta": {
"metodo": "OTTENERE",
"intestazione": [],
"corpo": {
"modalità ": "crudo",
"crudo": ""
},
"url": {
"crudo": "https://bulkapi.zerobounce.net/v2/filestatus?api_key=replacewithyours&file_id=replacewithyours",
"protocollo": "https",
"ospite": [
"bulkapi",
"zerobounce",
"netto"
],
"sentiero": [
"v2",
"filestatus"
],
"query": [
{
"chiave": "api_key",
"valore": "replacewithyours",
"descrizione": "La tua chiave API, trovata nel tuo account."
},
{
"chiave": "file_id",
"valore": "replacewithyours",
"descrizione": "L'ID file restituito durante la chiamata all'API sendfile."
}
]
},
"descrizione": "L'API restituisce lo stato di elaborazione del file per il file inviato utilizzando l'API sendfile."
},
"risposta": []
},
{
"nome": "Prendi il file",
"richiesta": {
"metodo": "OTTENERE",
"intestazione": [],
"corpo": {
"modalità ": "crudo",
"crudo": ""
},
"url": {
"crudo": "https://bulkapi.zerobounce.net/v2/getfile?api_key=replacewithyours&file_id=replacewithyours",
"protocollo": "https",
"ospite": [
"bulkapi",
"zerobounce",
"netto"
],
"sentiero": [
"v2",
"prendi il file"
],
"query": [
{
"chiave": "api_key",
"valore": "replacewithyours",
"descrizione": "La tua chiave API, trovata nel tuo account."
},
{
"chiave": "file_id",
"valore": "replacewithyours",
"descrizione": "L'ID file restituito durante la chiamata all'API sendfile."
}
]
},
"descrizione": "L'API consente agli utenti di ottenere il file dei risultati della convalida per il file inviato utilizzando l'API sendfile."
},
"risposta": []
},
{
"nome": "Cancella il file",
"richiesta": {
"metodo": "OTTENERE",
"intestazione": [],
"corpo": {
"modalità ": "crudo",
"crudo": ""
},
"url": {
"crudo": "https://bulkapi.zerobounce.net/v2/deletefile?api_key=replacewithyours&file_id=replacewithyours",
"protocollo": "https",
"ospite": [
"bulkapi",
"zerobounce",
"netto"
],
"sentiero": [
"v2",
"cancella il file"
],
"query": [
{
"chiave": "api_key",
"valore": "replacewithyours",
"descrizione": "La tua chiave API, trovata nel tuo account."
},
{
"chiave": "file_id",
"valore": "replacewithyours",
"descrizione": "L'ID file restituito durante la chiamata all'API sendfile."
}
]
},
"descrizione": "L'API restituisce lo stato di elaborazione del file per il file inviato utilizzando l'API sendfile."
},
"risposta": []
}
]
}
Questa API ti dirà quanti crediti hai lasciato sul tuo account. È semplice, veloce e facile da usare.
Ecco alcuni scenari per i quali le aziende utilizzeranno questa API.
- Utilizzi la nostra API per convalidare le e-mail e devi controllare entro un certo periodo di tempo quando il saldo del tuo credito è troppo basso, in modo da poter effettuare un pagamento.
- Desideri tenere traccia di quanti crediti di convalida della posta elettronica stai utilizzando per il periodo di tempo definito per generare informazioni statistiche utili.
- Desideri automatizzare e integrare le informazioni nella dashboard dell'applicazione che ti mostrano il saldo del credito attualmente residuo.
Di seguito troverai le istruzioni su come utilizzare la nostra API. È molto facile da usare e richiede SSL.
GET / v2 / getcredits
URL API: https://api.zerobounce.net/v2/getcredits
Di seguito troverai le istruzioni su come utilizzare la nostra API, è molto facile da usare e richiede SSL. L'API richiede che tu abbia un saldo attivo e non consumerà mai un credito per nessun risultato sconosciuto.
Parametri URL
- ParametroDescrizione
- api_keyLa tua chiave API, che si trova nel tuo account.
Ottieni esempi di codice del saldo del credito
'Librerie API complete e wrapper sono disponibili qui:
' https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__dot_net
PROVARE
Fioco apiKey = "La tua chiave segreta"
Fioco apiURL = "https://api.zerobounce.net/v2/getcredits?api_key=" & apiKey
Fioco request Come HttpWebRequest = Directcast(WebRequest.Create(apiURL), HttpWebRequest)
request.Tempo scaduto = 150000
request.Method = "OTTENERE"
Utilizzando response Come WebResponse = request.GetResponse()
response.GetResponseStream().ReadTimeout = 20000
Utilizzando ostream Come Nuovo StreamReader(response.GetResponseStream())
responseString = ostream.ReadToEnd()
Fine Utilizzando
Fine Utilizzando
Catturare ex Come exception
'Eccezione di cattura - Tutti gli errori verranno visualizzati qui - se ci sono problemi con l'API
Fine PROVARE
// Le librerie e i wrapper API completi sono disponibili qui:
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__dot_net
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__c-sharp
PROVARE {
Corda apiKey = "La tua chiave segreta";
Corda apiURL = "https://api.zerobounce.net/v2/getcredits?api_key=" + apiKey;
Httpwebrequest request = (HttpWebRequest)WebRequest.creare(apiURL);
request.Timeout = 150000;
request.Method = "OTTENERE";
Utilizzando (Webresponse response = request.GetResponse()) {
response.Getresponsestream().ReadTimeout = 20000;
Utilizzando (Streamreader ostream = Nuovo Streamreader(response.Getresponsestream())) {
responseString = ostream.Readtoend();
}
}
} Catturare (exception ex) {
// Eccezione di cattura: qui verranno visualizzati tutti gli errori, in caso di problemi con l'API
}
<?php
// Le librerie e i wrapper API completi sono disponibili qui:
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__php
// imposta la chiave api e l'e-mail da convalidare
$ apiKey = "La tua chiave segreta";
// usa curl per fare la richiesta
$ url = 'https://api.zerobounce.net/v2/getcredits?api_key='.$ apiKey;
$ ch = curl_init($ url);
curl_setopt($ ch, CURLOPT_RETURNTRANSFER, Vero);
curl_setopt($ ch, CURLOPT_CONNECTTIMEOUT, 15);
curl_setopt($ ch, CURLOPT_TIMEOUT, 150);
$ risposta = curl_exec($ ch);
curl_close($ ch);
// decodifica la risposta json
$ json = json_decode($ risposta, Vero);
?>
// Le librerie e i wrapper API completi sono disponibili qui:
//https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__java
importare Giava.io.Bufferedreader;
importare Giava.io.Inputstreamreader;
importare Giava.netto.Httpurlconnection;
importare Giava.netto.URL;
Pubblico Classe La mia classe {
Pubblico statico vuoto principale(Corda[] args){
Corda key = "La tua chiave segreta";
Corda targetURL = "https://api.zerobounce.net/v2/getcredits?api_key="+key;
Httpurlconnection connection = nullo;
finale Corda USER_AGENT = "Mozilla / 5.0";
PROVARE {
url url = Nuovo url(targetURL);
connection = (Httpurlconnection) url.connessione aperta();
connection.setrequestmethod("OTTENERE");
connection.addrequestproperty("user-agent", USER_AGENT);
connection.setusecaches(Falso);
connection.setdooutput(Vero);
Bufferedreader in = Nuovo Bufferedreader(
Nuovo Inputstreamreader(connection.getinputstream()));
Corda inputLine;
Stringbuffer response = Nuovo Stringbuffer();
mentre ((inputLine = in.linea di lettura()) != nullo) {
response.aggiungere(inputLine);
}
in.vicino();
// stampa il risultato
Sistema.out.println(response.toString());
} Catturare (Eccezione e) {
e.printstacktrace();
} finalmente {
Se (connection != nullo) {
connection.disconnect();
}
}
}
}
# Librerie e wrapper API completi sono disponibili qui:
# https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__python
importare requests
importare json
target_url = "https://api.zerobounce.net/v2/getcredits?api_key="
secret_key = "La tua chiave segreta"
api_response = requests.get("%s%s" % (target_url, secret_key))
data = json.loads(api_response.content)
# stampa il numero di crediti
stampare data["Crediti"]
// Le librerie e i wrapper API completi sono disponibili qui:
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__IOS
permettere key = "La tua chiave segreta"
permettere url = url(string: Corda(format: "https://api.zerobounce.net/v2/getcredits?api_key=%@", key))
permettere task = Urlsession.shared.datatask(with: url!) { (data, response, error) in
Se error != zero {
NSLog("Errore (stringa (che descrive: errore))")
} altro {
fare {
permettere parsedData = PROVARE Jsonserialization.jsonobject(with: data!) Come! [Corda:Qualunque]
per (key, value) in parsedData {
NSLog("(chiave) = (valore)")
}
} Catturare {
stampare("Errore durante la deserializzazione di JSON: (errore)")
}
}
}
task.curriculum vitae()
NSString *key = @ "La tua chiave segreta";
NSString *urlString = [NSString stringWithFormat:@"https://api.zerobounce.net/v2/getcredits?api_key=%@", key];
__block NSURL *url = [NSURL URLWithString:urlString];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSData *response = [NSData dataWithContentsOfURL:url];
NSDictionary *arrResponse = nil;
Se(response!=nil)
{
arrResponse = [NSJSONSerialization JSONObjectWithData: response options:kNilOptions error:nil];
}
dispatch_async(dispatch_get_main_queue(), ^(vuoto) {
per(NSString *key in [arrResponse allKeys]) {
NSLog(@"%@: %@",key,[arrResponse objectForKey:key]);
}
// callback (nil, arr);
});
});
// Le librerie e i wrapper API completi sono disponibili qui:
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__android
// Aggiungi a build.gradle (App) nella parentesi "android":
useLibrary "org.apache.http.legacy"
Esempio:
android {
compileSdkVersion 25
useLibrary "org.apache.http.legacy"
}
//------------------------------------------
// Nome file: JsonParser.java
importare androide.os.Asynctask;
importare org.json.jsonobject;
importare Giava.util.Iteratore;
Pubblico Classe Attività principale si estende Appcompatactivity {
@Oltrepassare
protetto vuoto oncreate(Impacchettare savedInstanceState) {
super.oncreate(savedInstanceState);
Nuovo Asynctaskparsejson().eseguire();
}
}
Pubblico Classe Asynctaskparsejson si estende Asynctask<Corda, Corda, Corda> {
Corda key = "La tua chiave segreta";
Corda url = "https://api.zerobounce.net/v2/getcredits?api_key="+key;
@Oltrepassare
protetto vuoto onpreexecute() {
}
@Oltrepassare
protetto Corda doinbackground(Corda... arg0) {
Jsonparser jParser = Nuovo Jsonparser();
jsonobject json = jParser.getjsonfromurl(url);
Iteratore keys = json.chiavi();
mentre( keys.hasnext() ) {
Corda key = (Corda)keys.il prossimo();
PROVARE {
Sistema.out.println("ZeroBounce:"+key+" = " +json.ottenere(key).toString());
}
Catturare (Eccezione e){}
}
Ritorno nullo;
}
@Oltrepassare
protetto vuoto onpostexecute(Corda strFromDoInBg) {}
}
//---------------------------------------------------
// Nome file: MainActivity.java
pacchetto com.Zerobounce.zbapiandroid;
importare Giava.io.Bufferedreader;
importare Giava.io.Ioexception;
importare Giava.io.Inputstream;
importare Giava.io.Inputstreamreader;
importare Giava.io.Eccezione di codifica non supportata;
importare org.apache.http.Httpentity;
importare org.apache.http.Http: //presponse;
importare org.apache.http.cliente.Clientprotocolexception;
importare org.apache.http.cliente.metodi.Httpget;
importare org.apache.http.impl.cliente.Defaulthttpclient;
importare org.json.Jsonexception;
importare org.json.jsonobject;
importare androide.util.Ceppo;
Pubblico Classe Jsonparser {
finale Corda TAG = "jsonparser.java";
statico Inputstream is = nullo;
statico jsonobject jObj = nullo;
statico Corda json = "";
Pubblico jsonobject getjsonfromurl(Corda url) {
PROVARE {
Defaulthttpclient httpClient = Nuovo Defaulthttpclient();
Httpget httpGet = Nuovo Httpget(url);
Http: //presponse httpResponse = httpClient.eseguire(httpGet);
Httpentity httpEntity = httpResponse.getentity();
is = httpEntity.getcontent();
} Catturare (Eccezione di codifica non supportata e) {
e.printstacktrace();
} Catturare (Clientprotocolexception e) {
e.printstacktrace();
} Catturare (Ioexception e) {
e.printstacktrace();
}
PROVARE {
Bufferedreader reader = Nuovo Bufferedreader(Nuovo Inputstreamreader(is, "iso- 8859-1"), 8);
Stringbuilder sb = Nuovo Stringbuilder();
Corda line = nullo;
mentre ((line = reader.linea di lettura()) != nullo) {
sb.aggiungere(line + "
");
}
is.vicino();
json = sb.toString();
} Catturare (Eccezione e) {
Ceppo.e(TAG, "Errore durante la conversione del risultato" + e.toString());
}
PROVARE {
jObj = Nuovo jsonobject(json);
} Catturare (Jsonexception e) {
Ceppo.e(TAG, "Errore durante l'analisi dei dati" + e.toString());
}
Ritorno jObj;
}
}
Questa API ti dirà quanti crediti hai lasciato sul tuo account. È semplice, veloce e facile da usare.
Se vuoi chiamare l'API dal tuo browser per testarla, tutto ciò che devi fare è sostituire l'API KEY con la tua chiave:
https://api.zerobounce.net/v2/getcredits?api_key=[replacewithyours]
Questa API ti dirà quanti crediti hai lasciato sul tuo account.
L'API restituirà questi risultati in un formato JSON utilizzando il metodo "getcredits". crediti - La quantità di crediti che hai lasciato nel tuo account per le convalide e-mail. Se viene restituito un - 1, significa che la tua chiave API non è valida.
Risposta dell'endpoint
Questa API ti dirà quanti crediti hai lasciato sul tuo account. È semplice, veloce e facile da usare.
Risposta riuscita
{"Crediti":2375323}
Risposta all'errore
{"Crediti":-1}
GET / v2 / getapiusage
URL API: https://bulkapi.zerobounce.net/v2/getapiusage
Parametri URL
- ParametroDescrizione
- api_keyLa tua chiave API, che si trova nel tuo account.
- data d'inizioLa data di inizio in cui desideri visualizzare l'utilizzo dell'API. (formato: aaaa / mm / gg)
- data di fineLa data di fine in cui desideri visualizzare l'utilizzo dell'API. (formato: aaaa / mm / gg)
- https://api.zerobounce.net/v2/getapiusage?api_key=your-api-key&start_date=2018-01-01&end_date=2019-12-12
L'API restituirà questi risultati in un formato JSON utilizzando il metodo "getapiusage".
L'API restituirà questi risultati in un formato JSON utilizzando il metodo "getapiusage".
- ParametroDescrizione
- TotaleNumero totale di volte in cui l'API è stata chiamata
- STATUS_VALIDIndirizzi email validi totali restituiti dall'API
- STATUS_INVALIDTotale indirizzi email non validi restituiti dall'API
- STATUS_CATCH_ALLIndirizzi email catch-all totali restituiti dall'API
- STATUS_DO_NOT_MAILTotale non inviare indirizzi di posta elettronica restituiti dall'API
- STATUS_SPAMTRAPIndirizzi email spamtrap totali restituiti dall'API
- STATUS SCONOSCIUTOIndirizzi email sconosciuti totali restituiti dall'API
- sub_status_toxicNumero totale di volte in cui l'API ha uno stato secondario "tossico"
- sub_status_disposableNumero totale di volte in cui l'API ha uno stato secondario "usa e getta"
- sub_status_role_basedNumero totale di volte in cui l'API ha uno stato secondario "role_based"
- sub_status_possible_trapNumero totale di volte in cui l'API ha uno stato secondario "possible_trap"
- sub_status_global_suppressionNumero totale di volte in cui l'API ha uno stato secondario "global_suppression"
- sub_status_timeout_exceededNumero totale di volte in cui l'API ha uno stato secondario "timeout_exceeded"
- sub_status_mail_server_temporary_errorNumero totale di volte in cui l'API ha uno stato secondario "mail_server_temporary_error"
- sub_status_mail_server_did_not_respondNumero totale di volte in cui l'API ha uno stato secondario "mail_server_did_not_respond"
- sub_status_greylistedNumero totale di volte in cui l'API ha uno stato secondario "greylisted"
- sub_status_antispam_systemNumero totale di volte in cui l'API ha uno stato secondario "antispam_system"
- sub_status_does_not_accept_mailNumero totale di volte in cui l'API ha uno stato secondario "does_not_accept_mail"
- sub_status_exception_occurredNumero totale di volte in cui l'API ha uno stato secondario "exception_occurred"
- sub_status_failed_syntax_checkNumero totale di volte in cui l'API ha uno stato secondario "failed_syntax_check"
- sub_status_mailbox_not_foundNumero totale di volte in cui l'API ha uno stato secondario "mailbox_not_found"
- sub_status_unroutable_ip_addressNumero totale di volte in cui l'API ha uno stato secondario "unroutable_ip_address"
- sub_status_possible_typoNumero totale di volte in cui l'API ha uno stato secondario "possible_typo"
- sub_status_no_dns_entriesNumero totale di volte in cui l'API ha uno stato secondario "no_dns_entries"
- sub_status_role_based_catch_allTutti i rilevamenti basati sui ruoli, l'API ha uno stato secondario "role_based_catch_all"
- sub_status_mailbox_quota_exceededNumero totale di volte in cui l'API ha uno stato secondario "mailbox_quota_exceeded"
- sub_status_forcible_disconnectTotale disconnessioni forzate l'API ha uno stato secondario "forcible_disconnect"
- sub_status_failed_smtp_connectionTotale connessioni SMTP non riuscite l'API ha uno stato secondario di "failed_smtp_connection"
- data d'inizioData di inizio della query. (formato: aaaa / mm / gg)
- data di fineData di fine della query. (formato: aaaa / mm / gg)
Ottieni esempi di codice di utilizzo API
'Librerie API complete e wrapper sono disponibili qui:
' https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__dot_net
PROVARE
Fioco api_key Come Corda = "La tua chiave segreta"
Fioco start_date Come Corda = "2018-01-01"
Fioco end_date Come Corda = "2019-12-12"
Fioco responseString Come Corda = ""
Fioco apiURL Come Corda = "https://api.zerobounce.net/v2/getapiusage?api_key=" & api_key & "& data_inizio =" & start_date & "& end_date =" & end_date
Fioco request Come HttpWebRequest = Directcast(WebRequest.Create(apiURL), HttpWebRequest)
request.Tempo scaduto = 150000
request.Method = "OTTENERE"
Utilizzando response Come WebResponse = request.GetResponse()
response.GetResponseStream().ReadTimeout = 20000
Utilizzando ostream Come Nuovo StreamReader(response.GetResponseStream())
responseString = ostream.ReadToEnd()
Fine Utilizzando
Fine Utilizzando
Catturare ex Come exception
'Eccezione di cattura - Tutti gli errori verranno visualizzati qui - se ci sono problemi con l'API
Fine PROVARE
// Le librerie e i wrapper API completi sono disponibili qui:
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__dot_net
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__c-sharp
PROVARE {
Corda api_key = "La tua chiave segreta";
Corda start_date = "2018-01-01";
Corda end_date = "2019-12-12";
Corda responseString = "";
Corda apiURL = "https://api.zerobounce.net/v2/getapiusage?api_key=" + api_key + "& data_inizio =" + start_date + "& end_date =" + end_date;
Httpwebrequest request = (HttpWebRequest)WebRequest.creare(apiURL);
request.Timeout = 150000;
request.Method = "OTTENERE";
Utilizzando (Webresponse response = request.GetResponse()) {
response.Getresponsestream().ReadTimeout = 20000;
Utilizzando (Streamreader ostream = Nuovo Streamreader(response.Getresponsestream())) {
responseString = ostream.Readtoend();
}
}
} Catturare (exception ex) {
// Eccezione di cattura: qui verranno visualizzati tutti gli errori, in caso di problemi con l'API
}
<?php
// Le librerie e i wrapper API completi sono disponibili qui:
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__php
// imposta la chiave api e l'e-mail da convalidare
$ api_key = "La tua chiave segreta";
$ data_inizio = '2018-01-01';
$ end_date = '2019-12-12';
// usa curl per fare la richiesta
$ url = 'https://api.zerobounce.net/v2/getapiusage?api_key='.$ api_key."& start_date =".$ data_inizio."& end_date =".$ end_date;
$ ch = curl_init($ url);
//PHP 5.5.19 e versioni successive supportano TLS 1.2
curl_setopt($ ch, CURLOPT_SSLVERSION, 6);
curl_setopt($ ch, CURLOPT_RETURNTRANSFER, Vero);
curl_setopt($ ch, CURLOPT_CONNECTTIMEOUT, 15);
curl_setopt($ ch, CURLOPT_TIMEOUT, 150);
$ risposta = curl_exec($ ch);
curl_close($ ch);
// decodifica la risposta json
$ json = json_decode($ risposta, Vero);
?>
// Le librerie e i wrapper API completi sono disponibili qui:
//https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__java
importare Giava.io.Bufferedreader;
importare Giava.io.Inputstreamreader;
importare Giava.netto.Httpurlconnection;
importare Giava.netto.URL;
Pubblico Classe La mia classe {
Pubblico statico vuoto principale(Corda[] args){
Corda key = "La tua chiave segreta";
Corda start_date = "2018-01-01";
Corda end_date = "2019-12-12";
Corda targetURL = "https://api.zerobounce.net/v2/getapiusage?api_key="+key+"& data_inizio ="+start_date+"& end_date ="+end_date;
Httpurlconnection connection = nullo;
finale Corda USER_AGENT = "Mozilla / 5.0";
PROVARE {
url url = Nuovo url(targetURL);
connection = (Httpurlconnection) url.connessione aperta();
connection.setrequestmethod("OTTENERE");
connection.addrequestproperty("user-agent", USER_AGENT);
connection.setusecaches(Falso);
connection.setdooutput(Vero);
Bufferedreader in = Nuovo Bufferedreader(
Nuovo Inputstreamreader(connection.getinputstream()));
Corda inputLine;
Stringbuffer response = Nuovo Stringbuffer();
mentre ((inputLine = in.linea di lettura()) != nullo) {
response.aggiungere(inputLine);
}
in.vicino();
// stampa il risultato
Sistema.out.println(response.toString());
} Catturare (Eccezione e) {
e.printstacktrace();
} finalmente {
Se (connection != nullo) {
connection.disconnect();
}
}
}
}
# Librerie e wrapper API completi sono disponibili qui:
# https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__python
url = "https://api.zerobounce.net/v2/getapiusage"
api_key = "La tua chiave segreta"
start_date = "2018-01-01"
end_date = "2019-12-12"
params = {"api_key": api_key, "data d'inizio": start_date, "data di fine":end_date}
response = requests.get(url, params=params)
# Stampa il json restituito
stampare json.loads(response.content)
// Le librerie e i wrapper API completi sono disponibili qui:
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__IOS
permettere key = "La tua chiave segreta"
permettere start_date = "2018-01-01"
permettere end_date = "2019-12-12" // l'indirizzo ip può essere vuoto
permettere url = url(string: Corda(format: "https://api.zerobounce.net/v2/getapiusage?api_key=%@&start_date=%@&end_date=%@", key, start_date, end_date))
permettere task = Urlsession.shared.datatask(with: url!) { (data, response, error) in
Se error != zero {
NSLog("Errore (stringa (che descrive: errore))")
} altro {
fare {
permettere parsedData = PROVARE Jsonserialization.jsonobject(with: data!) Come! [Corda:Qualunque]
per (key, value) in parsedData {
NSLog("(chiave) = (valore)")
}
} Catturare {
stampare("Errore durante la deserializzazione di JSON: (errore)")
}
}
}
task.curriculum vitae()
// Le librerie e i wrapper API completi sono disponibili qui:
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__IOS
NSString *key = @ "La tua chiave segreta";
NSString *start_date = @"2018-01-01";
NSString *end_date = @"2019-12-12";
NSString *urlString = [NSString stringWithFormat:@"https://api.zerobounce.net/v2/getapiusage?api_key=%@&start_date=%@&end_date=%@", key, start_date, end_date];
__block NSURL *url = [NSURL URLWithString:urlString];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSData *response = [NSData dataWithContentsOfURL:url];
NSDictionary *arrResponse = nil;
Se(response!=nil)
{
arrResponse = [NSJSONSerialization JSONObjectWithData: response options:kNilOptions error:nil];
}
dispatch_async(dispatch_get_main_queue(), ^(vuoto) {
per(NSString *key in [arrResponse allKeys]) {
NSLog(@"%@: %@",key,[arrResponse objectForKey:key]);
}
// callback (nil, arr);
});
});
// Le librerie e i wrapper API completi sono disponibili qui:
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__android
// Aggiungi a build.gradle (App) nella parentesi "android":
useLibrary "org.apache.http.legacy"
Esempio:
android {
compileSdkVersion 25
useLibrary "org.apache.http.legacy"
}
//-----------------------------------
// Nome file: JsonParser.java
importare androide.os.Asynctask;
importare org.json.jsonobject;
importare Giava.util.Iteratore;
Pubblico Classe Attività principale si estende Appcompatactivity {
@Oltrepassare
protetto vuoto oncreate(Impacchettare savedInstanceState) {
super.oncreate(savedInstanceState);
Nuovo Asynctaskparsejson().eseguire();
}
}
Pubblico Classe Asynctaskparsejson si estende Asynctask<Corda, Corda, Corda> {
Corda key = "La tua chiave segreta";
Corda start_date = "2018-01-01";
Corda end_date = "2019-12-12";
Corda url = "https://api.zerobounce.net/v2/getapiusage?api_key="+key+"& data_inizio ="+start_date+"& end_date ="+end_date;
@Oltrepassare
protetto vuoto onpreexecute() {
}
@Oltrepassare
protetto Corda doinbackground(Corda... arg0) {
Jsonparser jParser = Nuovo Jsonparser();
jsonobject json = jParser.getjsonfromurl(url);
Iteratore keys = json.chiavi();
mentre( keys.hasnext() ) {
Corda key = (Corda)keys.il prossimo();
PROVARE {
Sistema.out.println("ZeroBounce:"+key+" = " +json.ottenere(key).toString());
}
Catturare (Eccezione e){}
}
Ritorno nullo;
}
@Oltrepassare
protetto vuoto onpostexecute(Corda strFromDoInBg) {}
}
//----------------------------------
// Nome file: MainActivity.java
pacchetto com.Zerobounce.zbapiandroid;
importare Giava.io.Bufferedreader;
importare Giava.io.Ioexception;
importare Giava.io.Inputstream;
importare Giava.io.Inputstreamreader;
importare Giava.io.Eccezione di codifica non supportata;
importare org.apache.http.Httpentity;
importare org.apache.http.Http: //presponse;
importare org.apache.http.cliente.Clientprotocolexception;
importare org.apache.http.cliente.metodi.Httpget;
importare org.apache.http.impl.cliente.Defaulthttpclient;
importare org.json.Jsonexception;
importare org.json.jsonobject;
importare androide.util.Ceppo;
Pubblico Classe Jsonparser {
finale Corda TAG = "jsonparser.java";
statico Inputstream is = nullo;
statico jsonobject jObj = nullo;
statico Corda json = "";
Pubblico jsonobject getjsonfromurl(Corda url) {
PROVARE {
Defaulthttpclient httpClient = Nuovo Defaulthttpclient();
Httpget httpGet = Nuovo Httpget(url);
Http: //presponse httpResponse = httpClient.eseguire(httpGet);
Httpentity httpEntity = httpResponse.getentity();
is = httpEntity.getcontent();
} Catturare (Eccezione di codifica non supportata e) {
e.printstacktrace();
} Catturare (Clientprotocolexception e) {
e.printstacktrace();
} Catturare (Ioexception e) {
e.printstacktrace();
}
PROVARE {
Bufferedreader reader = Nuovo Bufferedreader(Nuovo Inputstreamreader(is, "iso- 8859-1"), 8);
Stringbuilder sb = Nuovo Stringbuilder();
Corda line = nullo;
mentre ((line = reader.linea di lettura()) != nullo) {
sb.aggiungere(line + "
");
}
is.vicino();
json = sb.toString();
} Catturare (Eccezione e) {
Ceppo.e(TAG, "Errore durante la conversione del risultato" + e.toString());
}
PROVARE {
jObj = Nuovo jsonobject(json);
} Catturare (Jsonexception e) {
Ceppo.e(TAG, "Errore durante l'analisi dei dati" + e.toString());
}
Ritorno jObj;
}
}
Risposta dell'endpoint
Risposta riuscita
{
"totale": 3,
"status_valid": 1,
"status_invalid": 2,
"status_catch_all": 0,
"status_do_not_mail": 0,
"status_spamtrap": 0,
"status sconosciuto": 0,
"sub_status_toxic": 0,
"sub_status_disposable": 0,
"sub_status_role_based": 0,
"sub_status_possible_trap": 0,
"sub_status_global_suppression": 0,
"sub_status_timeout_exceeded": 0,
"sub_status_mail_server_temporary_error": 0,
"sub_status_mail_server_did_not_respond": 0,
"sub_status_greylisted": 0,
"sub_status_antispam_system": 0,
"sub_status_does_not_accept_mail": 0,
"sub_status_exception_occurred": 0,
"sub_status_failed_syntax_check": 0,
"sub_status_mailbox_not_found": 2,
"sub_status_unroutable_ip_address": 0,
"sub_status_possible_typo": 0,
"sub_status_no_dns_entries": 0,
"sub_status_role_based_catch_all": 0,
"sub_status_mailbox_quota_exceeded": 0,
"sub_status_forcible_disconnect": 0,
"sub_status_failed_smtp_connection": 0,
"data d'inizio": "1/1/2018",
"data di fine": "12/12/2019"
}
Risposta di errore - Chiave API
{"errore":"Chiave API non valida"}
Risposta di errore - Data
{"errore":"Data non valida"}
Di seguito troverai le istruzioni su come utilizzare la nostra API, è molto facile da usare e richiede SSL. L'API richiede che tu abbia un saldo attivo e non consumerà mai un credito per nessun risultato sconosciuto. Questo endpoint può essere chiamato in modo asincrono e attualmente non è limitato in velocità .
Per testare o API senza utilizzare crediti: utilizzare le e-mail fornite nel nostro Modalità sandbox (v2)
Il tempo di risposta per la nostra API è compreso tra un secondo e 70 secondi. Poiché le API sono pensate per essere veloci per natura, limitiamo la quantità di tempo che dedichiamo alla convalida di un indirizzo email. Quindi, se incontriamo un server di posta lento o un server di posta con un algoritmo di greylisting, otterrai un risultato sconosciuto. Puoi sempre riconvalidare tali condizioni, caricando un file nel file validatore di email in blocco .
In media il 96-98% di tutti i domini tornerà tra 1 e 5 secondi, ci sono una manciata di domini che eseguono Postfix / Dovecot che hanno un tempo di connessione di 20 secondo per le convalide in tempo reale e un piccola percentuale frazionaria di altri domini che sono molto lenti a rispondere alle richieste SMTP. Tutti i principali ISP torneranno tra 1 e 3 secondi, che di solito è la maggior parte della distribuzione della posta elettronica.
- GET / v2 / validate
URL API: https://api.zerobounce.net/v2/validate
Di seguito troverai le istruzioni su come utilizzare la nostra API, è molto facile da usare e richiede SSL. L'API richiede che tu abbia un saldo attivo e non consumerà mai un credito per nessun risultato sconosciuto. Questo endpoint può essere chiamato in modo asincrono e attualmente non è limitato in velocità .
Parametri URL
- ParametroDescrizione
- E-MAILL'indirizzo e-mail che desideri convalidare
- indirizzo ipL'indirizzo IP da cui l'email è stata registrata (può essere vuoto, ma il parametro è richiesto)
- api_keyLa tua chiave API, che si trova nel tuo account.
Se vuoi chiamare l'API dal tuo browser per testarla, tutto ciò che devi fare è sostituire l'API KEY con la tua chiave:
- https://api.zerobounce.net/v2/validate?api_key=replacewithyours&email=valid@example.com&ip_address=156.124.12.145
Per verificare un indirizzo e-mail, utilizza i seguenti codici per le seguenti lingue:
'Librerie API complete e wrapper sono disponibili qui:
' https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__dot_net
PROVARE
Fioco api_key Come Corda = "La tua chiave segreta"
Fioco emailToValidate Come Corda = "example@example.com"
Fioco ip_address = "" "Può essere vuoto, ma è necessario un parametro nella chiamata API
Fioco responseString Come Corda = ""
Fioco apiURL Come Corda = "https://api.zerobounce.net/v2/validate?api_key=" & api_key & "& email =" & HttpUtility.UrlEncode(emailToValidate) & "& indirizzo_ip =" & Sistema.Net.WebUtility.UrlEncode(ip_address)
Fioco request Come HttpWebRequest = Directcast(WebRequest.Create(apiURL), HttpWebRequest)
request.Tempo scaduto = 150000
request.Method = "OTTENERE"
Utilizzando response Come WebResponse = request.GetResponse()
response.GetResponseStream().ReadTimeout = 20000
Utilizzando ostream Come Nuovo StreamReader(response.GetResponseStream())
responseString = ostream.ReadToEnd()
Fine Utilizzando
Fine Utilizzando
Catturare ex Come exception
'Eccezione di cattura - Tutti gli errori verranno visualizzati qui - se ci sono problemi con l'API
Fine PROVARE
// Le librerie e i wrapper API completi sono disponibili qui:
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__dot_net
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__c-sharp
PROVARE {
Corda api_key = "La tua chiave segreta";
Corda emailToValidate = "example@example.com";
Corda ip_address = "" // Può essere vuoto, ma il parametro è richiesto nella chiamata API
Corda responseString = "";
Corda apiURL = "https://api.zerobounce.net/v2/validate?api_key=" + api_key + "& email =" + HttpUtility.Urlencode(emailToValidate) + "& indirizzo_ip =" + HttpUtility.Urlencode(ip_address);
Httpwebrequest request = (HttpWebRequest)WebRequest.creare(apiURL);
request.Timeout = 150000;
request.Method = "OTTENERE";
Utilizzando (Webresponse response = request.GetResponse()) {
response.Getresponsestream().ReadTimeout = 20000;
Utilizzando (Streamreader ostream = Nuovo Streamreader(response.Getresponsestream())) {
responseString = ostream.Readtoend();
}
}
} Catturare (exception ex) {
// Eccezione di cattura: qui verranno visualizzati tutti gli errori, in caso di problemi con l'API
}
<?php
// Le librerie e i wrapper API completi sono disponibili qui:
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__php
// imposta la chiave api e l'e-mail da convalidare
$ api_key = "La tua chiave segreta";
$ emailToValidate = 'example@example.com';
$ IPToValidate = '99.123.12.122';
// usa curl per fare la richiesta
$ url = 'https://api.zerobounce.net/v2/validate?api_key='.$ api_key."& email =".Urlencode($ emailToValidate)."& ip_address =".Urlencode($ IPToValidate);
$ ch = curl_init($ url);
//PHP 5.5.19 e versioni successive supportano TLS 1.2
curl_setopt($ ch, CURLOPT_SSLVERSION, 6);
curl_setopt($ ch, CURLOPT_RETURNTRANSFER, Vero);
curl_setopt($ ch, CURLOPT_CONNECTTIMEOUT, 15);
curl_setopt($ ch, CURLOPT_TIMEOUT, 150);
$ risposta = curl_exec($ ch);
curl_close($ ch);
// decodifica la risposta json
$ json = json_decode($ risposta, Vero);
?>
// Le librerie e i wrapper API completi sono disponibili qui:
//https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__java
importare Giava.io.Bufferedreader;
importare Giava.io.Inputstreamreader;
importare Giava.netto.Httpurlconnection;
importare Giava.netto.URL;
Pubblico Classe La mia classe {
Pubblico statico vuoto principale(Corda[] args){
Corda key = "La tua chiave segreta";
Corda email = "example@example.com";
Corda ip = "99.123.12.122"; // l'indirizzo ip può essere vuoto
Corda targetURL = "https://api.zerobounce.net/v2/validate?api_key="+key+"& email ="+email+"& indirizzo_ip ="+ip;
Httpurlconnection connection = nullo;
finale Corda USER_AGENT = "Mozilla / 5.0";
PROVARE {
url url = Nuovo url(targetURL);
connection = (Httpurlconnection) url.connessione aperta();
connection.setrequestmethod("OTTENERE");
connection.addrequestproperty("user-agent", USER_AGENT);
connection.setusecaches(Falso);
connection.setdooutput(Vero);
Bufferedreader in = Nuovo Bufferedreader(
Nuovo Inputstreamreader(connection.getinputstream()));
Corda inputLine;
Stringbuffer response = Nuovo Stringbuffer();
mentre ((inputLine = in.linea di lettura()) != nullo) {
response.aggiungere(inputLine);
}
in.vicino();
// stampa il risultato
Sistema.out.println(response.toString());
} Catturare (Eccezione e) {
e.printstacktrace();
} finalmente {
Se (connection != nullo) {
connection.disconnect();
}
}
}
}
# Librerie e wrapper API completi sono disponibili qui:
# https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__python
url = "https://api.zerobounce.net/v2/validate"
api_key = "La tua chiave segreta"
email = "example@example.com"
ip_address = "99.123.12.122" #ip_address può essere vuoto
params = {"e-mail": email, "api_key": api_key, "indirizzo ip":ip_address}
response = requests.get(url, params=params)
# Stampa il json restituito
stampare json.loads(response.content)
// Le librerie e i wrapper API completi sono disponibili qui:
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__IOS
permettere key = "La tua chiave segreta"
permettere email = "example@example.com"
permettere ip = "99.123.12.122" // l'indirizzo ip può essere vuoto
permettere url = url(string: Corda(format: "https://api.zerobounce.net/v2/validate?api_key=%@&email=%@&ip_address=%@", key, email, ip))
permettere task = Urlsession.shared.datatask(with: url!) { (data, response, error) in
Se error != zero {
NSLog("Errore (stringa (che descrive: errore))")
} altro {
fare {
permettere parsedData = PROVARE Jsonserialization.jsonobject(with: data!) Come! [Corda:Qualunque]
per (key, value) in parsedData {
NSLog("(chiave) = (valore)")
}
} Catturare {
stampare("Errore durante la deserializzazione di JSON: (errore)")
}
}
}
task.curriculum vitae()
// Le librerie e i wrapper API completi sono disponibili qui:
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__IOS
NSString *key = @ "La tua chiave segreta";
NSString *email = @"example@example.com";
NSString *ip = @"99.123.12.122"; // l'indirizzo ip può essere vuoto
NSString *urlString = [NSString stringWithFormat:@"https://api.zerobounce.net/v2/validate?api_key=%@&email=%@&ip_address=%@", key, email, ip];
__block NSURL *url = [NSURL URLWithString:urlString];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSData *response = [NSData dataWithContentsOfURL:url];
NSDictionary *arrResponse = nil;
Se(response!=nil)
{
arrResponse = [NSJSONSerialization JSONObjectWithData: response options:kNilOptions error:nil];
}
dispatch_async(dispatch_get_main_queue(), ^(vuoto) {
per(NSString *key in [arrResponse allKeys]) {
NSLog(@"%@: %@",key,[arrResponse objectForKey:key]);
}
// callback (nil, arr);
});
});
// Le librerie e i wrapper API completi sono disponibili qui:
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__android
// Aggiungi a build.gradle (App) nella parentesi "android":
useLibrary "org.apache.http.legacy"
Esempio:
android {
compileSdkVersion 25
useLibrary "org.apache.http.legacy"
}
//-----------------------------------
// Nome file: JsonParser.java
importare androide.os.Asynctask;
importare org.json.jsonobject;
importare Giava.util.Iteratore;
Pubblico Classe Attività principale si estende Appcompatactivity {
@Oltrepassare
protetto vuoto oncreate(Impacchettare savedInstanceState) {
super.oncreate(savedInstanceState);
Nuovo Asynctaskparsejson().eseguire();
}
}
Pubblico Classe Asynctaskparsejson si estende Asynctask<Corda, Corda, Corda> {
Corda key = "La tua chiave segreta";
Corda email = "example@example.com";
Corda ip = "99.123.12.122"; // l'indirizzo ip può essere vuoto
Corda url = "https://api.zerobounce.net/v2/validate?api_key="+key+"& email ="+email+"& indirizzo_ip ="+ip;
@Oltrepassare
protetto vuoto onpreexecute() {
}
@Oltrepassare
protetto Corda doinbackground(Corda... arg0) {
Jsonparser jParser = Nuovo Jsonparser();
jsonobject json = jParser.getjsonfromurl(url);
Iteratore keys = json.chiavi();
mentre( keys.hasnext() ) {
Corda key = (Corda)keys.il prossimo();
PROVARE {
Sistema.out.println("ZeroBounce:"+key+" = " +json.ottenere(key).toString());
}
Catturare (Eccezione e){}
}
Ritorno nullo;
}
@Oltrepassare
protetto vuoto onpostexecute(Corda strFromDoInBg) {}
}
//----------------------------------
// Nome file: MainActivity.java
pacchetto com.Zerobounce.zbapiandroid;
importare Giava.io.Bufferedreader;
importare Giava.io.Ioexception;
importare Giava.io.Inputstream;
importare Giava.io.Inputstreamreader;
importare Giava.io.Eccezione di codifica non supportata;
importare org.apache.http.Httpentity;
importare org.apache.http.Http: //presponse;
importare org.apache.http.cliente.Clientprotocolexception;
importare org.apache.http.cliente.metodi.Httpget;
importare org.apache.http.impl.cliente.Defaulthttpclient;
importare org.json.Jsonexception;
importare org.json.jsonobject;
importare androide.util.Ceppo;
Pubblico Classe Jsonparser {
finale Corda TAG = "jsonparser.java";
statico Inputstream is = nullo;
statico jsonobject jObj = nullo;
statico Corda json = "";
Pubblico jsonobject getjsonfromurl(Corda url) {
PROVARE {
Defaulthttpclient httpClient = Nuovo Defaulthttpclient();
Httpget httpGet = Nuovo Httpget(url);
Http: //presponse httpResponse = httpClient.eseguire(httpGet);
Httpentity httpEntity = httpResponse.getentity();
is = httpEntity.getcontent();
} Catturare (Eccezione di codifica non supportata e) {
e.printstacktrace();
} Catturare (Clientprotocolexception e) {
e.printstacktrace();
} Catturare (Ioexception e) {
e.printstacktrace();
}
PROVARE {
Bufferedreader reader = Nuovo Bufferedreader(Nuovo Inputstreamreader(is, "iso- 8859-1"), 8);
Stringbuilder sb = Nuovo Stringbuilder();
Corda line = nullo;
mentre ((line = reader.linea di lettura()) != nullo) {
sb.aggiungere(line + "
");
}
is.vicino();
json = sb.toString();
} Catturare (Eccezione e) {
Ceppo.e(TAG, "Errore durante la conversione del risultato" + e.toString());
}
PROVARE {
jObj = Nuovo jsonobject(json);
} Catturare (Jsonexception e) {
Ceppo.e(TAG, "Errore durante l'analisi dei dati" + e.toString());
}
Ritorno jObj;
}
}
Risposta riuscita
{
"indirizzo":"flowerjill@aol.com",
"stato":"valido",
"sub_status":"",
"free_email":Vero,
"intendevi":nullo,
"account":"flowerjill",
"dominio":"aol.com",
"domain_age_days": "8426",
"smtp_provider":"yahoo",
"mx_record":"mx-aol.mail.gm0.yahoodns.net",
"mx_found": Vero,
"nome di battesimo":"jill",
"cognome":"boccale",
"genere":"femmina",
"nazione":"Stati Uniti",
"regione":"Florida",
"città ":"west palm beach",
"cap":"33401",
"processed_at":"2017-04-01 02:48:02.592"
}
Risposta all'errore
{"errore":"Chiave API non valida o il tuo account ha esaurito i crediti"}
// Esempio di risposta in caso di errore utilizzando l'API con uno dei metodi Get
L'API restituirà questi risultati in un formato JSON utilizzando il metodo "Validate".
Proprietà JSON
- ProprietÃDescrizione
- indirizzoL'indirizzo email che stai convalidando.
- stato[valido, non valido, generico, sconosciuto, spamtrap, abuso, do_not_mail]
- sub_status[antispam_system,greylist, mail_server_temporary_error, forcible_disconnect, mail_server_did_not_respond, timeout_exceeded, failed_smtp_connection, mailbox_quota_exceeded, exception_occurred, possible_traps, role_based, global_suppression, mailbox_not_found, no_dns_entries, failed_syntax_check, possible_typo, unroutable_ip_address, leading_period_removed, does_not_accept_mail, alias_address, role_based_catch_all, monouso, tossico]
- accountLa parte dell'indirizzo e-mail prima del simbolo "@".
- DominioLa parte dell'indirizzo e-mail dopo il simbolo "@".
- intendeviCorrezione suggestiva per un errore di battitura e-mail
- domain_age_daysEtà del dominio di posta elettronica in giorni o [null].
- free_email[vero / falso] Se l'email proviene da un provider gratuito.
- mx_found[true / false] Il dominio ha un record MX.
- mx_recordIl record MX preferito del dominio
- smtp_providerIl provider SMTP dell'email o [null] [BETA].
- nome di battesimoIl nome del proprietario dell'email se disponibile o [null].
- cognomeIl cognome del proprietario dell'email se disponibile o [null].
- genereIl sesso del proprietario dell'email se disponibile o [null].
- cittÃLa città dell'IP è passata o [null]
- regioneLa regione / stato dell'IP trasmesso o [null]
- capIl codice postale dell'IP passato o [null]
- nazioneIl paese dell'IP trasmesso o [null]
- processed_atL'ora UTC in cui è stata convalidata l'email.
Questo endpoint ti consente di inviarci batch fino a 100 email alla volta. È una tariffa limitata a 5 utilizzi al minuto, se superi il limite di frequenza, sarai bloccato per 10 minuti. Se stai cercando di eseguire convalide singole e-mail, utilizza il nostro unico validatore email endpoint.
Se stai cercando di caricare file con email maggiori di 100 alla volta senza limitazioni di velocità , utilizza il nostro Endpoint per la gestione di file in blocco che include anche anti-greylisting come ulteriore vantaggio.
Questo endpoint può impiegare fino a 70 secondi per restituire i risultati dell'intero batch. Al momento non abbiamo un SDK per questo endpoint, ma gli SDK sono disponibili per gli altri nostri endpoint.
- POST / v2 / validatebatch
URL API: https://bulkapi.zerobounce.net/v2/validatebatch
Di seguito troverai le istruzioni su come utilizzare la nostra API, è molto facile da usare e richiede SSL. L'API richiede che tu abbia un saldo attivo e non consumerà mai un credito per nessun risultato sconosciuto.
Parametri URL
- ParametroDescrizione
- E-MAILL'indirizzo e-mail che desideri convalidare
- email_batch[Array of Objects], formato: {"email_address": "valid@example.com", "ip_address": "1.1. 1.1"}
Esempio di richiesta post
{
"api_key":"La tua chiave API",
"email_batch":[
{"indirizzo email": "valid@example.com","indirizzo ip": "1.1.1.1"},
{"indirizzo email": "invalid@example.com","indirizzo ip": "1.1.1.1"},
{"indirizzo email": "disposable@example.com","indirizzo ip": nullo}
]
}
Per utilizzare questo endpoint, utilizza gli esempi di codice seguenti per la lingua desiderata:
Fioco apiURL = "https://bulkapi.zerobounce.net/v2/validatebatch"
Fioco apiKey = "La tua chiave API"
Fioco formData = "{""api_key"":"" "& apiKey &" "","& vbCrLf &" " & """email_batch"":[" & vbCrLf &
"{""email_address"": ""valid@example.com"",""ip_address"": ""1.1.1.1""}," & vbCrLf &
"{""email_address"": ""invalid@example.com"",""ip_address"": ""1.1.1.1""}," & vbCrLf &
"{""email_address"": ""disposable@example.com"",""ip_address"": null}"& vbCrLf &"]"& vbCrLf &"}"
Fioco request Come HttpWebRequest = Ctype(WebRequest.Create(apiURL), HttpWebRequest)
request.Method = "INVIARE"
request.ContentType = "applicazione / json"
request.ContentLength = formData.Lunghezza
Fioco formLookupDataBytes Come Byte() = Encoding.UTF8.GetBytes(formData)
Utilizzando postStream Come Ruscello = request.GetRequestStream()
postStream.Scrivi(formLookupDataBytes, 0, formLookupDataBytes.Lunghezza)
Fine Utilizzando
Utilizzando response = Ctype(request.GetResponse(), HttpWebResponse)
Utilizzando sr = Nuovo StreamReader(response.GetResponseStream())
Fioco responseString = sr.ReadToEnd()
Fine Utilizzando
Fine Utilizzando
var apiURL = "https://bulkapi.zerobounce.net/v2/validatebatch";
var apiKey = "La tua chiave API";
var formData = "{"api_key":""+ apiKey +"", " +
""email_batch":[" +
"{"email_address": "valid@example.com","ip_address": "1.1.1.1"}," +
"{"email_address": "invalid@example.com","ip_address": "1.1.1.1"}," +
"{"email_address": "disposable@example.com","ip_address": nullo}]}";
Httpwebrequest request = (HttpWebRequest)WebRequest.creare(apiURL);
request.Method = "INVIARE";
request.ContentType = "applicazione / json";
request.ContentLength = formData.Length;
Byte[] formLookupDataBytes = UTF8Encoding.UTF8.Getbytes(formData);
Utilizzando (Ruscello postStream = request.Getrequeststream())
{
postStream.Scrivi(formLookupDataBytes, 0, formLookupDataBytes.Length);
}
Utilizzando (var response = (HttpWebResponse)request.GetResponse())
{
Utilizzando (var sr = Nuovo Streamreader(response.Getresponsestream()))
{
var responseString = sr.Readtoend();
}
}
<?php
$ ricciolo = curl_init();
curl_setopt_array($ ricciolo, vettore(
CURLOPT_URL => "https://bulkapi.zerobounce.net/v2/validatebatch",
CURLOPT_RETURNTRANSFER => Vero,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => Vero,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "INVIARE",
CURLOPT_POSTFIELDS =>"{"api_key":"Il tuo API CHIAVE", "email_batch":[{"indirizzo email": "valido @ esempio.com","indirizzo ip": "1.1.1.1"},{"indirizzo email": "esempio @ non valido.com","indirizzo ip": "1.1.1.1"},{"indirizzo email": "usa e getta @ esempio.com","indirizzo ip": nullo}]}",
CURLOPT_HTTPHEADER => vettore(
"x-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VybmFtZSI6ImhlbnJ5QHplcm9ib3VuY2UubmV0IiwiZXhwIjoxNTk1NzEzNTI1fQ.nzOT-bJ8_tvnrNy3t1DeIDNMXxS-YEvlCbZye-9vpr4",
"Content-Type: application / json",
"Cookie: __cfduid=db977bdba3d06a8c9c19b45a92d6221b41572452483"
),
));
$ risposta = curl_exec($ ricciolo);
curl_close($ ricciolo);
eco $ risposta;
?>
importare http.client
importare mimetypes
conn = http.client.HTTPSConnection("bulkapi.zerobounce.net")
payload = '{
"api_key":"La tua chiave API",
"email_batch":[
{
"indirizzo email": "valid@example.com",
"indirizzo ip": "1.1.1.1"
},
{
"indirizzo email": "invalid@example.com",
"indirizzo ip": "1.1.1.1"
},
{
"indirizzo email": "disposable@example.com",
"indirizzo ip": null
}
]
}'
headers = {
"x-token": 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VybmFtZSI6ImhlbnJ5QHplcm9ib3VuY2UubmV0IiwiZXhwIjoxNTk1NzEzNTI1fQ.nzOT-bJ8_tvnrNy3t1DeIDNMXxS-YEvlCbZye-9vpr4',
'tipo di contenuto': "applicazione / json",
"Cookie": '__cfduid=db977bdba3d06a8c9c19b45a92d6221b41572452483'
}
conn.request("INVIARE", "/ v2 / validatebatch", payload, headers)
res = conn.getresponse()
data = res.read()
stampare(data.decode("utf- 8"))
importare FONDAZIONE
var semaphore = Dispatchsemaphore (value: 0)
permettere parameters = "{"api_key":"Il tuo API CHIAVE", "email_batch":[{"email_address": "valid@example.com","ip_address": "1.1.1.1"},{"email_address": "invalid@example.com","ip_address": "1.1.1.1"},{"email_address": "disposable@example.com","ip_address": nullo}]}"
permettere postData = parameters.Dati(using: .utf8)
var request = URLRequest(url: url(string: "https://bulkapi.zerobounce.net/v2/validatebatch")!,timeoutInterval: Doppio.infinity)
request.aggiungere valore("eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VybmFtZSI6ImhlbnJ5QHplcm9ib3VuY2UubmV0IiwiZXhwIjoxNTk1NzEzNTI1fQ.nzOT-bJ8_tvnrNy3t1DeIDNMXxS-YEvlCbZye-9vpr4", forHTTPHeaderField: "x-token")
request.aggiungere valore("applicazione / json", forHTTPHeaderField: "Tipo di contenuto")
request.aggiungere valore("__cfduid=db977bdba3d06a8c9c19b45a92d6221b41572452483", forHTTPHeaderField: "cookie")
request.httpMethod = "INVIARE"
request.httpBody = postData
permettere task = Urlsession.shared.datatask(with: request) { data, response, error in
guardia permettere data = data altro {
stampare(Corda(describing: error))
Ritorno
}
stampare(Corda(data: data, encoding: .utf8)!)
semaphore.segnale()
}
task.curriculum vitae()
semaphore.aspettare()
curl --location --request POST 'https://bulkapi.zerobounce.net/v2/validatebatch' --header 'x-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VybmFtZSI6ImhlbnJ5QHplcm9ib3VuY2UubmV0IiwiZXhwIjoxNTk1NzEzNTI1fQ.nzOT-bJ8_tvnrNy3t1DeIDNMXxS-YEvlCbZye-9vpr4' --header 'Content-Type: application/json' --header 'Cookie: __cfduid=db977bdba3d06a8c9c19b45a92d6221b41572452483' --data-raw '{"api_key":"Your API KEY",
"email_batch":[
{"email_address": "valid@example.com","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}
]
}'
Risposta riuscita
{
"email_batch": [
{
"indirizzo": "valid@example.com",
"stato": "valido",
"sub_status": "",
"free_email": Falso,
"intendevi": nullo,
"account": nullo,
"dominio": nullo,
"domain_age_days": "9692",
"smtp_provider": "esempio",
"mx_found": "vero",
"mx_record": "mx.example.com",
"nome di battesimo": "zero",
"cognome": "rimbalzo",
"genere": "maschio",
"nazione": nullo,
"regione": nullo,
"città ": nullo,
"cap": nullo,
"processed_at": "2020-09-17 17:43:11.829"
},
{
"indirizzo": "invalid@example.com",
"stato": "non valido",
"sub_status": "mailbox_not_found",
"free_email": Falso,
"intendevi": nullo,
"account": nullo,
"dominio": nullo,
"domain_age_days": "9692",
"smtp_provider": "esempio",
"mx_found": "vero",
"mx_record": "mx.example.com",
"nome di battesimo": "zero",
"cognome": "rimbalzo",
"genere": "maschio",
"nazione": nullo,
"regione": nullo,
"città ": nullo,
"cap": nullo,
"processed_at": "2020-09-17 17:43:11.830"
},
{
"indirizzo": "disposable@example.com",
"stato": "do_not_mail",
"sub_status": "monouso",
"free_email": Falso,
"intendevi": nullo,
"account": nullo,
"dominio": nullo,
"domain_age_days": "9692",
"smtp_provider": "esempio",
"mx_found": "vero",
"mx_record": "mx.example.com",
"nome di battesimo": "zero",
"cognome": "rimbalzo",
"genere": "maschio",
"nazione": nullo,
"regione": nullo,
"città ": nullo,
"cap": nullo,
"processed_at": "2020-09-17 17:43:11.830"
}
],
"errori": []
}
Risposta all'errore
{
"email_batch": [],
"errori": [
{
"errore": "Chiave API non valida o il tuo account ha esaurito i crediti",
"indirizzo email": "tutti"
}
]
}
L'API restituirà un oggetto JSON con 2 valori di matrice, "email_batch" ed "errori" utilizzando il metodo "BatchValidate".
La proprietà email_batch sarà un array di risultati convalidati e l'array degli errori sarà un array di errori riscontrati durante la convalida in batch, se presenti.
Proprietà JSON
- ProprietÃDescrizione
- email_batch[Array] Un array di messaggi di posta elettronica convalidati
- errori[Array] Un array di errori protetti, se presenti
proprietà email_batch
- ProprietÃDescrizione
- indirizzoL'indirizzo email che stai convalidando.
- stato[valido, non valido, generico, sconosciuto, spamtrap, abuso, do_not_mail]
- sub_status[antispam_system,greylist, mail_server_temporary_error, forcible_disconnect, mail_server_did_not_respond, timeout_exceeded, failed_smtp_connection, mailbox_quota_exceeded, exception_occurred, possible_traps, role_based, global_suppression, mailbox_not_found, no_dns_entries, failed_syntax_check, possible_typo, unroutable_ip_address, leading_period_removed, does_not_accept_mail, alias_address, role_based_catch_all, monouso, tossico]
- accountLa parte dell'indirizzo e-mail prima del simbolo "@".
- DominioLa parte dell'indirizzo e-mail dopo il simbolo "@".
- intendeviCorrezione suggestiva per un errore di battitura e-mail
- domain_age_daysEtà del dominio di posta elettronica in giorni o [null].
- free_email[vero / falso] Se l'email proviene da un provider gratuito.
- mx_found[true / false] Il dominio ha un record MX.
- mx_recordIl record MX preferito del dominio
- smtp_providerIl provider SMTP dell'email o [null] [BETA].
- nome di battesimoIl nome del proprietario dell'email se disponibile o [null].
- cognomeIl cognome del proprietario dell'email se disponibile o [null].
- genereIl sesso del proprietario dell'email se disponibile o [null].
- cittÃLa città dell'IP è passata o [null]
- regioneLa regione / stato dell'IP trasmesso o [null]
- capIl codice postale dell'IP passato o [null]
- nazioneIl paese dell'IP trasmesso o [null]
- processed_atL'ora UTC in cui è stata convalidata l'email.
Per aiutarti a testare ogni scenario di codici di stato e sub_status con l'API, abbiamo messo insieme un elenco di email che restituiranno risultati specifici se utilizzati con l'API a scopo di test. Il test con queste e-mail non utilizzerà nessuno dei tuoi crediti.
Inoltre, forniamo anche un indirizzo IP con cui testare per ottenere risultati GEO-Location.
Dovrai comunque utilizzare la tua API KEY con questi indirizzi email di prova.
disposable@example.com
invalid@example.com
valid@example.com
toxic@example.com
donotmail@example.com
spamtrap@example.com
abuse@example.com
unknown@example.com
catch_all@example.com
antispam_system@example.com
does_not_accept_mail@example.com
exception_occurred@example.com
failed_smtp_connection@example.com
failed_syntax_check@example.com
forcible_disconnect@example.com
global_suppression@example.com
greylisted@example.com
leading_period_removed@example.com
mail_server_did_not_respond@example.com
mail_server_temporary_error@example.com
mailbox_quota_exceeded@example.com
mailbox_not_found@example.com
no_dns_entries@example.com
possible_trap@example.com
possible_typo@example.com
role_based@example.com
timeout_exceeded@example.com
unroutable_ip_address@example.com
free_email@example.com
role_based_catch_all@example.com
Puoi utilizzare questo IP per testare la posizione GEO nell'API.
99.110.204.1
Spiegazione dello stato di consegna
- valido - Queste sono le email che abbiamo ritenuto valide e sicure da inviare tramite email, avranno una frequenza di rimbalzo molto bassa, inferiore al 2%. Se ricevi bounce può essere perché il tuo IP potrebbe essere nella lista nera dove il nostro IP non era. A volte gli account di posta elettronica esistono, ma accettano solo posta da persone nei loro elenchi di contatti. A volte avrai un limite al numero di email che puoi inviare a un dominio specifico all'ora. È importante esaminare i codici di rimbalzo SMTP per determinare il motivo.
- non valido - Queste sono e-mail che abbiamo ritenuto non valide, eliminale dalla tua mailing list. I risultati sono accurati al 99.999%.
- catturare -all: è impossibile convalidare queste e-mail senza inviare una vera e-mail e attendere un rimbalzo. Il termine catch-all significa che il server di posta ti dice che l'e-mail è valida, sia che sia valida o non valida. Se desideri inviare un'email a questi indirizzi, ti suggerisco di segmentarli in un gruppo catch-all e di sapere che alcuni di questi probabilmente rimbalzeranno.
- spamtrap - Si ritiene che queste e-mail lo siano spamtraps e non deve essere spedito. Abbiamo una tecnologia in atto per determinare se determinate e-mail devono essere classificate come spamtrap. Non conosciamo tutti gli indirizzi email spamtrap, ma ne conosciamo molti. Leggi la nostra guida alle trappole antispam per saperne di più.
- abuso - Queste e-mail sono di persone note per fare clic sui collegamenti di abuso nelle e-mail, quindi autori di abusi o denuncianti. Si consiglia di non inviare e-mail a questi indirizzi.
- do_not_mail - Queste e-mail sono di aziende, basate su ruoli o persone a cui vuoi semplicemente evitare di inviare e-mail. Sono suddivisi in 6 sottocategorie "usa e getta", "tossico", "role_based", "role_based_catch_all", "global_suppression" e "possible_trap". Esamina questo file e determina se desideri inviare un messaggio di posta elettronica a questi indirizzi. Sono indirizzi e-mail validi, ma nella maggior parte dei casi non devono essere inviati per posta.
- sconosciuto - Queste email non siamo stati in grado di convalidare per un motivo o per l'altro. I casi tipici sono "Il loro server di posta era inattivo" o "il sistema anti-spam ci sta bloccando". Nella maggior parte dei casi, 80% sconosciuti sono indirizzi email non validi / non validi. Abbiamo le "incognite" più basse di qualsiasi validatore di posta elettronica e non prendiamo alla leggera questa affermazione. Abbiamo pagato e testato elenchi di email in oltre 50 diverse società di convalida per confrontare i risultati. Se incontri un gran numero di incognite, inviale per la riconvalida. Ricorda che non ti vengono addebitati i risultati sconosciuti, i crediti verranno riaccreditati. Se hai ancora un numero elevato, contattaci e daremo un'occhiata e verificheremo.
Forniamo anche un codice sub_status per aiutare a spiegare alcuni dei risultati sconosciuti e non validi, non tutti gli unknown e i non validi avranno codici sub_status.
Spiegazione dello stato secondario
- alias_address - (valido) Questi indirizzi email fungono da mittenti / alias e non sono vere caselle di posta, ad esempio se invii un'email a forward@example.com e poi l'email viene inoltrata a realinbox@example.com. È un indirizzo email valido e puoi inviarglielo, sono solo un po 'più di informazioni sull'indirizzo email. A volte possiamo rilevare indirizzi email alias e quando lo facciamo ti informiamo.
- antispam_system - (sconosciuto) Queste e-mail hanno sistemi anti-spam distribuiti che ci impediscono di convalidare queste e-mail. Puoi inviarceli tramite la schermata Contattaci per esaminarli.
- does_not_accept_mail - (non valido) Questi domini inviano solo posta e non la accettano.
- eccezioni_occorse - (sconosciuto) Queste e-mail hanno causato un'eccezione durante la convalida. Se questo accade ripetutamente, faccelo sapere.
- fail_smtp_connection - (sconosciuto) Queste e-mail appartengono a un server di posta che non consente una connessione SMTP. Il più delle volte, queste e-mail finiranno per non essere valide.
- fail_syntax_check - (Non valido) E-mail che non superano i protocolli di sintassi RFC
- forcible_disconnect - (Sconosciuto) Queste e-mail appartengono a un server di posta che si disconnette immediatamente dopo la connessione. Il più delle volte, queste e-mail finiranno per non essere valide.
- global_suppression - (do_not_mail) Queste e-mail si trovano in molti popolari elenchi di soppressione globale (GSL), sono costituiti da noti autori di reclami ISP, reclami diretti, indirizzi acquistati, domini che non inviano posta e controversie note.
- greylisted - (Sconosciuto) Email in cui non siamo temporaneamente in grado di convalidarli. Molte volte, se invii nuovamente queste email, verranno convalidate in un secondo passaggio.
- leading_period_removed - (valido) Se un indirizzo email gmail.com valido inizia con un punto "." lo rimuoveremo, quindi l'indirizzo e-mail è compatibile con tutti i sistemi di posta.
- mail_server_did_not_respond - (sconosciuto) Queste e-mail appartengono a un server di posta che non risponde ai comandi di posta. Il più delle volte, queste e-mail finiranno per non essere valide.
- mail_server_temporary_error - (sconosciuto) Queste e-mail appartengono a un server di posta che restituisce un errore temporaneo. Il più delle volte, queste e-mail finiranno per non essere valide.
- Quota Mailbox superata - (non valido) Queste e-mail hanno superato la loro quota di spazio e non accettano e-mail. Queste email sono contrassegnate come non valide.
- mailbox_not_found - (non valido) Questi indirizzi e-mail sono validi nella sintassi, ma non esistono. Queste email sono contrassegnate come non valide.
- no_dns_entries - (non valido) Queste e-mail sono valide in sintassi, ma il dominio non ha record nel DNS o ha record DNS incompleti. Pertanto, i programmi di posta non saranno in grado o avranno difficoltà a inviarli. Queste email sono contrassegnate come non valide.
- possible_trap - (do_not_mail) Queste e-mail contengono parole chiave che potrebbero essere correlate a possibili trappole di spam come spam @ o @ spamtrap.com. Esaminali prima di decidere se inviare loro delle e-mail o meno.
- possibile_tipo - (non valido) Queste sono e-mail di domini popolari con errori di ortografia comuni. Queste email sono contrassegnate come non valide.
- role_based - (do_not_mail) Queste e-mail appartengono a una posizione o a un gruppo di persone, come sales @ info @ e contact @. Le e-mail basate sui ruoli hanno una forte correlazione con le persone che segnalano le e-mail inviate loro come spam e abuso.
- role_based_catch_all - (do_not_mail) Queste email sono basate sui ruoli e appartengono anche a un dominio catch_all.
- timeout_exceeded - (sconosciuto) Queste e-mail appartengono a un server di posta che risponde in modo estremamente lento. Il più delle volte, queste e-mail finiranno per non essere valide.
- unroutable_ip_address - (non valido) Questi domini di posta elettronica puntano a un indirizzo IP non instradabile, questi sono contrassegnati come non validi.
- monouso - (do_not_mail) Si tratta di email temporanee create al solo scopo di iscriversi a siti web senza fornire il loro vero indirizzo email. Queste email durano poco, da 15 minuti a circa 6 mesi. Sono presenti solo 2 valori (True e False). Se hai email valide con questo flag impostato su TRUE, non dovresti inviarle tramite email.
- tossico - (do_not_mail) Questi indirizzi e-mail sono noti per essere abusi, spam o e-mail create da bot. Se hai email valide con questo flag impostato su TRUE, non dovresti inviarle tramite email.
Forniamo anche altri campi aggiuntivi che dovresti prendere in considerazione prima di inviare un'email. Se una delle tue email valide ha il flag usa e getta o tossico impostato su true, ti consigliamo di non inviarle tramite email.
Altri campi
- free_email - [vero / falso] Se l'email proviene da un provider gratuito.
- mx_found - [true / false] Il dominio ha un record MX.
- mx_record - Il record MX preferito del dominio.
- smtp_provider - Il provider SMTP dell'email o [null] (BETA).
Questi sono gli elementi che sono cambiati tra v1 e v2.
Le e-mail usa e getta e tossiche sono state spostate nello stato do_not_mail con il sub_status appropriato (tossico, usa e getta)
Lo stato "DoNotMail" è stato modificato in "do_not_mail"
Tutti gli stati sono ora in minuscolo, anziché in maiuscolo.
Abbiamo aggiunto una proprietà free_email per indicare se il dominio di posta elettronica è un provider di posta elettronica gratuito che può essere utilizzato per [prevenzione delle frodi].
Abbiamo aggiunto una proprietà domain_age_days per farti sapere quanti anni ha il dominio [prevenzione delle frodi].
Abbiamo aggiunto la proprietà smtp_provider per il dominio di posta elettronica, questa funzione è in beta.
Abbiamo aggiunto la proprietà mx_found per farti sapere se il dominio ha un record MX
Abbiamo aggiunto la proprietà mx_record, per dirti il record MX preferito del dominio.
Abbiamo aggiunto la proprietà did_you_mean, che verrà popolata se viene rilevato un errore di battitura con una correzione suggerita.
La proprietà apiKey è stata modificata in api_key
La proprietà IPAddress è stata modificata in ip_address
Il metodo validatewithip è stato rimosso, ora fa parte del metodo validate
La proprietà location è stata rimossa (non veniva utilizzata)
La proprietà creation_date è stata rimossa (non veniva utilizzata)
la proprietà processat è ora process_at
Abbiamo aggiunto un nuovo sub_status chiamato "role_based_catch_all"
Abbiamo aggiunto tre nuove API, sendfile, filestatus e getfile per la convalida di email in blocco.
Utilizzo API consigliato
L'API sendfile consente all'utente di inviare un file per la convalida e-mail in blocco. Il tipo di contenuto deve essere multipart / form-data. Fare riferimento all'esempio C # per i dettagli.
Non ci sono limitazioni alla dimensione del file, al numero di email o al numero di file che puoi inviare utilizzando questo endpoint, a condizione che tu abbia i crediti nel tuo account per coprire il numero di email inviate nel file, sarà accettato.
POST / v2 / sendfile
URL API: https://bulkapi.zerobounce.net/v2/sendfile
Parametri URL
- ParametroDescrizione
- filefile CSV o txt. Contenuti dell'array di byte per il file inviato. L'intestazione del contenuto è di tipo "testo / csv".
- api_keyLa tua chiave API, trovata nel tuo account. (Necessario)
- return_urlL'URL verrà utilizzato per richiamare al termine della convalida. (Opzionale)
- email_address_columnL'indice di colonna dell'indirizzo e-mail nel file. L'indice inizia da 1. (Necessario)
- first_name_columnL'indice di colonna della colonna del nome. (Opzionale)
- last_name_columnL'indice di colonna della colonna del cognome. (Opzionale)
- gender_columnL'indice di colonna della colonna di genere. (Opzionale)
- ip_address_columnL'indirizzo IP da cui l'email è stata registrata. (Opzionale)
- has_header_rowSe la prima riga del file inviato è una riga di intestazione. vero o falso (opzionale)
Se durante la richiesta di invio del file è stato specificato return_url nei Dati modulo multipart, al termine del processo di convalida POST i seguenti dati.
{
file_id": "aaaaaaaa-zzzz-xxxx-yyyy-5003727fffff",
"nome del file": "Il tuo nome file.csv",
"data di caricamento": "10/20/2018 4:35: 58 PM"
}
Invia esempi di codice file
'Librerie API complete e wrapper sono disponibili qui:
' https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__dot_net
'Invia esempio di file in VB.net
Pubblico Classe SendFileStatus
Pubblico Proprietà success Come Booleano
Pubblico Proprietà message Come Corda
Pubblico Proprietà file_name Come Corda
Pubblico Proprietà file_id Come Corda
Fine Classe
Privato Condivisa Sub SendFileAPITest()
Fioco fileFullPath Come Corda = $"percorso completo del file di un file csv o txt" ' necessario
Fioco apiKey Come Corda = "sostituisci con la tua chiave api qui" ' necessario
Fioco emailAddressColumn Come Numero intero = 2 ' necessario
Fioco firstNameColumn Come Numero intero? = 5 'facoltativo
Fioco lastNameColumn Come Numero intero? = 6 'facoltativo
Fioco genderColumn Come Numero intero? = Niente 'facoltativo
Fioco ipAddressColumn Come Numero intero? = 11 'facoltativo
Fioco hasHeaderRow Come Booleano? = Vero 'facoltativo
Fioco returnUrl Come Corda = Niente 'facoltativo
PROVARE
Fioco sendFileStatus Come SendFileStatus = SendFile(fileFullPath, apiKey, emailAddressColumn, firstNameColumn, lastNameColumn, genderColumn, ipAddressColumn, hasHeaderRow, returnUrl).Result
Console.Scrivi(JsonConvert.SerializeObject(sendFileStatus, Formatting.Indented))
Catturare ex Come Exception
Console.Scrivi(ex.InnerException.Message)
Fine PROVARE
Console.ReadKey()
Fine Sub
Pubblico Condivisa Async Funzione SendFile(
ByVal fileFullPath Come Corda,
ByVal apiKey Come Corda,
ByVal emailAddressColumn Come Numero intero,
ByVal Opzionale firstNameColumn Come Numero intero? = Niente,
ByVal Opzionale lastNameColumn Come Numero intero? = Niente,
ByVal Opzionale genderColumn Come Numero intero? = Niente,
ByVal Opzionale ipAddressColumn Come Numero intero? = Niente,
ByVal Opzionale hasHeaderRow Come Booleano? = Niente,
ByVal Opzionale returnUrl Come Corda = Niente
) Come Task(Di SendFileStatus)
Se Corda.IsNullOrEmpty(fileFullPath) Poi Gettare Nuovo Exception("Errore: fileFullPath è richiesto")
Se Corda.IsNullOrEmpty(apiKey) Poi Gettare Nuovo Exception("Errore: è richiesto apiKey")
Fioco fi = Nuovo FileInfo(fileFullPath)
Fioco fileContents = File.ReadAllBytes(fi.FullName)
Fioco fileName = fi.Nome
Fioco uri Come Uri = Nuovo Uri("https://bulkapi.zerobounce.net/v2/sendfile")
Utilizzando client = Nuovo HttpClient()
Utilizzando request = Nuovo HttpRequestMessage(HttpMethod.Post, uri)
Fioco multiPartContent Come MultipartFormDataContent = Nuovo MultipartFormDataContent()
Fioco byteArrayContent Come ByteArrayContent = Nuovo ByteArrayContent(fileContents)
byteArrayContent.Headers.Add("Tipo di contenuto", "text / csv")
multiPartContent.Add(byteArrayContent, "file", fileName)
multiPartContent.Add(Nuovo StringContent(apiKey), "api_key")
multiPartContent.Add(Nuovo StringContent(emailAddressColumn.ToString()), "email_address_column")
Se firstNameColumn Non è Niente Poi multiPartContent.Add(Nuovo StringContent(firstNameColumn.ToString()), "first_name_column")
Se lastNameColumn Non è Niente Poi multiPartContent.Add(Nuovo StringContent(lastNameColumn.ToString()), "last_name_column")
Se genderColumn Non è Niente Poi multiPartContent.Add(Nuovo StringContent(genderColumn.ToString()), "gender_column")
Se ipAddressColumn Non è Niente Poi multiPartContent.Add(Nuovo StringContent(ipAddressColumn.ToString()), "ip_address_column")
Se hasHeaderRow Non è Niente Poi multiPartContent.Add(Nuovo StringContent(Se((hasHeaderRow = Vero), "vero", "false")), "has_header_row")
Se returnUrl Non è Niente Poi multiPartContent.Add(Nuovo StringContent(returnUrl.ToString()), "return_url")
request.Content = multiPartContent
Utilizzando response = Await client.SendAsync(request, HttpCompletionOption.ResponseContentRead, CancellationToken.None).ConfigureAwait(Falso)
Fioco content = Await response.Content.ReadAsStringAsync()
Se response.IsSuccessStatusCode = Falso Poi
Fioco errore Come Corda = $"StatusCode = {CInt(response.StatusCode)}, Content = {content}"
Gettare Nuovo Exception(errore)
Fine Se
Ritorno JsonConvert.DeserializeObject(Di SendFileStatus)(content)
Fine Utilizzando
Fine Utilizzando
Fine Utilizzando
Fine Funzione
// Le librerie e i wrapper API completi sono disponibili qui:
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__dot_net
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__c-sharp
// Invia esempio di file in C #
Pubblico Classe Sendfilestatus
{
Pubblico bool success { ottenere; impostato; }
Pubblico Corda message { ottenere; impostato; }
Pubblico Corda file_name { ottenere; impostato; }
Pubblico Corda file_id { ottenere; impostato; }
}
Privato statico vuoto Sendfileapitest()
{
Corda fileFullPath = $"percorso completo del file di un file csv o txt"; //necessario
Corda apiKey = "sostituisci con la tua chiave api qui"; //necessario
int emailAddressColumn = 2; //necessario
int? firstNameColumn = 5; //Opzionale
int? lastNameColumn = 6; //Opzionale
int? genderColumn = nullo; //Opzionale
int? ipAddressColumn = 11; //Opzionale
bool? hasHeaderRow = Vero; //Opzionale
Corda returnUrl = nullo; //Opzionale
PROVARE
{
Sendfilestatus sendFileStatus = Inviare file(fileFullPath, apiKey, emailAddressColumn, firstNameColumn, lastNameColumn, genderColumn, ipAddressColumn, hasHeaderRow, returnUrl).Result;
Console.Scrivi(JsonConvert.Serializeobject(sendFileStatus, Formatting.Indented));
}
Catturare (Eccezione ex)
{
Console.Scrivi(ex.InnerException.Message);
}
Console.ReadKey();
}
Pubblico statico async Task<SendFileStatus> Inviare file(Corda fileFullPath, Corda apiKey, int emailAddressColumn,
int? firstNameColumn = nullo, int? lastNameColumn = nullo, int? genderColumn = nullo,
int? ipAddressColumn = nullo, bool? hasHeaderRow = nullo, Corda returnUrl = nullo)
{
Se (Corda.IsNullOrEmpty(fileFullPath))
Gettare Nuovo Eccezione("Errore: fileFullPath è richiesto");
Se (Corda.IsNullOrEmpty(apiKey))
Gettare Nuovo Eccezione("Errore: è richiesto apiKey");
var fi = Nuovo Fileinfo(fileFullPath);
var fileContents = File.Readallbytes(fi.FullName);
var fileName = fi.Name;
Uri uri = Nuovo Uri(@"https://bulkapi.zerobounce.net/v2/sendfile");
Utilizzando (var client = Nuovo HttpClient())
Utilizzando (var request = Nuovo Httprequestmessage(HttpMethod.Post, uri))
{
Multipartformdatacontent multiPartContent = Nuovo Multipartformdatacontent();
Bytearraycontent byteArrayContent = Nuovo Bytearraycontent(fileContents);
byteArrayContent.Headers.INSERISCI("Tipo di contenuto", "text / csv");
multiPartContent.INSERISCI(byteArrayContent, "file", fileName);
multiPartContent.INSERISCI(Nuovo Stringcontent(apiKey), "api_key");
multiPartContent.INSERISCI(Nuovo Stringcontent(emailAddressColumn.ToString()), "email_address_column");
Se (firstNameColumn != nullo)
multiPartContent.INSERISCI(Nuovo Stringcontent(firstNameColumn.ToString()), "first_name_column");
Se (lastNameColumn != nullo)
multiPartContent.INSERISCI(Nuovo Stringcontent(lastNameColumn.ToString()), "last_name_column");
Se (genderColumn != nullo)
multiPartContent.INSERISCI(Nuovo Stringcontent(genderColumn.ToString()), "gender_column");
Se (ipAddressColumn != nullo)
multiPartContent.INSERISCI(Nuovo Stringcontent(ipAddressColumn.ToString()), "ip_address_column");
Se (hasHeaderRow != nullo)
multiPartContent.INSERISCI(Nuovo Stringcontent((hasHeaderRow == Vero) ? "vero" : "false"), "has_header_row");
Se (returnUrl != nullo)
multiPartContent.INSERISCI(Nuovo Stringcontent(returnUrl.ToString()), "return_url");
request.Content = multiPartContent;
Utilizzando (var response = await client.SendAsync(request, HttpCompletionOption.ResponseContentRead, CancellationToken.None).Configureawait(Falso))
{
var content = await response.Content.Readasstringasync();
Se (response.IsSuccessStatusCode == Falso)
{
var error = $"StatusCode = {(int) response.StatusCode}, Content = {content}";
Gettare Nuovo Eccezione(error);
}
Ritorno JsonConvert.Deserializeobject<Sendfilestatus>(content);
}
}
}
<?php
// Le librerie e i wrapper API completi sono disponibili qui:
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__php
$ ricciolo = curl_init();
curl_setopt_array($ ricciolo, vettore(
CURLOPT_URL => "https://bulkapi.zerobounce.net/v2/sendfile",
CURLOPT_RETURNTRANSFER => Vero,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "INVIARE",
CURLOPT_POSTFIELDS => "------WebKitFormBoundary7MA4YWxkTrZu0gWContent-Disposition: form-data; name="api_key"replacewithyours------WebKitFormBoundary7MA4YWxkTrZu0gWContent-Disposition: form-data; name="email_address_column"replacewithyours------WebKitFormBoundary7MA4YWxkTrZu0gW--",
CURLOPT_HTTPHEADER => vettore(
"Postino-token: fae6714d-dc09- 4 e08-b50d-c97030603b61",
"controllo cache: no-cache",
"content-type: multipart / form-data; boundary = ---- WebKitFormBoundary7MA4YWxkTrZu0gW"
),
));
$ risposta = curl_exec($ ricciolo);
$ err = curl_error($ ricciolo);
curl_close($ ricciolo);
Se ($ err) {
eco "Errore cURL #:" . $ err;
} altro {
eco $ risposta;
}
?>
// Le librerie e i wrapper API completi sono disponibili qui:
//https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__java
Okhttpclient client = Nuovo Okhttpclient();
Tipo di supporto mediaType = Tipo di supporto.parse("multipart / form-data; boundary = ---- WebKitFormBoundary7MA4YWxkTrZu0gW");
Requestbody body = Requestbody.creare(mediaType, "------WebKitFormBoundary7MA4YWxkTrZu0gWContent-Disposition: form-data; name="api_key"replacewithyours------WebKitFormBoundary7MA4YWxkTrZu0gWContent-Disposition: form-data; name="email_address_column"replacewithyours------WebKitFormBoundary7MA4YWxkTrZu0gW--");
Richiesta request = Nuovo Richiesta.Costruttore()
.url("https://bulkapi.zerobounce.net/v2/sendfile")
.inviare(body)
.AddHeader("Tipo di contenuto", "multipart / form-data; boundary = ---- WebKitFormBoundary7MA4YWxkTrZu0gW")
.AddHeader("cache-control", "no-cache")
.AddHeader("Postino-token", "25 6 d608ba- cb5- 4 88 c8c- d7-d47276c67d8e")
.costruire();
Risposta response = client.nuova chiamata(request).eseguire();
# Librerie e wrapper API completi sono disponibili qui:
# https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__python
importare http.client
conn = http.client.HTTPConnection("bulkapi, zerobounce netti")
payload = "------WebKitFormBoundary7MA4YWxkTrZu0gWContent-Disposition: form-data; name="api_key"replacewithyours------WebKitFormBoundary7MA4YWxkTrZu0gWContent-Disposition: form-data; name="email_address_column"replacewithyours------WebKitFormBoundary7MA4YWxkTrZu0gW--"
headers = {
'tipo di contenuto': "multipart / form-data; boundary = ---- WebKitFormBoundary7MA4YWxkTrZu0gW",
'cache-control': "no-cache",
'Postino-token': "bc455eda- 9884-417 e-b16f- 3 a5fef3f7540"
}
conn.request("INVIARE", "v2, sendfile", payload, headers)
res = conn.getresponse()
data = res.read()
stampare(data.decode("utf- 8"))
// Le librerie e i wrapper API completi sono disponibili qui:
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__IOS
importare FONDAZIONE
permettere headers = [
"Tipo di contenuto": "multipart / form-data; boundary = ---- WebKitFormBoundary7MA4YWxkTrZu0gW",
"cache-control": "no-cache",
"Postino-token": "2 f68fcc3-d9b6- 458 b-b613- 56 f6a03e6617"
]
permettere parameters = [
[
"nome": "api_key",
"valore": "replacewithyours"
],
[
"nome": "email_address_column",
"valore": "replacewithyours"
]
]
permettere boundary = "---- WebKitFormBoundary7MA4YWxkTrZu0gW"
var body = ""
var error: NSError? = zero
per param in parameters {
permettere paramName = param["nome"]!
body += "--(confine)"
body += "Disposizione del contenuto: form-data; name ="(paramName)""
Se permettere filename = param["nome del file"] {
permettere contentType = param["Tipo di contenuto"]!
permettere fileContent = Corda(contentsOfFile: filename, encoding: Corda.Codifica.utf8)
Se (error != zero) {
stampare(error)
}
body += "; nomefile ="(filename)""
body += "Tipo di contenuto: (contentType)"
body += fileContent
} altro Se permettere paramValue = param["valore"] {
body += "(paramvalue)"
}
}
permettere request = Nsmutableurlrequest(url: NSURL(string: "https://bulkapi.zerobounce.net/v2/sendfile")! Come url,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "INVIARE"
request.allHTTPHeaderFields = headers
request.httpBody = postData Come Dati
permettere session = Urlsession.shared
permettere dataTask = session.datatask(with: request Come URLRequest, completionHandler: { (data, response, error) -> vuoto in
Se (error != zero) {
stampare(error)
} altro {
permettere httpResponse = response Come? Httpurlresponse
stampare(httpResponse)
}
})
dataTask.curriculum vitae()
// Le librerie e i wrapper API completi sono disponibili qui:
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__IOS
// Seleziona la lingua VB o C # per l'importazione del file # esempio campione # <Foundation/Foundation.h>
NSDictionary *headers = @{ @"tipo di contenuto": @ "multipart / form-data; boundary = ---- WebKitFormBoundary7MA4YWxkTrZu0gW",
@ "cache-control": @ "no-cache",
@ "Postino-token": @ "92 624 c5b06e- f- 44 e5-bd86-f537bc6cef67" };
NSArray *parameters = @[ @{ @"nome": @ "api_key", @"valore": @ "replacewithyours" },
@{ @"nome": @ "email_address_column", @"valore": @ "replacewithyours" } ];
NSString *boundary = @ "---- WebKitFormBoundary7MA4YWxkTrZu0gW";
NSError *error;
NSMutableString *body = [NSMutableString string];
per (NSDictionary *param in parameters) {
[body appendFormat:@"--%@", boundary];
Se (param[@"nome del file"]) {
[body appendFormat:@ "Disposizione dei contenuti: form-data; name ="%@ "; nome file ="%@"", param[@"nome"], param[@"nome del file"]];
[body appendFormat:@"Tipo di contenuto: %@", param[@"tipo di contenuto"]];
[body appendFormat:@"%@", [NSString stringWithContentsOfFile:param[@"nome del file"] encoding:NSUTF8StringEncoding error:&error]];
Se (error) {
NSLog(@"%@", error);
}
} altro {
[body appendFormat:@ "Disposizione dei contenuti: form-data; name ="%@"", param[@"nome"]];
[body appendFormat:@"%@", param[@"valore"]];
}
}
[body appendFormat:@"--%@--", boundary];
NSData *postData = [body dataUsingEncoding:NSUTF8StringEncoding];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://bulkapi.zerobounce.net/v2/sendfile"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
[request setHTTPMethod:@"INVIARE"];
[request setAllHTTPHeaderFields:headers];
[request setHTTPBody:postData];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
Se (error) {
NSLog(@"%@", error);
} altro {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSLog(@"%@", httpResponse);
}
}];
[dataTask resume];
// Le librerie e i wrapper API completi sono disponibili qui:
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__android
//N/A
Risposta dell'endpoint
Risposta riuscita
{
"successo": Vero,
"messaggio": "File accettato",
"nome del file": "Il tuo nome file.csv",
"file_id": "aaaaaaaa-zzzz-xxxx-yyyy 5003727 fffff"
}
Risposta all'errore
{
"successo": Falso,
"messaggio": [
"Messaggio di errore"
]
}
L'API filestatus restituisce lo stato di elaborazione del file per il file inviato utilizzando l'API sendfile. Fare riferimento all'esempio C # per i dettagli.
GET / v2 / filestatus
URL API: https://bulkapi.zerobounce.net/v2/filestatus
Parametri URL
- ParametroDescrizione
- api_keyLa tua chiave API, che si trova nel tuo account.
- file_idL'ID file restituito durante la chiamata all'API sendfile.
Se vuoi chiamare l'API dal tuo browser per testarla, tutto ciò che devi fare è sostituire l'API KEY con la tua chiave e l'ID FILE con l'ID file restituito dall'API sendfile:
https://bulkapi.zerobounce.net/v2/filestatus?api_key=[replacewithyours]&file_id=[replacewithyours]
Esempi di codice di stato del file
'Librerie API complete e wrapper sono disponibili qui:
' https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__dot_net
'Esempio di stato del file in VB.net
Pubblico Classe FileStatus
Pubblico Proprietà success Come Booleano
Pubblico Proprietà file_id Come Corda
Pubblico Proprietà file_name Come Corda
Pubblico Proprietà upload_date Come Corda
Pubblico Proprietà file_status Come Corda
Pubblico Proprietà complete_percentage Come Corda
Pubblico Proprietà return_url Come Corda
Fine Classe
Privato Condivisa Sub FileStatusAPITest()
Fioco apiKey Come Corda = "sostituisci con la tua chiave api qui"
Fioco fileID Come Corda = "sostituisci con l'ID file restituito quando chiami l'API sendfile"
PROVARE
Fioco fileStatus Come FileStatus = FileStatusAsync(apiKey, fileID).Result
Console.Scrivi(JsonConvert.SerializeObject(fileStatus, Formatting.Indented))
Catturare ex Come Exception
Console.Scrivi(ex.InnerException.Message)
Fine PROVARE
Console.ReadKey()
Fine Sub
Pubblico Condivisa Async Funzione FileStatusAsync(ByVal apiKey Come Corda, ByVal fileID Come Corda) Come Task(Di FileStatus)
Se Corda.IsNullOrEmpty(apiKey) Poi Gettare Nuovo Exception("Errore: è richiesto apiKey")
Se Corda.IsNullOrEmpty(fileID) Poi Gettare Nuovo Exception("Errore: fileID è richiesto")
Fioco uri Come Uri = Nuovo Uri($"https://bulkapi.zerobounce.net/v2/filestatus?api_key={apiKey}&file_id={fileID}")
Utilizzando client = Nuovo HttpClient()
Utilizzando request = Nuovo HttpRequestMessage(HttpMethod.ottenere, uri)
Utilizzando response = Await client.SendAsync(request).ConfigureAwait(Falso)
Fioco content = Await response.Content.ReadAsStringAsync()
Se response.IsSuccessStatusCode = Falso Poi
Fioco errore Come Corda = $"StatusCode = {CInt(response.StatusCode)}, Content = {content}"
Gettare Nuovo Exception(errore)
Fine Se
Ritorno JsonConvert.DeserializeObject(Di FileStatus)(content)
Fine Utilizzando
Fine Utilizzando
Fine Utilizzando
Fine Funzione
// Le librerie e i wrapper API completi sono disponibili qui:
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__dot_net
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__c-sharp
// Esempio di stato del file in C #
Pubblico Classe Filestatus
{
Pubblico bool success { ottenere; impostato; }
Pubblico Corda file_id { ottenere; impostato; }
Pubblico Corda file_name { ottenere; impostato; }
Pubblico Corda upload_date { ottenere; impostato; }
Pubblico Corda file_status { ottenere; impostato; }
Pubblico Corda complete_percentage { ottenere; impostato; }
Pubblico Corda return_url { ottenere; impostato; }
}
Privato statico vuoto Filestatusapitest()
{
Corda apiKey = "sostituisci con la tua chiave api qui";
Corda fileID = "sostituisci con l'ID file restituito quando chiami l'API sendfile";
PROVARE
{
Filestatus fileStatus = Filestatusasync(apiKey, fileID).Result;
Console.Scrivi(JsonConvert.Serializeobject(fileStatus, Formatting.Indented));
}
Catturare (Eccezione ex)
{
Console.Scrivi(ex.InnerException.Message);
}
Console.ReadKey();
}
Pubblico statico async Task<FileStatus> Filestatusasync(Corda apiKey, Corda fileID)
{
Se (Corda.IsNullOrEmpty(apiKey))
Gettare Nuovo Eccezione("Errore: è richiesto apiKey");
Se (Corda.IsNullOrEmpty(fileID))
Gettare Nuovo Eccezione("Errore: fileID è richiesto");
Uri uri = Nuovo Uri($"https://bulkapi.zerobounce.net/v2/filestatus?api_key={apiKey}&file_id={fileID}");
Utilizzando (var client = Nuovo HttpClient())
Utilizzando (var request = Nuovo Httprequestmessage(HttpMethod.Get, uri))
Utilizzando (var response = await client.SendAsync(request).Configureawait(Falso))
{
var content = await response.Content.Readasstringasync();
Se (response.IsSuccessStatusCode == Falso)
{
var error = $"StatusCode = {(int) response.StatusCode}, Content = {content}";
Gettare Nuovo Eccezione(error);
}
Ritorno JsonConvert.Deserializeobject<Filestatus>(content);
}
}
<?php
// Le librerie e i wrapper API completi sono disponibili qui:
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__php
$ ricciolo = curl_init();
curl_setopt_array($ ricciolo, vettore(
CURLOPT_URL => "https://bulkapi.zerobounce.net/v2/filestatus?api_key=replacewithyours&file_id=replacewithyours",
CURLOPT_RETURNTRANSFER => Vero,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "OTTENERE",
CURLOPT_POSTFIELDS => "",
CURLOPT_HTTPHEADER => vettore(
"Postino-token: 91504 cea-f92f- 46 b0- 97 a4- 338167072887",
"controllo cache: no-cache"
),
));
$ risposta = curl_exec($ ricciolo);
$ err = curl_error($ ricciolo);
curl_close($ ricciolo);
Se ($ err) {
eco "Errore cURL #:" . $ err;
} altro {
eco $ risposta;
}
?>
// Le librerie e i wrapper API completi sono disponibili qui:
//https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__java
Okhttpclient client = Nuovo Okhttpclient();
Richiesta request = Nuovo Richiesta.Costruttore()
.url("https://bulkapi.zerobounce.net/v2/filestatus?api_key=replacewithyours&file_id=replacewithyours")
.ottenere()
.AddHeader("cache-control", "no-cache")
.AddHeader("Postino-token", "7 fffd7a4-b2fd- 4 e8b-ac85- 4099411 f27ce")
.costruire();
Risposta response = client.nuova chiamata(request).eseguire();
# Librerie e wrapper API completi sono disponibili qui:
# https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__python
importare http.client
conn = http.client.HTTPConnection("bulkapi, zerobounce netti")
payload = ""
headers = {
'cache-control': "no-cache",
'Postino-token': "caa917fe- 45 45 ce- ae 9456-2 b039b999dcb"
}
conn.request("OTTENERE", "v2, filestatus", payload, headers)
res = conn.getresponse()
data = res.read()
stampare(data.decode("utf- 8"))
// Le librerie e i wrapper API completi sono disponibili qui:
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__IOS
// Seleziona la lingua VB o C # per Stato file Sampleimport Foundation
permettere headers = [
"cache-control": "no-cache",
"Postino-token": "4 034 f1b92e2- f- 4 94 fa0- d9-b097d768668a"
]
permettere request = Nsmutableurlrequest(url: NSURL(string: "https://bulkapi.zerobounce.net/v2/filestatus?api_key=replacewithyours&file_id=replacewithyours")! Come url,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "OTTENERE"
request.allHTTPHeaderFields = headers
permettere session = Urlsession.shared
permettere dataTask = session.datatask(with: request Come URLRequest, completionHandler: { (data, response, error) -> vuoto in
Se (error != zero) {
stampare(error)
} altro {
permettere httpResponse = response Come? Httpurlresponse
stampare(httpResponse)
}
})
dataTask.curriculum vitae()
// Le librerie e i wrapper API completi sono disponibili qui:
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__IOS
#importare <Foundation/Foundation.h>
NSDictionary *headers = @{ @ "cache-control": @ "no-cache",
@ "Postino-token": @"5e9c24ae-b577-4e33-8748-83f14e151ae9" };
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://bulkapi.zerobounce.net/v2/filestatus?api_key=replacewithyours&file_id=replacewithyours"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
[request setHTTPMethod:@"OTTENERE"];
[request setAllHTTPHeaderFields:headers];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
Se (error) {
NSLog(@"%@", error);
} altro {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSLog(@"%@", httpResponse);
}
}];
[dataTask resume];
// Le librerie e i wrapper API completi sono disponibili qui:
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__android
// N/A
Risposta dell'endpoint
Risposta riuscita
{
"successo": Vero,
"file_id": "aaaaaaaa-zzzz-xxxx-yyyy 5003727 fffff",
"nome del file": "Il tuo nome file.csv",
"data di caricamento": "10/20/2018 4:35: 58 PM",
"file_status": "Completare",
"complete_percentage": "100%",
"return_url": "L'URL di ritorno se fornito quando si chiama l'API sendfile"
}
Risposta all'errore
{
"successo": Falso,
"messaggio": "Messaggio di errore"
}
L'API getfile consente agli utenti di ottenere il file dei risultati della convalida per il file inviato utilizzando l'API sendfile. Fare riferimento all'esempio C # per i dettagli.
GET / v2 / getfile
URL API: https://bulkapi.zerobounce.net/v2/getfile
Parametri URL
- ParametroDescrizione
- api_keyLa tua chiave API, che si trova nel tuo account.
- file_idL'ID file restituito durante la chiamata all'API sendfile.
Se vuoi chiamare l'API dal tuo browser per testarla, tutto ciò che devi fare è sostituire l'API KEY con la tua chiave e l'ID FILE con l'ID file restituito da inviare file API:
https://bulkapi.zerobounce.net/v2/getfile?api_key=replacewithyours&file_id=[replacewithyours]
Esempi di codice GetFile
'Librerie API complete e wrapper sono disponibili qui:
' https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__dot_net
'Ottieni esempio di file in VB.net
Privato Condivisa Sub GetFileAPITest()
Fioco apiKey Come Corda = "sostituisci con la tua chiave api qui"
Fioco fileID Come Corda = "sostituisci con l'ID file restituito quando chiami l'API sendfile"
Fioco dir Come Corda = "C: emp"
PROVARE
Fioco filePath = GetFileAsync(apiKey, fileID, dir).Result
Console.Scrivi($"File {filePath} retrieved successfully.")
Catturare ex Come Exception
Console.Scrivi(ex.InnerException.Message)
Fine PROVARE
Console.ReadKey()
Fine Sub
Pubblico Condivisa Async Funzione GetFileAsync(ByVal apiKey Come Corda, ByVal fileID Come Corda, ByVal dir Come Corda) Come Task(Di Corda)
Se Corda.IsNullOrEmpty(apiKey) Poi Gettare Nuovo Exception("Errore: è richiesto apiKey")
Se Corda.IsNullOrEmpty(fileID) Poi Gettare Nuovo Exception("Errore: fileID è richiesto")
Fioco uri Come Uri = Nuovo Uri($"https://bulkapi.zerobounce.net/v2/getfile?api_key={apiKey}&file_id={fileID}")
Utilizzando client = Nuovo HttpClient()
Utilizzando request = Nuovo HttpRequestMessage(HttpMethod.ottenere, uri)
Utilizzando response = Await client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead).ConfigureAwait(Falso)
Utilizzando streamToReadFrom Come Ruscello = Await response.Content.ReadAsStreamAsync()
Se response.IsSuccessStatusCode = Falso Poi
Fioco [errore] = $"StatusCode = {CInt(response.StatusCode)}, Content = {response.Content.ReadAsStringAsync().Result}"
Gettare Nuovo Exception([errore])
Fine Se
Fioco filePath = Path.Combine(dir, response.Content.Headers.ContentDisposition.FileName)
Utilizzando streamToWriteTo Come Ruscello = File.Aperto(filePath, FileMode.Create)
Await streamToReadFrom.CopyToAsync(streamToWriteTo)
Fine Utilizzando
Ritorno filePath
Fine Utilizzando
Fine Utilizzando
Fine Utilizzando
Fine Utilizzando
Fine Funzione
// Le librerie e i wrapper API completi sono disponibili qui:
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__dot_net
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__c-sharp
// Ottieni un esempio di file in C #
Privato statico vuoto Getfileapitest()
{
Corda apiKey = "sostituisci con la tua chiave api qui";
Corda fileID = "sostituisci con l'ID file restituito quando chiami l'API sendfile";
Corda dir = @ "C: emp"; // specifica la directory in cui vuoi salvare il file dei risultati
PROVARE
{
var filePath = Getfileasync(apiKey, fileID, dir).Result;
Console.Scrivi($"File {filePath} recuperato correttamente.");
}
Catturare (Eccezione ex)
{
Console.Scrivi(ex.InnerException.Message);
}
Console.ReadKey();
}
Pubblico statico async Task<Corda> Getfileasync(Corda apiKey, Corda fileID, Corda dir)
{
Se (Corda.IsNullOrEmpty(apiKey))
Gettare Nuovo Eccezione("Errore: è richiesto apiKey");
Se (Corda.IsNullOrEmpty(fileID))
Gettare Nuovo Eccezione("Errore: fileID è richiesto");
Uri uri = Nuovo Uri($"https://bulkapi.zerobounce.net/v2/getfile?api_key={apiKey}&file_id={fileID}");
Utilizzando (var client = Nuovo HttpClient())
Utilizzando (var request = Nuovo Httprequestmessage(HttpMethod.Get, uri))
Utilizzando (var response = await client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead).Configureawait(Falso))
Utilizzando (Ruscello streamToReadFrom = await response.Content.Readasstreamasync())
{
Se (response.IsSuccessStatusCode == Falso)
{
var error = $"StatusCode = {(int) response.StatusCode}, Content = {response.Content.ReadAsStringAsync (). Result}";
Gettare Nuovo Eccezione(error);
}
var filePath = Path.Combina(dir, response.Content.Headers.ContentDisposition.FileName);
Utilizzando (Ruscello streamToWriteTo = File.Aperto(filePath, FileMode.Create))
{
await streamToReadFrom.Copytoasync(streamToWriteTo);
}
Ritorno filePath;
}
}
<?php
// Le librerie e i wrapper API completi sono disponibili qui:
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__php
$ richiesta = Nuovo Httprequest();
$ richiesta->seturl('https://bulkapi.zerobounce.net/v2/getfile');
$ richiesta->setmethod(HTTP_METH_GET);
$ richiesta->setquerydata(vettore(
"api_key" => "sostituire con il tuo",
"file_id" => "sostituire con il tuo"
));
$ richiesta->setheaders(vettore(
'Postino-token' => "0 a6c40b8- 0 cd4- 4 dbb-a57e- 422558 e7ab6a",
'cache-control' => "no-cache"
));
PROVARE {
$ risposta = $ richiesta->inviare();
eco $ risposta->getbody();
} Catturare (HTTPpexception $ ex) {
eco $ ex;
}
?>
// Le librerie e i wrapper API completi sono disponibili qui:
//https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__java
Okhttpclient client = Nuovo Okhttpclient();
Richiesta request = Nuovo Richiesta.Costruttore()
.url("https://bulkapi.zerobounce.net/v2/getfile?api_key=replacewithyours&file_id=replacewithyours")
.ottenere()
.AddHeader("cache-control", "no-cache")
.AddHeader("Postino-token", "d0b7d318-f3f6- 47 fb- 842 d- 5622 b26592c1")
.costruire();
Risposta response = client.nuova chiamata(request).eseguire();
# Librerie e wrapper API completi sono disponibili qui:
# https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__python
importare http.client
conn = http.client.HTTPConnection("bulkapi, zerobounce netti")
payload = ""
headers = {
'cache-control': "no-cache",
'Postino-token': "9 f615d7e- 60 af- 4746-9 bcc- 317 b1f80a6bb"
}
conn.request("OTTENERE", "v2, getfile", payload, headers)
res = conn.getresponse()
data = res.read()
stampare(data.decode("utf- 8"))
// Le librerie e i wrapper API completi sono disponibili qui:
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__IOS
importare FONDAZIONE
permettere headers = [
"cache-control": "no-cache",
"Postino-token": "6 c8cb1cb- 25 ed- 4 e56-b4cb- 65 e949b8bdd1"
]
permettere request = Nsmutableurlrequest(url: NSURL(string: "https://bulkapi.zerobounce.net/v2/getfile?api_key=replacewithyours&file_id=replacewithyours")! Come url,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "OTTENERE"
request.allHTTPHeaderFields = headers
permettere session = Urlsession.shared
permettere dataTask = session.datatask(with: request Come URLRequest, completionHandler: { (data, response, error) -> vuoto in
Se (error != zero) {
stampare(error)
} altro {
permettere httpResponse = response Come? Httpurlresponse
stampare(httpResponse)
}
})
dataTask.curriculum vitae()
Risposta dell'endpoint
Risposta riuscita
//N/A
L'API getfile restituisce il file dei risultati della convalida. Il tipo di contenuto restituito è "application / octet-stream". È possibile ottenere il nome del file da response.Content.Headers.ContentDisposition.FileName. Se stai chiamando l'API direttamente dal browser, puoi salvare o aprire il file dei risultati dal browser.
Risposta all'errore
{
"successo": Falso,
"messaggio": "Messaggio di errore"
}
L'API deletefile elimina il file che è stato inviato utilizzando inviare file API. Il file può essere eliminato solo quando il suo stato è Completo.
POST / v2 / deletefile
URL API: https://bulkapi.zerobounce.net/v2/deletefile
Parametri URL
- ParametroDescrizione
- api_keyLa tua chiave API, che si trova nel tuo account.
- file_idL'ID file restituito durante la chiamata all'API sendfile.
Elimina esempi di codice file
'Librerie API complete e wrapper sono disponibili qui:
' https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__dot_net
'Elimina esempio di file in VB.net
Pubblico Classe ResponseResult
Pubblico Proprietà success Come Booleano
Pubblico Proprietà message Come Corda
Pubblico Proprietà file_id Come Corda
Pubblico Proprietà file_name Come Corda
Fine Classe
Privato Condivisa Sub DeleteFileAPITest()
Fioco apiKey Come Corda = "sostituisci con la tua chiave api qui"
Fioco fileID Come Corda = "sostituisci con l'ID file restituito quando chiami l'API sendfile"
PROVARE
Fioco responseResult Come ResponseResult = DeleteFileAsync(apiKey, fileID).Result
Console.Scrivi(JsonConvert.SerializeObject(responseResult, Formatting.Indented))
Catturare ex Come Exception
Console.Scrivi(ex.InnerException.Message)
Fine PROVARE
Console.ReadKey()
Fine Sub
Pubblico Condivisa Async Funzione DeleteFileAsync(ByVal apiKey Come Corda, ByVal fileID Come Corda) Come Task(Di ResponseResult)
Se Corda.IsNullOrEmpty(apiKey) Poi Gettare Nuovo Exception("Errore: è richiesto apiKey")
Se Corda.IsNullOrEmpty(fileID) Poi Gettare Nuovo Exception("Errore: fileID è richiesto")
Fioco uri Come Uri = Nuovo Uri($"https://bulkapi.zerobounce.net/v2/deletefile?api_key={apiKey}&file_id={fileID}")
Utilizzando client = Nuovo HttpClient()
Utilizzando request = Nuovo HttpRequestMessage(HttpMethod.[ottenere], uri)
Utilizzando response = Await client.SendAsync(request).ConfigureAwait(Falso)
Fioco content = Await response.Content.ReadAsStringAsync()
Se response.IsSuccessStatusCode = Falso Poi
Fioco [errore] = $"StatusCode = {CInt(response.StatusCode)}, Content = {content}"
Gettare Nuovo Exception([errore])
Fine Se
Ritorno JsonConvert.DeserializeObject(Di ResponseResult)(content)
Fine Utilizzando
Fine Utilizzando
Fine Utilizzando
Fine Funzione
// Le librerie e i wrapper API completi sono disponibili qui:
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__dot_net
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__c-sharp
// Elimina esempio di file in C #
Pubblico Classe ResponseResult
{
Pubblico bool success { ottenere; impostato; }
Pubblico Corda message { ottenere; impostato; }
Pubblico Corda file_id { ottenere; impostato; }
Pubblico Corda file_name { ottenere; impostato; }
}
Privato statico vuoto Deletefileapitest()
{
Corda apiKey = "sostituisci con la tua chiave api qui";
Corda fileID = "sostituisci con l'ID file restituito quando chiami l'API sendfile";
PROVARE
{
ResponseResult responseResult = DeleteFileAsync(apiKey, fileID).Result;
Console.Scrivi(JsonConvert.Serializeobject(responseResult, Formatting.Indented));
}
Catturare (Eccezione ex)
{
Console.Scrivi(ex.InnerException.Message);
}
Console.ReadKey();
}
Pubblico statico async Task<ResponseResult> DeleteFileAsync(Corda apiKey, Corda fileID)
{
Se (Corda.IsNullOrEmpty(apiKey))
Gettare Nuovo Eccezione("Errore: è richiesto apiKey");
Se (Corda.IsNullOrEmpty(fileID))
Gettare Nuovo Eccezione("Errore: fileID è richiesto");
Uri uri = Nuovo Uri($"https://bulkapi.zerobounce.net/v2/deletefile?api_key={apiKey}&file_id={fileID}");
Utilizzando (var client = Nuovo HttpClient())
Utilizzando (var request = Nuovo Httprequestmessage(HttpMethod.Get, uri))
Utilizzando (var response = await client.SendAsync(request).Configureawait(Falso))
{
var content = await response.Content.Readasstringasync();
Se (response.IsSuccessStatusCode == Falso)
{
var error = $"StatusCode = {(int) response.StatusCode}, Content = {content}";
Gettare Nuovo Eccezione(error);
}
Ritorno JsonConvert.Deserializeobject<ResponseResult>(content);
}
}
<?php
// Le librerie e i wrapper API completi sono disponibili qui:
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__php
$ ricciolo = curl_init();
curl_setopt_array($ ricciolo, vettore(
CURLOPT_URL => "https://bulkapi.zerobounce.net/v2/deletefile?api_key=replacewithyours&file_id=replacewithyours",
CURLOPT_RETURNTRANSFER => Vero,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "OTTENERE",
CURLOPT_POSTFIELDS => "",
CURLOPT_HTTPHEADER => vettore(
"Postino-token: 91504 cea-f92f- 46 b0- 97 a4- 338167072887",
"controllo cache: no-cache"
),
));
$ risposta = curl_exec($ ricciolo);
$ err = curl_error($ ricciolo);
curl_close($ ricciolo);
Se ($ err) {
eco "Errore cURL #:" . $ err;
} altro {
eco $ risposta;
}
?>
// Le librerie e i wrapper API completi sono disponibili qui:
//https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__java
Okhttpclient client = Nuovo Okhttpclient();
Richiesta request = Nuovo Richiesta.Costruttore()
.url("https://bulkapi.zerobounce.net/v2/deletefile?api_key=replacewithyours&file_id=replacewithyours")
.ottenere()
.AddHeader("cache-control", "no-cache")
.AddHeader("Postino-token", "7 fffd7a4-b2fd- 4 e8b-ac85- 4099411 f27ce")
.costruire();
Risposta response = client.nuova chiamata(request).eseguire();
# Librerie e wrapper API completi sono disponibili qui:
# https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__python
importare http.client
conn = http.client.HTTPConnection("bulkapi, zerobounce netti")
payload = ""
headers = {
'cache-control': "no-cache",
'Postino-token': "caa917fe- 45 45 ce- ae 9456-2 b039b999dcb"
}
conn.request("OTTENERE", "v2, deletefile", payload, headers)
res = conn.getresponse()
data = res.read()
stampare(data.decode("utf- 8"))
// Le librerie e i wrapper API completi sono disponibili qui:
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__IOS
// Seleziona la lingua VB o C # per Stato file Sampleimport Foundation
permettere headers = [
"cache-control": "no-cache",
"Postino-token": "4 034 f1b92e2- f- 4 94 fa0- d9-b097d768668a"
]
permettere request = Nsmutableurlrequest(url: NSURL(string: "https://bulkapi.zerobounce.net/v2/deletefile?api_key=replacewithyours&file_id=replacewithyours")! Come url,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "OTTENERE"
request.allHTTPHeaderFields = headers
permettere session = Urlsession.shared
permettere dataTask = session.datatask(with: request Come URLRequest, completionHandler: { (data, response, error) -> vuoto in
Se (error != zero) {
stampare(error)
} altro {
permettere httpResponse = response Come? Httpurlresponse
stampare(httpResponse)
}
})
dataTask.curriculum vitae()
// Le librerie e i wrapper API completi sono disponibili qui:
// https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__IOS
#importare <Foundation/Foundation.h>
NSDictionary *headers = @{ @ "cache-control": @ "no-cache",
@ "Postino-token": @"5e9c24ae-b577-4e33-8748-83f14e151ae9" };
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://bulkapi.zerobounce.net/v2/deletefile?api_key=replacewithyours&file_id=replacewithyours"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
[request setHTTPMethod:@"OTTENERE"];
[request setAllHTTPHeaderFields:headers];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
Se (error) {
NSLog(@"%@", error);
} altro {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSLog(@"%@", httpResponse);
}
}];
[dataTask resume];
Risposta dell'endpoint
Risposta riuscita
{
"successo": Vero,
"messaggio": "File eliminato",
"nome del file": "test2",
"file_id": "b222a0fd- 90 416 d5- c- 8 9 f1a- cc3851fc823"
}
Risposta all'errore
{
"successo": Falso,
"messaggio": "Impossibile trovare il file."
}