API Scoring API

The ZeroBounce AI Scoring API combines a vast selection of data with proven statistical analysis to granularly rate the quality level of an email address. The software identifies positive and negative patterns of an email address and returns a score that users can rely on when performing their email hygiene. The methodology of ZeroBounce A.I. periodically adjusts as email trends evolve.

Узнайте больше о качестве своих клиентов, узнав больше об активности ваших подписчиков в Интернете. С добавленной информацией вы можете сегментировать свои списки, чтобы лучше обслуживать своих клиентов с помощью целевых сообщений. Если вы хотите дополнительно сегментировать свой список адресов электронной почты на основе показателя качества, мы рекомендуем также проверить ваш «действительный» файл.

Рекомендуемая конечная точка управления файлами для AI Scoring

Рекомендуемое использование конечной точки управления файлами
Рекомендуемое использование конечной точки управления файлами

API Scoring API: Отправить файл

/ai-scoring-api/send-file/

API-интерфейс скоринга для скоринга позволяет пользователю отправлять файл для массовой рассылки по электронной почте. Тип содержимого должен быть multipart / form-data. Пожалуйста, обратитесь к примеру C # для деталей.

POST / V2 / ОЦЕНКА / ОТПРАВКА

URL API: https://bulkapi.zerobounce.net/v2/scoring/sendfile

Параметры URL

  • ПАРАМЕТР
    Обязательный / Дополнительно
    Описание
  • файл
    Обязательный
    CSV или TXT-файл. Содержимое байтового массива для переданного файла. Заголовок содержимого является типом "text / csv"
  • api_key
    Обязательный
    Ваш ключ API, найденный в вашем аккаунте
  • email_address_column
    Обязательный
    Индекс столбца адреса электронной почты в файле. Индекс начинается с 1
  • return_url
    НЕОБЯЗАТЕЛЬНЫЙ
    URL будет использоваться в качестве обратного вызова после завершения услуги скоринга
  • has_header_row
    НЕОБЯЗАТЕЛЬНЫЙ
    Если первая строка из представленного файла является строкой заголовка. Правда или ложь

Если return_url был указан в данных многочастной формы во время запроса файла отправки, мы отправим следующие данные в URL, когда процесс проверки будет завершен.


                {
                  file_id": "aaaaaaaa-zzzz-xxxx-yyyy-5003727fffff",
                  "имя файла": "Ваш файл name.csv", 
                  "дата загрузки": "10/20/2018 4:35: 58 PM" 
                }
                

Отправить образцы кода файла

  • Visual Basic
  • C#
  • PHP
  • Ява
  • Питон
  • СВИФТ
  • Цель С
  • Android Java
      
'Отправить образец файла в VB.net

Общественности Класс SendFileStatus
   Общественности Имущество success Как Логический
   Общественности Имущество message Как Строка
   Общественности Имущество file_name Как Строка
   Общественности Имущество file_id Как Строка
Конец Класс

Частный Общий Суб SendFileAPITest()
   Тусклый fileFullPath Как Строка = $"полный путь к файлу csv или txt"  ' обязательный
   Тусклый apiKey Как Строка = "замени свой ключ api здесь"              ' обязательный
   Тусклый emailAddressColumn Как Целое число = 2  ' обязательный
   Тусклый ipAddressColumn Как Целое число? = 11   ' по желанию
   Тусклый hasHeaderRow Как Логический? = Правда    ' по желанию
   Тусклый returnUrl Как Строка = Ничего такого      ' по желанию

   Пытаться
       Тусклый sendFileStatus Как SendFileStatus = SendFile(fileFullPath, apiKey, emailAddressColumn, ipAddressColumn, hasHeaderRow, returnUrl).Result
       Console.Напишите(JsonConvert.SerializeObject(sendFileStatus, Formatting.Indented))
   Поймать ex Как Exception
       Console.Напишите(ex.InnerException.Message)
   Конец Пытаться

   Console.ReadKey()
Конец Суб

Общественности Общий Async Функция SendFile(ByVal fileFullPath Как Строка, 
                                     ByVal apiKey Как Строка, 
                                     ByVal emailAddressColumn Как Целое число, 
                                     ByVal НЕОБЯЗАТЕЛЬНЫЙ ipAddressColumn Как Целое число? = Ничего такого, 
                                     ByVal НЕОБЯЗАТЕЛЬНЫЙ hasHeaderRow Как Логический? = Ничего такого, 
                                     ByVal НЕОБЯЗАТЕЛЬНЫЙ returnUrl Как Строка = Ничего такого) Как Task(Из SendFileStatus)

   Если Строка.IsNullOrEmpty(fileFullPath) Затем Бросать Новый Exception(«Ошибка: fileFullPath требуется»)
   Если Строка.IsNullOrEmpty(apiKey) Затем Бросать Новый Exception(«Ошибка: требуется apiKey»)
   Тусклый fi = Новый FileInfo(fileFullPath)
   Тусклый fileContents = File.ReadAllBytes(fi.FullName)
   Тусклый fileName = fi.Имя
   Тусклый uri Как Uri = Новый Uri("https://bulkapi.zerobounce.net/v2/scoring/sendfile")

   С помощью client = Новый HttpClient()

       С помощью request = Новый HttpRequestMessage(HttpMethod.Post, uri)
           Тусклый multiPartContent Как MultipartFormDataContent = Новый MultipartFormDataContent()
           Тусклый byteArrayContent Как ByteArrayContent = Новый ByteArrayContent(fileContents)
           byteArrayContent.Headers.Add("Тип содержимого", "текст / csv")
           multiPartContent.Add(byteArrayContent, "файл", fileName)
           multiPartContent.Add(Новый StringContent(apiKey), "api_key")
           multiPartContent.Add(Новый StringContent(emailAddressColumn.ToString()), "email_address_column")
           Если ipAddressColumn Не является Ничего такого Затем multiPartContent.Add(Новый StringContent(ipAddressColumn.ToString()), "ip_address_column")
           Если hasHeaderRow Не является Ничего такого Затем multiPartContent.Add(Новый StringContent(Если((hasHeaderRow = Правда), "правда", "ложный")), "has_header_row")
           Если returnUrl Не является Ничего такого Затем multiPartContent.Add(Новый StringContent(returnUrl.ToString()), "return_url")
           request.Content = multiPartContent

           С помощью response = Await client.SendAsync(request, HttpCompletionOption.ResponseContentRead, CancellationToken.None).ConfigureAwait(Ложь)
               Тусклый content = Await response.Content.ReadAsStringAsync()

               Если response.IsSuccessStatusCode = Ложь Затем
                   Тусклый ошибка Как Строка = $"StatusCode = {CInt(response.StatusCode)}, Content = {content}"
                   Бросать Новый Exception(ошибка)
               Конец Если

               Вернуть JsonConvert.DeserializeObject(Из SendFileStatus)(content)
           Конец С помощью
       Конец С помощью
   Конец С помощью
