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

Utilizzo raccomandato dell'endpoint di gestione dei file
Utilizzo raccomandato dell'endpoint di gestione dei file

API punteggio AI: Invia file

/ ai-scoring-api / send-file /

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

  • Parametro
    Richiesto / Opzionale
    Descrizione
  • file
    Necessario
    Il file CSV o txt. Contenuti dell'array di byte per il file inviato. L'intestazione del contenuto è di tipo "testo / csv"
  • api_key
    Necessario
    La tua chiave API, trovata nel tuo account
  • email_address_column
    Necessario
    L'indice di colonna dell'indirizzo e-mail nel file. L'indice inizia da 1
  • return_url
    Opzionale
    L'URL verrà utilizzato come richiamata al completamento del servizio di calcolo del punteggio
  • has_header_row
    Opzionale
    Se 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

  • Visual Basic
  • C#
  • PHP
  • Giava
  • Pitone
  • Veloce
  • Obiettivo C
  • Android Java
      
'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"
     ]
 }
   

API punteggio AI: Stato file

/ ai-scoring-api / file-status /

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

  • Parametro
    Richiesto / Opzionale
    Descrizione
  • api_key
    Necessario
    La tua chiave API, trovata nel tuo account
  • file_id
    Necessario
    L'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

  • Visual Basic
  • C#
  • PHP
  • Giava
  • Pitone
  • Veloce
  • Obiettivo C
  • Android Java
      
'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"
   }
   

API punteggio AI: Ottieni file

/ ai-scoring-api / get-file /

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

  • Parametro
    Richiesto / Opzionale
    Descrizione
  • api_key
    Necessario
    La tua chiave API, trovata nel tuo account
  • file_id
    Necessario
    L'ID file restituito quando si chiama l'API sendfile di calcolo del punteggio

Ottieni esempi di codice file

  • Visual Basic
  • C#
  • PHP
  • Giava
  • Pitone
  • Veloce
      
'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"
     ]
 }
   

API punteggio AI: Elimina file

/ ai-scoring-api / delete-file /

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

  • Parametro
    Richiesto / Opzionale
    Descrizione
  • api_key
    Necessario
    La tua chiave API, trovata nel tuo account
  • file_id
    Necessario
    L'ID file restituito quando si chiama l'API sendfile di calcolo del punteggio

Elimina esempi di codice file

  • Visual Basic
  • C#
  • PHP
  • Giava
  • Pitone
  • Veloce
  • Obiettivo C
      
'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."
}