API di punteggio AI
L'API ZeroBounce AI Scoring combina una vasta selezione di dati con analisi statistiche comprovate per valutare in modo granulare il livello di qualità di un indirizzo e-mail. Il software identifica i modelli positivi e negativi di un indirizzo e-mail e restituisce un punteggio su cui gli utenti possono fare affidamento quando eseguono il loro igiene della posta elettronica. La metodologia di ZeroBounce AI si adatta periodicamente all'evoluzione delle tendenze della posta elettronica.
Dai uno sguardo approfondito alla qualità dei tuoi contatti imparando di più sull'attività online dei tuoi iscritti. Con le informazioni aggiunte puoi segmentare le tue liste per servire meglio i tuoi clienti con messaggi mirati. Se desideri segmentare ulteriormente la tua lista e-mail in base al punteggio di qualità , ti consigliamo di convalidare anche il tuo file "valido".
Endpoint di gestione file consigliato per il punteggio AI
L'API sendfile di calcolo del punteggio consente a un utente di inviare un file per il calcolo del punteggio della posta in blocco. Il tipo di contenuto deve essere multipart / form-data. Fare riferimento all'esempio C # per i dettagli.
POST / V2 / PUNTEGGIO / SENDFILE
URL API: https://bulkapi.zerobounce.net/v2/scoring/sendfile
Parametri URL
- ParametroRichiesto / OpzionaleDescrizione
- fileNecessarioIl file CSV o txt. Contenuti dell'array di byte per il file inviato. L'intestazione del contenuto è di tipo "testo / csv"
- api_keyNecessarioLa tua chiave API, trovata nel tuo account
- email_address_columnNecessarioL'indice di colonna dell'indirizzo e-mail nel file. L'indice inizia da 1
- return_urlOpzionaleL'URL verrà utilizzato come richiamata al completamento del servizio di calcolo del punteggio
- has_header_rowOpzionaleSe la prima riga del file inviato è una riga di intestazione. Vero o falso
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
'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 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, 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 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/scoring/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 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
// 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? ipAddressColumn = 11; //Opzionale
bool? hasHeaderRow = Vero; //Opzionale
Corda returnUrl = nullo; //Opzionale
PROVARE
{
Sendfilestatus sendFileStatus = Inviare file(fileFullPath, apiKey, emailAddressColumn, 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? 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/scoring/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.Accordare()), "email_address_column");
Se (ipAddressColumn != nullo)
multiPartContent.INSERISCI(Nuovo Stringcontent(ipAddressColumn.Accordare()), "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.Accordare()), "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
$ ricciolo = curl_init();
curl_setopt_array($ ricciolo, vettore(
CURLOPT_URL => "https://bulkapi.zerobounce.net/v2/scoring/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 => "------ WebKitFormBoundary7MA4YWxkTrZu0gW Disposizione contenuto: form-data; name ="api_key"replacewithyours ------ WebKitFormBoundary7MA4YWxkTrZu0gW Disposizione-contenuto: 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;
}
?>
Okhttpclient client = Nuovo Okhttpclient();
Tipo di supporto mediaType = Tipo di supporto.parse("multipart / form-data; boundary = ---- WebKitFormBoundary7MA4YWxkTrZu0gW");
Requestbody body = Requestbody.creare(mediaType, "------Webkitformboundary7ma4ywxktrzu0gw
Soddisfare-Disposizione: form-data; name="api_key"
replacewithyours
------Webkitformboundary7ma4ywxktrzu0gw
Soddisfare-Disposizione: form-data; name="email_address_column"
replacewithyours
------Webkitformboundary7ma4ywxktrzu0gw--");
Richiesta request = Nuovo Richiesta.Costruttore()
.url("https://bulkapi.zerobounce.net/v2/scoring/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();
importare http.client
conn = http.client.HTTPConnection("bulkapi, zerobounce netti")
payload = "------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="api_key"
replacewithyours
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-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"))
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 += "--(boundary)
"
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 += "Soddisfare-Genere: (contentType)
"
body += fileContent
} altro Se permettere paramValue = param["valore"] {
body += "
(paramValue)"
}
}
permettere request = Nsmutableurlrequest(url: NSURL(string: "https://bulkapi.zerobounce.net/v2/scoring/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()
// 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 [@"name"], param [@"fileName"]];
[body appendFormat:@"Content-Type: %@
", param [@"contentType"]];
[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 [@"name"]];
[body appendFormat:@"%@", param[@"valore"]];
}
}
[body appendFormat:@"
--%@--
", boundary];
NSData *postData = [body dataUsingEncoding:NSUTF8StringEncoding];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://bulkapi.zerobounce.net/v2/scoring/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];
//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 di calcolo del punteggio restituisce lo stato di elaborazione del file per il file inviato tramite l'API sendfile. Fare riferimento all'esempio C # per i dettagli.
OTTIENI / V2 / PUNTEGGIO / FILESTATO
URL API: https://bulkapi.zerobounce.net/v2/scoring/filestatus
Parametri URL
- ParametroRichiesto / OpzionaleDescrizione
- api_keyNecessarioLa tua chiave API, trovata nel tuo account
- file_idNecessarioL'ID file restituito quando si chiama l'API sendfile di calcolo del punteggio
Se vuoi chiamare l'API dal tuo browser per testarlo, tutto ciò che devi fare è sostituire l'API KEY con la tua chiave e l'ID FILE con l'ID del file restituito dal punteggio di sendfile
Esempi di codice di stato del file
'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/scoring/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
// 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/scoring/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
$ ricciolo = curl_init();
curl_setopt_array($ ricciolo, vettore(
CURLOPT_URL => "https://bulkapi.zerobounce.net/v2/scoring/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;
}
?>
Okhttpclient client = Nuovo Okhttpclient();
Richiesta request = Nuovo Richiesta.Costruttore()
.url("https://bulkapi.zerobounce.net/v2/scoring/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();
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"))
// 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/scoring/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()
#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/scoring/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];
// 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 di calcolo del punteggio consente agli utenti di ottenere il file dei risultati di convalida per il file inviato utilizzando l'API sendfile di calcolo del punteggio. Fare riferimento all'esempio C # per i dettagli.
OTTIENI / V2 / PUNTEGGIO / GETFILE
URL API: https://bulkapi.zerobounce.net/v2/scoring/getfile
Parametri URL
- ParametroRichiesto / OpzionaleDescrizione
- api_keyNecessarioLa tua chiave API, trovata nel tuo account
- file_idNecessarioL'ID file restituito quando si chiama l'API sendfile di calcolo del punteggio
Ottieni esempi di codice file
'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/scoring/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
// 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/scoring/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
$ richiesta = Nuovo Httprequest();
$ richiesta->seturl('https://bulkapi.zerobounce.net/v2/scoring/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;
}
?>
Okhttpclient client = Nuovo Okhttpclient();
Richiesta request = Nuovo Richiesta.Costruttore()
.url("https://bulkapi.zerobounce.net/v2/scoring/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();
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"))
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/scoring/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
{
"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 deletefile di calcolo del punteggio elimina il file che è stato inviato utilizzando l'API sendfile di calcolo del punteggio. Il file può essere eliminato solo quando il suo stato è Completo.
POST / V2 / PUNTEGGIO / ELIMINA
URL API: https://bulkapi.zerobounce.net/v2/scoring/deletefile
Parametri URL
- ParametroRichiesto / OpzionaleDescrizione
- api_keyNecessarioLa tua chiave API, trovata nel tuo account
- file_idNecessarioL'ID file restituito quando si chiama l'API sendfile di calcolo del punteggio
Elimina esempi di codice file
'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/scoring/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
// 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/scoring/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
$ ricciolo = curl_init();
curl_setopt_array($ ricciolo, vettore(
CURLOPT_URL => "https://bulkapi.zerobounce.net/v2/scoring/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;
}
?>
Okhttpclient client = Nuovo Okhttpclient();
Richiesta request = Nuovo Richiesta.Costruttore()
.url("https://bulkapi.zerobounce.net/v2/scoring/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();
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"))
// 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/scoring/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()
#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/scoring/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."
}