Конец Функция
   

// Отправить образец файла в C #

Общественности Класс Sendfilestatus
{
   Общественности bool success { получить; задавать; }
   Общественности Строка message { получить; задавать; }
   Общественности Строка file_name { получить; задавать; }
   Общественности Строка file_id { получить; задавать; }
}

Частный статический пустота Sendfileapitest()
{
   Строка fileFullPath = $"полный путь к файлу csv или txt";  //обязательный
   Строка apiKey = "замени свой ключ api здесь";  //обязательный       
   инт emailAddressColumn = 2;  //обязательный
   инт? ipAddressColumn = 11;  //Необязательный
   bool? hasHeaderRow = Правда;  //Необязательный
   Строка returnUrl = ноль;  //Необязательный

   Пытаться
   {
       Sendfilestatus sendFileStatus = Отправить файл(fileFullPath, apiKey, emailAddressColumn, ipAddressColumn, hasHeaderRow, returnUrl).Result;
       Console.Напишите(JsonConvert.Serializeobject(sendFileStatus, Formatting.Indented));
   }
   Поймать (Исключение ex)
   {
       Console.Напишите(ex.InnerException.Message);
   }

   Console.ReadKey();
}

Общественности статический асинхронной Task<SendFileStatus> Отправить файл(Строка fileFullPath, Строка apiKey, инт emailAddressColumn, 
                                           инт? ipAddressColumn = ноль, bool? hasHeaderRow = ноль, Строка returnUrl = ноль)
{
   Если (Строка.Isnullorempty(fileFullPath))
       Бросать Новый Исключение(«Ошибка: fileFullPath требуется»);
   Если (Строка.Isnullorempty(apiKey))
       Бросать Новый Исключение(«Ошибка: требуется apiKey»);

   вар fi = Новый FileInfo(fileFullPath);
   вар fileContents = File.Readallbytes(fi.FullName);
   вар fileName = fi.Name;

   URI uri = Новый URI(@"https://bulkapi.zerobounce.net/v2/scoring/sendfile");

   С помощью (вар client = Новый HttpClient())
   С помощью (вар request = Новый Httprequestmessage(HttpMethod.Post, uri))
   {
       Multipartformdatacontent multiPartContent = Новый Multipartformdatacontent();
       Bytearraycontent byteArrayContent = Новый Bytearraycontent(fileContents);
       byteArrayContent.Headers.Добавить("Тип содержимого", "текст / csv");
       multiPartContent.Добавить(byteArrayContent, "файл", fileName);
       multiPartContent.Добавить(Новый Stringcontent(apiKey), "api_key");
       multiPartContent.Добавить(Новый Stringcontent(emailAddressColumn.Нанизывать()), "email_address_column");
       Если (ipAddressColumn != ноль)
           multiPartContent.Добавить(Новый Stringcontent(ipAddressColumn.Нанизывать()), "ip_address_column");
       Если (hasHeaderRow != ноль)
           multiPartContent.Добавить(Новый Stringcontent((hasHeaderRow == Правда) ? "правда" : "ложный"), "has_header_row");
       Если (returnUrl != ноль)
           multiPartContent.Добавить(Новый Stringcontent(returnUrl.Нанизывать()), "return_url");

       request.Content = multiPartContent;

       С помощью (вар response = ждите client.SendAsync(request, HttpCompletionOption.ResponseContentRead, CancellationToken.None).Configureawait(Ложь))
       {
           вар content = ждите response.Content.Readasstringasync();

           Если (response.IsSuccessStatusCode == Ложь)
           {
               вар error = $"StatusCode = {(int) response.StatusCode}, Content = {content}";
               Бросать Новый Исключение(error);
           }

           Вернуть JsonConvert.Deserializeobject<Sendfilestatus>(content);
       }
   }
}
   

 <?php

$ завиток = curl_init();

curl_setopt_array($ завиток, массив(
 CURLOPT_URL => "https://bulkapi.zerobounce.net/v2/scoring/sendfile",
 CURLOPT_RETURNTRANSFER => Правда,
 CURLOPT_ENCODING => "",
 CURLOPT_MAXREDIRS => 10,
 CURLOPT_TIMEOUT => 30,
 CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
 CURLOPT_CUSTOMREQUEST => "ПОЧТА",
 CURLOPT_POSTFIELDS => "------ WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name ="api_key"replacewithyours ------ WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name ="email_address_column"replacewithyours ------ WebKitFormBoundary7MA4YWxkTrZu0gW--",
 CURLOPT_HTTPHEADER => массив(
   «Почтальон-токен: fae6714d-dc09- 4 e08-b50d-c97030603b61»,
   "контроль кеша: нет кеша",
   "тип контента: multipart / form-data; border = ---- WebKitFormBoundary7MA4YWxkTrZu0gW"
 ),
));

