zerobounce / zerobounce-dotnet-api-v2

This is a .net wrapper class example for the ZeroBounce API v2.
4 stars 1 forks source link

zerobounce-dotnet-api-v2

This is a .net wrapper class example for the ZeroBounce API v2.

Upgrading from V1? Read This: https://github.com/zerobounce/zerobounce-dotnet-api-v2/blob/master/upgrading.md

The ValidateEmail and GetCredit methods return objects from which you can retrieve properties that return the relevant information.

You can also easily consume and keep it updated within your Visual Studio Project with Nuget Package Manager: https://www.nuget.org/packages/ZeroBounceAPIWrapperv2/

Property Values
api_key Located in your account.
emailToValidate The email address your validating.
ip_address [optional] The IP Address the email address was captured from
requestTimeOut [optional] Timeout settings in milliseconds, setting this enables you to control how long you are willing to wait for to send the request to the API. When the timeout occurs an "Unknown" result is returned.
readTimeOut [optional] Timeout settings in milliseconds, setting this enables you to control how long your willing to wait for the API to respond to your request. When the timeout occurs an "Unknown" result is returned.

Properties and possible values returned by:

  1. ValidateEmail method
Property Possible Values
address The email address you are validating.
status valid /invalid /catch-all /unknown /spamtrap /abuse /do_not_mail
sub_status antispam_system /greylisted /mail_server_temporary_error /forcible_disconnect /mail_server_did_not_respond /timeout_exceeded /failed_smtp_connection /mailbox_quota_exceeded /exception_occurred /possible_traps /role_based /global_suppression /mailbox_not_found /no_dns_entries /failed_syntax_check /possible_typo /unroutable_ip_address /leading_period_removed /does_not_accept_mail /role_based_catch_all /disposable /toxic
account The portion of the email address before the "@" symbol.
domain The portion of the email address after the "@" symbol.
did_you_mean Suggestive Fix for an email typo or [null]
domain_age_days Age of the email domain in days or [null].
free_email [true/false] If the email comes from a free provider.
mx_found [true/false] Does the domain have an MX record.
mx_record The preferred MX record of the domain or [null]
smtp_provider The SMTP Provider of the email or [null] (BETA).
firstname The first name of the owner of the email when available or [null].
lastname The last name of the owner of the email when available or [null].
gender The gender of the owner of the email when available or [null].
country The country the email signed up when ip address is provided or [null].
region The region the email signed up when ip address is provided or [null].
city The city the email signed up when ip address is provided or [null].
zipcode The zipcode the email signed up when ip address is provided or [null].
processed_at The UTC time the email was validated.
error Error message or [null].
  1. GetCredit method
Property Possible Values
credits The number of credits left in account for email validation.

Any of the following email addresses can be used for testing the API, no credits are charged for these test email addresses:

You can this IP to test the GEO Location in the API.

C# Example usage:

 var zeroBounceAPI = new ZeroBounce.ZeroBounceAPI();

//set input parameters
zeroBounceAPI.api_key = "Your API Key"; //Required
zeroBounceAPI.emailToValidate = "Email address you are validating"; //Required
zeroBounceAPI.ip_address = "IP address the email signed up with"; //Optional

//Depending on how you use the API, you might want it to time out faster, for example on a registration screen. 
//Normally the API will return results very fast, but a small percentage of mail servers take
//upwards of 20+ seconds to respond. 
//If the API times out, it will return a status of "Unknown" and a sub_status of "timeout_exceeded"  

zeroBounceAPI.readTimeOut = 200000;// "Any integer value in milliseconds
zeroBounceAPI.requestTimeOut = 150000; // "Any integer value in milliseconds

//validate email and assign results to an object
var apiProperties = zeroBounceAPI.ValidateEmail();

//check credits and assign results to an object
var apiCredits= zeroBounceAPI.GetCredits();

//use the properties to make decisions on
switch (apiProperties.status)
  {
      case "Invalid":
          Console.WriteLine("invalid");
          break;
      case "Valid":
          Console.WriteLine("valid");
          break;
      default:
          Console.WriteLine(apiProperties.status);
          break;
  }

VB Example usage:

Dim zeroBounceAPI = New ZeroBounce.ZeroBounceAPI

'set input parameters
zeroBounceAPI.api_key = "Your API Key" 'Required 
zeroBounceAPI.emailToValidate = "Email address you are validating" 'Required
zeroBounceAPI.ip_address = "IP address the email signed up with" 'Optional

'Depending on how you use the API, you might want it to time out faster, for example on a registration screen. 
'Normally the API will return results very fast, but a small percentage of mail servers 
'take upwards of 20+ seconds to respond. 
'If the API times out, it will return a status of "Unknown" and a sub_status of "timeout_exceeded"  

zeroBounceAPI.readTimeOut = 200000 'Any integer value in milliseconds
zeroBounceAPI.requestTimeOut = 150000 'Any integer value in milliseconds 

Dim apiProperties = zeroBounceAPI.ValidateEmail
Dim apiCredits = zeroBounceAPI.GetCredits

'use the properties to make decisions on
Select Case (apiProperties.status)
    Case "invalid"
        Console.WriteLine("invalid")
    Case "valid"
        Console.WriteLine("valid")
    Case Else
        Console.WriteLine(apiProperties.status)
End Select