$ ответ = curl_exec($ завиток);
$ err = curl_error($ завиток);

curl_close($ завиток);

Если ($ err) {
 эхо "Ошибка cURL #:" . $ err;
} еще {
 эхо $ ответ;
}
?>
   

 Okhttpclient client = Новый Okhttpclient();

 MediaType mediaType = MediaType.синтаксический анализ("multipart / form-data; border = ---- WebKitFormBoundary7MA4YWxkTrZu0gW");
 Requestbody body = Requestbody.создайте(mediaType, "------Webkitformboundary7ma4ywxktrzu0gw
Содержание-Диспозиция: form-data; name="api_key"

replacewithyours
------Webkitformboundary7ma4ywxktrzu0gw
Содержание-Диспозиция: form-data; name="email_address_column"

replacewithyours
------Webkitformboundary7ma4ywxktrzu0gw--");
 Запрос request = Новый Запрос.СТРОИТЕЛЬ()
   .url("https://bulkapi.zerobounce.net/v2/scoring/sendfile")
   .после(body)
   .AddHeader("Тип содержимого", "multipart / form-data; border = ---- WebKitFormBoundary7MA4YWxkTrZu0gW")
   .AddHeader(«кэш-контроль», «нет кэша»)
   .AddHeader(«Почтальон-Токен», "25 d608ba- 6 cb5- 4 c8c- 88 d7-d47276c67d8e")
   .строить();
 
 ОТВЕТ response = client.новый вызов(request).выполнять();
   

 импортировать http.client

 conn = http.client.HTTPConnection("bulkapi, zerobounce, чистый")
 
 payload = "------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="api_key"

replacewithyours
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="email_address_column"

replacewithyours
------WebKitFormBoundary7MA4YWxkTrZu0gW--"
 
 headers = {
     'тип содержимого': "multipart / form-data; border = ---- WebKitFormBoundary7MA4YWxkTrZu0gW",
     «кэш-контроль»: «нет кэша»,
     «Почтальон-Токен»: "bc455eda- 9884-417 е-b16f- 3 a5fef3f7540"
     }
 
 conn.request("ПОЧТА", "v2, sendfile", payload, headers)
 
 res = conn.getresponse()
 data = res.read()
 
 распечатать(data.decode("utf- 8"))
   
   

 импортировать ФОНД

 позволяь headers = [
   "Тип содержимого": "multipart / form-data; border = ---- WebKitFormBoundary7MA4YWxkTrZu0gW",
   «кэш-контроль»: «нет кэша»,
   «Почтальон-Токен»: "2 f68fcc3-d9b6- 458 ь-b613- 56 f6a03e6617"
 ]
 позволяь parameters = [
   [
     "название": "api_key",
     "стоимость": "replacewithyours"
   ],
   [
     "название": "email_address_column",
     "стоимость": "replacewithyours"
   ]
 ]
 
 позволяь boundary = "---- WebKitFormBoundary7MA4YWxkTrZu0gW"
 
 вар body = ""
 вар error: Nserror? = нль
 для param в parameters {
   позволяь paramName = param["название"]!
   body += "--(boundary)
"
   body += "Content-Disposition: form-data; name ="(paramName)""
   Если позволяь filename = param["имя файла"] {
     позволяь contentType = param["Тип содержимого"]!
     позволяь fileContent = Строка(contentsOfFile: filename, encoding: Строка.Кодирование.utf8)
     Если (error != нль) {
       распечатать(error)
     }
     body += "; имя файла ="(filename)"
"
     body += "Содержание-Тип: (contentType)

"
     body += fileContent
   } еще Если позволяь paramValue = param["стоимость"] {
     body += "

(paramValue)"
   }
 }
 
 позволяь request = Nsmutableurlrequest(url: NSURL(string: "https://bulkapi.zerobounce.net/v2/scoring/sendfile")! Как url, 
                                       cachePolicy: .useProtocolCachePolicy,
                                       timeoutInterval: 10.0)
 request.httpMethod = "ПОЧТА"
 request.allHTTPHeaderFields = headers
 request.httpBody = postData Как Данные
 
 позволяь session = Urlsession.shared
 позволяь dataTask = session.datatask(with: request Как URLRequest, completionHandler: { (data, response, error) -> пустота в
   Если (error != нль) {
     распечатать(error)
   } еще {
     позволяь httpResponse = response Как? Httpurlresponse
     распечатать(httpResponse)
   }
 })
 
 dataTask.продолжить()
   

// Пожалуйста, выберите язык VB или C # для отправки файла примера импорта #  <Foundation/Foundation.h>

NSDictionary *headers = @{ @"тип содержимого": @ "multipart / form-data; border = ---- WebKitFormBoundary7MA4YWxkTrZu0gW",
                           @ «кэш-контроль»: @ «нет кэша»,
                           @ «Почтальон-Токен»: @ "92 c5b06e- 624 f- 44 е5-bd86-f537bc6cef67" };
NSArray *parameters = @[ @{ @"название": @ "api_key", @"стоимость": @ "replacewithyours" },
                         @{ @"название": @ "email_address_column", @"стоимость": @ "replacewithyours" } ];
NSString *boundary = @ "---- WebKitFormBoundary7MA4YWxkTrZu0gW";

NSError *error;
NSMutableString *body = [NSMutableString string];
для (NSDictionary *param в parameters) {
   [body appendFormat:@"--%@
", boundary];
   Если (param[@"имя файла"]) {
       [body appendFormat:@ "Content-Disposition: form-data; name ="%@ "; filename ="%@"
", парам [@"name"], парам [@"fileName"]];
       [body appendFormat:@"Content-Type: %@

", парам [@"contentType"]];
       [body appendFormat:@"%@", [NSString stringWithContentsOfFile:param[@"имя файла"] encoding:NSUTF8StringEncoding error:&error]];
       Если (error) {
           NSLog(@"%@", error);
       }
   } еще {
       [body appendFormat:@ "Content-Disposition: form-data; name ="%@"

", парам [@"name"]];
       [body appendFormat:@"%@", param[@"стоимость"]];
   }
}
[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:@"ПОЧТА"];
[request setAllHTTPHeaderFields:headers];
[request setHTTPBody:postData];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                           completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                               Если (error) {
                                                   NSLog(@"%@", error);
                                               } еще {
                                                   NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                   NSLog(@"%@", httpResponse);
                                               }
                                           }];
[dataTask resume];
   

//N/A
   

Ответ конечной точки

Успешный ответ

      
{
 «успех»: Правда,
 "сообщение": «Файл принят»,
 "имя файла": "Ваш файл name.csv",
 "file_id": "aaaaaaaa-zzzz-хххх-yyyy- 5003727 fffff"
}
   

Овет об ошибке

      
   {
     «успех»: Ложь,
     "сообщение": [
         "Сообщения об ошибках"
     ]
 }
   

API Scoring API: статус файла

/ai-scoring-api/file-status/

API скоринга filestatus возвращает статус обработки файла, отправленного с использованием API sendfile. Пожалуйста, обратитесь к примеру C # для деталей.

GET / V2 / SCORING / FILESTATUS

URL API: https://bulkapi.zerobounce.net/v2/scoring/filestatus

Параметры URL

  • ПАРАМЕТР
    Обязательный / Дополнительно
    Описание
  • api_key
    Обязательный
    Ваш ключ API, найденный в вашем аккаунте
  • file_id
    Обязательный
    Возвращенный идентификатор файла при вызове скоринга API sendfile

Если вы хотите вызвать API из своего браузера, чтобы протестировать его, ве, что вам нужно сделать, это заменить API-ключ на ваш ключ и идентификатор файла на возвращенный идентификатор файла из скоринга sendfile.

Примеры кода состояния файла

  • Visual Basic
  • C#
  • PHP
  • Ява
  • Питон
  • СВИФТ
  • Цель С
  • Android Java
      
Образец состояния файла в VB.net

Общественности Класс FileStatus
   Общественности Имущество success Как Логический
   Общественности Имущество file_id Как Строка
   Общественности Имущество file_name Как Строка
   Общественности Имущество upload_date Как Строка
   Общественности Имущество file_status Как Строка
   Общественности Имущество complete_percentage Как Строка
   Общественности Имущество return_url Как Строка
Конец Класс

Частный Общий Суб FileStatusAPITest()
   Тусклый apiKey Как Строка = "замени свой ключ api здесь"
   Тусклый fileID Как Строка = Msgstr "заменить на возвращенный идентификатор файла при вызове sendfile API"

   Пытаться
       Тусклый fileStatus Как FileStatus = FileStatusAsync(apiKey, fileID).Result
       Console.Напишите(JsonConvert.SerializeObject(fileStatus, Formatting.Indented))
   Поймать ex Как Exception
       Console.Напишите(ex.InnerException.Message)
   Конец Пытаться

   Console.ReadKey()
Конец Суб

Общественности Общий Async Функция FileStatusAsync(ByVal apiKey Как Строка, ByVal fileID Как Строка) Как Task(Из FileStatus)
   Если Строка.IsNullOrEmpty(apiKey) Затем Бросать Новый Exception(«Ошибка: требуется apiKey»)
   Если Строка.IsNullOrEmpty(fileID) Затем Бросать Новый Exception(«Ошибка: fileID требуется»)
   Тусклый uri Как Uri = Новый Uri($"https://bulkapi.zerobounce.net/v2/scoring/filestatus?api_key={apiKey}&file_id={fileID}")

   С помощью client = Новый HttpClient()
       С помощью request = Новый HttpRequestMessage(HttpMethod.получить, uri)
           С помощью response = Await client.SendAsync(request).ConfigureAwait(Ложь)
               Тусклый content = Await response.Content.ReadAsStringAsync()

               Если response.IsSuccessStatusCode = Ложь Затем
                   Тусклый ошибка Как Строка = $"StatusCode = {CInt(response.StatusCode)}, Content = {content}"
                   Бросать Новый Exception(ошибка)
               Конец Если

               Вернуть JsonConvert.DeserializeObject(Из FileStatus)(content)
           Конец С помощью
       Конец С помощью
   Конец С помощью
Конец Функция
   

// Пример состояния файла в C #

Общественности Класс Filestatus
{
   Общественности bool success { получить; задавать; }
   Общественности Строка file_id { получить; задавать; }
   Общественности Строка file_name { получить; задавать; }
   Общественности Строка upload_date { получить; задавать; }
   Общественности Строка file_status { получить; задавать; }
   Общественности Строка complete_percentage { получить; задавать; }
   Общественности Строка return_url { получить; задавать; }
}

Частный статический пустота Filestatusapitest()
{
   Строка apiKey = "замени свой ключ api здесь";
   Строка fileID = Msgstr "заменить на возвращенный идентификатор файла при вызове sendfile API";

   Пытаться
   {
       Filestatus fileStatus = Filestatusasync(apiKey, fileID).Result;
       Console.Напишите(JsonConvert.Serializeobject(fileStatus, Formatting.Indented));
   }
   Поймать (Исключение ex)
   {
       Console.Напишите(ex.InnerException.Message);
   }
   Console.ReadKey();
}

Общественности статический асинхронной Task<FileStatus> Filestatusasync(Строка apiKey, Строка fileID)
{
   Если (Строка.Isnullorempty(apiKey))
       Бросать Новый Исключение(«Ошибка: требуется apiKey»);
   Если (Строка.Isnullorempty(fileID))
       Бросать Новый Исключение(«Ошибка: fileID требуется»);

   URI uri = Новый URI($"https://bulkapi.zerobounce.net/v2/scoring/filestatus?api_key={apiKey}&file_id={fileID}");

   С помощью (вар client = Новый HttpClient())
   С помощью (вар request = Новый Httprequestmessage(HttpMethod.Get, uri))
   С помощью (вар response = ждите client.SendAsync(request).Configureawait(Ложь))
   {
       вар content = ждите response.Content.Readasstringasync();

       Если (response.IsSuccessStatusCode == Ложь)
       {
           вар error = $"StatusCode = {(int) response.StatusCode}, Content = {content}";
           Бросать Новый Исключение(error);
       }

       Вернуть JsonConvert.Deserializeobject<Filestatus>(content);
   }
}
   

   <?php

   $ завиток = curl_init();
   
   curl_setopt_array($ завиток, массив(
     CURLOPT_URL => "https://bulkapi.zerobounce.net/v2/scoring/filestatus?api_key=replacewithyours&file_id=replacewithyours",
     CURLOPT_RETURNTRANSFER => Правда,
     CURLOPT_ENCODING => "",
     CURLOPT_MAXREDIRS => 10,
     CURLOPT_TIMEOUT => 30,
     CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
     CURLOPT_CUSTOMREQUEST => "ПОЛУЧИТЬ",
     CURLOPT_POSTFIELDS => "",
     CURLOPT_HTTPHEADER => массив(
       "Почтальон-токен: 91504 cea-f92f- 46 b0- 97 a4- 338167072887",
       "контроль кеша: нет кеша"
     ),
   ));
   
   $ ответ = curl_exec($ завиток);
   $ err = curl_error($ завиток);
   
   curl_close($ завиток);
   
   Если ($ err) {
     эхо "Ошибка cURL #:" . $ err;
   } еще {
     эхо $ ответ;
   }
   ?>
   

   Okhttpclient client = Новый Okhttpclient();

   Запрос request = Новый Запрос.СТРОИТЕЛЬ()
     .url("https://bulkapi.zerobounce.net/v2/scoring/filestatus?api_key=replacewithyours&file_id=replacewithyours")
     .получить()
     .AddHeader(«кэш-контроль», «нет кэша»)
     .AddHeader(«Почтальон-Токен», "7 fffd7a4-b2fd- 4 e8b-ac85- 4099411 f27ce")
     .строить();
   
   ОТВЕТ response = client.новый вызов(request).выполнять();
   

   импортировать http.client

   conn = http.client.HTTPConnection("bulkapi, zerobounce, чистый")
   
   payload = ""
   
   headers = {
       «кэш-контроль»: «нет кэша»,
       «Почтальон-Токен»: "caa917fe- 45 ce- 45 ae- 9456-2 b039b999dcb"
       }
   
   conn.request("ПОЛУЧИТЬ", "v2, filestatus", payload, headers)
   
   res = conn.getresponse()
   data = res.read()
   
   распечатать(data.decode("utf- 8"))
   
   

   // Пожалуйста, выберите язык VB или C # для File Status Sampleimport Foundation

   позволяь headers = [
     «кэш-контроль»: «нет кэша»,
     «Почтальон-Токен»: "4 f1b92e2- 034 f- 4 fa0- 94 d9-b097d768668a"
   ]
   
   позволяь request = Nsmutableurlrequest(url: NSURL(string: "https://bulkapi.zerobounce.net/v2/scoring/filestatus?api_key=replacewithyours&file_id=replacewithyours")! Как url,
                                           cachePolicy: .useProtocolCachePolicy,
                                       timeoutInterval: 10.0)
   request.httpMethod = "ПОЛУЧИТЬ"
   request.allHTTPHeaderFields = headers
   
   позволяь session = Urlsession.shared
   позволяь dataTask = session.datatask(with: request Как URLRequest, completionHandler: { (data, response, error) -> пустота в
     Если (error != нль) {
       распечатать(error)
     } еще {
       позволяь httpResponse = response Как? Httpurlresponse
       распечатать(httpResponse)
     }
   })
   
   dataTask.продолжить()
   

   #импортировать <Foundation/Foundation.h>

   NSDictionary *headers = @{ @ «кэш-контроль»: @ «нет кэша»,
                              @ «Почтальон-Токен»: @"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:@"ПОЛУЧИТЬ"];
   [request setAllHTTPHeaderFields:headers];
   
   NSURLSession *session = [NSURLSession sharedSession];
   NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                               completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                   Если (error) {
                                                       NSLog(@"%@", error);
                                                   } еще {
                                                       NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                       NSLog(@"%@", httpResponse);
                                                   }
                                               }];
   [dataTask resume];
   

// N/A
   

Ответ конечной точки

Успешный ответ

      
{
 «успех»: Правда,
 "file_id": "aaaaaaaa-zzzz-хххх-yyyy- 5003727 fffff",
 "имя файла": "Ваш файл name.csv",
 "дата загрузки": "10/20/2018 4:35: 58 PM",
 "file_status": «Полный»,
 "complete_percentage": "100%",
 "return_url": «Ваш обратный URL, если он указан при вызове sendfile API»
}
   

Овет об ошибке


   {      
     «успех»: Ложь,
     "сообщение": "Сообщения об ошибках"
   }
   

API Scoring API: Получить файл

/ai-scoring-api/get-file/

API getfile для скоринга позволяет пользователям получать файл результатов проверки для файла, переданного с помощью API sendfile для скоринга. Пожалуйста, обратитесь к примеру C # для деталей.

GET / V2 / SCORING / GETFILE

URL API: https://bulkapi.zerobounce.net/v2/scoring/getfile

Параметры URL

  • ПАРАМЕТР
    Обязательный / Дополнительно
    Описание
  • api_key
    Обязательный
    Ваш ключ API, найденный в вашем аккаунте
  • file_id
    Обязательный
    Возвращенный идентификатор файла при вызове скоринга API sendfile

Получить образцы кода файла

  • Visual Basic
  • C#
  • PHP
  • Ява
  • Питон
  • СВИФТ
      
'Получить образец файла в VB.net

Частный Общий Суб GetFileAPITest()
 Тусклый apiKey Как Строка = "замени свой ключ api здесь"
 Тусклый fileID Как Строка = Msgstr "заменить на возвращенный идентификатор файла при вызове sendfile API"
 Тусклый dir Как Строка = "C:	emp"

   Пытаться
       Тусклый filePath = GetFileAsync(apiKey, fileID, dir).Result
       Console.Напишите($"File {filePath} retrieved successfully.")
   Поймать ex Как Exception
       Console.Напишите(ex.InnerException.Message)
   Конец Пытаться

   Console.ReadKey()
Конец Суб

Общественности Общий Async Функция GetFileAsync(ByVal apiKey Как Строка, ByVal fileID Как Строка, ByVal dir Как Строка) Как Task(Из Строка)
   Если Строка.IsNullOrEmpty(apiKey) Затем Бросать Новый Exception(«Ошибка: требуется apiKey»)
   Если Строка.IsNullOrEmpty(fileID) Затем Бросать Новый Exception(«Ошибка: fileID требуется»)
   Тусклый uri Как Uri = Новый Uri($"https://bulkapi.zerobounce.net/v2/scoring/getfile?api_key={apiKey}&file_id={fileID}")

   С помощью client = Новый HttpClient()
       С помощью request = Новый HttpRequestMessage(HttpMethod.получить, uri)
           С помощью response = Await client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead).ConfigureAwait(Ложь)
               С помощью streamToReadFrom Как Поток = Await response.Content.ReadAsStreamAsync()

                   Если response.IsSuccessStatusCode = Ложь Затем
                       Тусклый [ошибка] = $"StatusCode = {CInt(response.StatusCode)}, Content = {response.Content.ReadAsStringAsync().Result}"
                       Бросать Новый Exception([ошибка])
                   Конец Если

                   Тусклый filePath = Path.Combine(dir, response.Content.Headers.ContentDisposition.FileName)

                   С помощью streamToWriteTo Как Поток = File.Открытый(filePath, FileMode.Create)
                       Await streamToReadFrom.CopyToAsync(streamToWriteTo)
                   Конец С помощью

                   Вернуть filePath
               Конец С помощью
           Конец С помощью
       Конец С помощью
   Конец С помощью
Конец Функция
   

// Получаем образец файла на C #

Частный статический пустота Getfileapitest()
{
   Строка apiKey = "замени свой ключ api здесь";
   Строка fileID = Msgstr "заменить на возвращенный идентификатор файла при вызове sendfile API";
   Строка dir = @ "C: emp";  // указать каталог, в котором вы хотите сохранить файл результатов

   Пытаться
   {              
       вар filePath = Getfileasync(apiKey, fileID, dir).Result;
       Console.Напишите($"Файл {filePath} успешно получен".);
   }
   Поймать (Исключение ex)
   {
       Console.Напишите(ex.InnerException.Message);
   }
   Console.ReadKey();
}

Общественности статический асинхронной Task<Строка> Getfileasync(Строка apiKey, Строка fileID, Строка dir)
{
   Если (Строка.Isnullorempty(apiKey))
       Бросать Новый Исключение(«Ошибка: требуется apiKey»);
   Если (Строка.Isnullorempty(fileID))
       Бросать Новый Исключение(«Ошибка: fileID требуется»);

   URI uri = Новый URI($"https://bulkapi.zerobounce.net/v2/scoring/getfile?api_key={apiKey}&file_id={fileID}");

   С помощью (вар client = Новый HttpClient())
   С помощью (вар request = Новый Httprequestmessage(HttpMethod.Get, uri))
   С помощью (вар response = ждите client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead).Configureawait(Ложь))
   С помощью (Поток streamToReadFrom = ждите response.Content.Readasstreamasync())
   {
       Если (response.IsSuccessStatusCode == Ложь)
       {
           вар error = $"StatusCode = {(int) response.StatusCode}, Content = {response.Content.ReadAsStringAsync (). Result}";
           Бросать Новый Исключение(error);
       }

       вар filePath = Path.Скомбинировать(dir, response.Content.Headers.ContentDisposition.FileName);
       С помощью (Поток streamToWriteTo = File.Открытый(filePath, FileMode.Create))
       {
           ждите streamToReadFrom.Copytoasync(streamToWriteTo);
       }
       Вернуть filePath;
   }
}
   

 <?php

 $ запрос = Новый HttpRequest();
 $ запрос->Seturl('https://bulkapi.zerobounce.net/v2/scoring/getfile');
 $ запрос->setmethod(HTTP_METH_GET);
 
 $ запрос->setquerydata(массив(
   'api_key' => 'replacewithyours',
   'file_id' => 'replacewithyours'
 ));
 
 $ запрос->setheaders(массив(
   «Почтальон-Токен» => '0 a6c40b8- 0 cd4- 4 dbb-a57e- 422558 e7ab6a',
   «кэш-контроль» => «нет кэша»
 ));
 
 Пытаться {
   $ ответ = $ запрос->послать();
 
   эхо $ ответ->getbody();
 } Поймать (Httpexception $ ex) {
   эхо $ ex;
 }
 ?>
   

 Okhttpclient client = Новый Okhttpclient();

 Запрос request = Новый Запрос.СТРОИТЕЛЬ()
   .url("https://bulkapi.zerobounce.net/v2/scoring/getfile?api_key=replacewithyours&file_id=replacewithyours")
   .получить()
   .AddHeader(«кэш-контроль», «нет кэша»)
   .AddHeader(«Почтальон-Токен», "d0b7d318-f3f6- 47 fb- 842 d- 5622 b26592c1")
   .строить();
 
 ОТВЕТ response = client.новый вызов(request).выполнять();
   

 импортировать http.client

 conn = http.client.HTTPConnection("bulkapi, zerobounce, чистый")
 
 payload = ""
 
 headers = {
     «кэш-контроль»: «нет кэша»,
     «Почтальон-Токен»: "9 f615d7e- 60 af- 4746-9 bcc- 317 b1f80a6bb"
     }
 
 conn.request("ПОЛУЧИТЬ", "v2, getfile", payload, headers)
 
 res = conn.getresponse()
 data = res.read()
 
 распечатать(data.decode("utf- 8"))
 
   
   

импортировать ФОНД

позволяь headers = [
 «кэш-контроль»: «нет кэша»,
 «Почтальон-Токен»: "6 c8cb1cb- 25 ed- 4 e56-b4cb- 65 e949b8bdd1"
]

позволяь request = Nsmutableurlrequest(url: NSURL(string: "https://bulkapi.zerobounce.net/v2/scoring/getfile?api_key=replacewithyours&file_id=replacewithyours")! Как url,
                                       cachePolicy: .useProtocolCachePolicy,
                                   timeoutInterval: 10.0)
request.httpMethod = "ПОЛУЧИТЬ"
request.allHTTPHeaderFields = headers

позволяь session = Urlsession.shared
позволяь dataTask = session.datatask(with: request Как URLRequest, completionHandler: { (data, response, error) -> пустота в
 Если (error != нль) {
   распечатать(error)
 } еще {
   позволяь httpResponse = response Как? Httpurlresponse
   распечатать(httpResponse)
 }
})

dataTask.продолжить()
   

Ответ конечной точки

Успешный ответ

      
{
 «успех»: Правда,
 "сообщение": «Файл принят»,
 "имя файла": "Ваш файл name.csv",
 "file_id": "aaaaaaaa-zzzz-хххх-yyyy- 5003727 fffff"
}
   

Овет об ошибке

      
   {
     «успех»: Ложь,
     "сообщение": [
         "Сообщения об ошибках"
     ]
 }
   

API Scoring API: Удалить файл

/ai-scoring-api/delete-file/

С помощью скоринга deletefile API удаляет файл, который был отправлен с использованием скоринга sendfile API. Файл может быть удален только тогда, когда его статус завершен.

POST / V2 / SCORING / DELETEFILE

URL API: https://bulkapi.zerobounce.net/v2/scoring/deletefile

Параметры URL

  • ПАРАМЕТР
    Обязательный / Дополнительно
    Описание
  • api_key
    Обязательный
    Ваш ключ API, найденный в вашем аккаунте
  • file_id
    Обязательный
    Возвращенный идентификатор файла при вызове скоринга API sendfile

Удалить примеры кода файла

  • Visual Basic
  • C#
  • PHP
  • Ява
  • Питон
  • СВИФТ
  • Цель С
      
'Удалить образец файла в VB.net

Общественности Класс ResponseResult
   Общественности Имущество success Как Логический
   Общественности Имущество message Как Строка
   Общественности Имущество file_id Как Строка
   Общественности Имущество file_name Как Строка
Конец Класс

Частный Общий Суб DeleteFileAPITest()
   Тусклый apiKey Как Строка = "замени свой ключ api здесь"
   Тусклый fileID Как Строка = Msgstr "заменить на возвращенный идентификатор файла при вызове sendfile API"

   Пытаться
       Тусклый responseResult Как ResponseResult = DeleteFileAsync(apiKey, fileID).Result
       Console.Напишите(JsonConvert.SerializeObject(responseResult, Formatting.Indented))
   Поймать ex Как Exception
       Console.Напишите(ex.InnerException.Message)
   Конец Пытаться

   Console.ReadKey()
Конец Суб

Общественности Общий Async Функция DeleteFileAsync(ByVal apiKey Как Строка, ByVal fileID Как Строка) Как Task(Из ResponseResult)
   Если Строка.IsNullOrEmpty(apiKey) Затем Бросать Новый Exception(«Ошибка: требуется apiKey»)
   Если Строка.IsNullOrEmpty(fileID) Затем Бросать Новый Exception(«Ошибка: fileID требуется»)
   Тусклый uri Как Uri = Новый Uri($"https://bulkapi.zerobounce.net/v2/scoring/deletefile?api_key={apiKey}&file_id={fileID}")

   С помощью client = Новый HttpClient()

       С помощью request = Новый HttpRequestMessage(HttpMethod.[получить], uri)

           С помощью response = Await client.SendAsync(request).ConfigureAwait(Ложь)
               Тусклый content = Await response.Content.ReadAsStringAsync()

               Если response.IsSuccessStatusCode = Ложь Затем
                   Тусклый [ошибка] = $"StatusCode = {CInt(response.StatusCode)}, Content = {content}"
                   Бросать Новый Exception([ошибка])
               Конец Если

               Вернуть JsonConvert.DeserializeObject(Из ResponseResult)(content)
           Конец С помощью
       Конец С помощью
   Конец С помощью
Конец Функция
   

// Удалить образец файла в C #

Общественности Класс Responseresult
{
   Общественности bool success { получить; задавать; }
   Общественности Строка message { получить; задавать; }
   Общественности Строка file_id { получить; задавать; }
   Общественности Строка file_name { получить; задавать; }
}

Частный статический пустота Deletefileapitest()
{
   Строка apiKey = "замени свой ключ api здесь";
   Строка fileID = Msgstr "заменить на возвращенный идентификатор файла при вызове sendfile API";

   Пытаться
   {
       Responseresult responseResult = Deletefileasync(apiKey, fileID).Result;
       Console.Напишите(JsonConvert.Serializeobject(responseResult, Formatting.Indented));
   }
   Поймать (Исключение ex)
   {
       Console.Напишите(ex.InnerException.Message);
   }
   Console.ReadKey();
}

Общественности статический асинхронной Task<ResponseResult> Deletefileasync(Строка apiKey, Строка fileID)
{
   Если (Строка.Isnullorempty(apiKey))
       Бросать Новый Исключение(«Ошибка: требуется apiKey»);
   Если (Строка.Isnullorempty(fileID))
       Бросать Новый Исключение(«Ошибка: fileID требуется»);

   URI uri = Новый URI($"https://bulkapi.zerobounce.net/v2/scoring/deletefile?api_key={apiKey}&file_id={fileID}");

   С помощью (вар client = Новый HttpClient())
   С помощью (вар request = Новый Httprequestmessage(HttpMethod.Get, uri))
   С помощью (вар response = ждите client.SendAsync(request).Configureawait(Ложь))
   {
       вар content = ждите response.Content.Readasstringasync();

       Если (response.IsSuccessStatusCode == Ложь)
       {
           вар error = $"StatusCode = {(int) response.StatusCode}, Content = {content}";
           Бросать Новый Исключение(error);
       }

       Вернуть JsonConvert.Deserializeobject<Responseresult>(content);
   }
}
   

 <?php

 $ завиток = curl_init();
 
 curl_setopt_array($ завиток, массив(
   CURLOPT_URL => "https://bulkapi.zerobounce.net/v2/scoring/deletefile?api_key=replacewithyours&file_id=replacewithyours",
   CURLOPT_RETURNTRANSFER => Правда,
   CURLOPT_ENCODING => "",
   CURLOPT_MAXREDIRS => 10,
   CURLOPT_TIMEOUT => 30,
   CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
   CURLOPT_CUSTOMREQUEST => "ПОЛУЧИТЬ",
   CURLOPT_POSTFIELDS => "",
   CURLOPT_HTTPHEADER => массив(
     "Почтальон-токен: 91504 cea-f92f- 46 b0- 97 a4- 338167072887",
     "контроль кеша: нет кеша"
   ),
 ));
 
 $ ответ = curl_exec($ завиток);
 $ err = curl_error($ завиток);
 
 curl_close($ завиток);
 
 Если ($ err) {
   эхо "Ошибка cURL #:" . $ err;
 } еще {
   эхо $ ответ;
 }
 ?>
   

Okhttpclient client = Новый Okhttpclient();

Запрос request = Новый Запрос.СТРОИТЕЛЬ()
 .url("https://bulkapi.zerobounce.net/v2/scoring/deletefile?api_key=replacewithyours&file_id=replacewithyours")
 .получить()
 .AddHeader(«кэш-контроль», «нет кэша»)
 .AddHeader(«Почтальон-Токен», "7 fffd7a4-b2fd- 4 e8b-ac85- 4099411 f27ce")
 .строить();

ОТВЕТ response = client.новый вызов(request).выполнять();
   

импортировать http.client

conn = http.client.HTTPConnection("bulkapi, zerobounce, чистый")

payload = ""

headers = {
   «кэш-контроль»: «нет кэша»,
   «Почтальон-Токен»: "caa917fe- 45 ce- 45 ae- 9456-2 b039b999dcb"
   }

conn.request("ПОЛУЧИТЬ", "v2, deletefile", payload, headers)

res = conn.getresponse()
data = res.read()

распечатать(data.decode("utf- 8"))
   
   

// Пожалуйста, выберите язык VB или C # для File Status Sampleimport Foundation

позволяь headers = [
 «кэш-контроль»: «нет кэша»,
 «Почтальон-Токен»: "4 f1b92e2- 034 f- 4 fa0- 94 d9-b097d768668a"
]

позволяь request = Nsmutableurlrequest(url: NSURL(string: "https://bulkapi.zerobounce.net/v2/scoring/deletefile?api_key=replacewithyours&file_id=replacewithyours")! Как url,
                                       cachePolicy: .useProtocolCachePolicy,
                                   timeoutInterval: 10.0)
request.httpMethod = "ПОЛУЧИТЬ"
request.allHTTPHeaderFields = headers

позволяь session = Urlsession.shared
позволяь dataTask = session.datatask(with: request Как URLRequest, completionHandler: { (data, response, error) -> пустота в
 Если (error != нль) {
   распечатать(error)
 } еще {
   позволяь httpResponse = response Как? Httpurlresponse
   распечатать(httpResponse)
 }
})

dataTask.продолжить()
   

#импортировать <Foundation/Foundation.h>

NSDictionary *headers = @{ @ «кэш-контроль»: @ «нет кэша»,
                           @ «Почтальон-Токен»: @"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:@"ПОЛУЧИТЬ"];
[request setAllHTTPHeaderFields:headers];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
       completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
           Если (error) {
               NSLog(@"%@", error);
           } еще {
               NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
               NSLog(@"%@", httpResponse);
           }
       }];
[dataTask resume];
   

Ответ конечной точки

Успешный ответ

      
 {
   «успех»: Правда,
   "сообщение": "Файл удален",
   "имя файла": "test2",
   "file_id": "b222a0fd- 90 d5- 416 c- 8 f1a- 9 cc3851fc823"
 }
   

Овет об ошибке

      
{
 «успех»: Ложь,
 "сообщение": "Файл не найден."
}