GeoPhone C# Rest Code Snippet

string mainURL = WEB_SERVICE_PRIMARY_URL + phonenumber + "/" + licenseKey + "?format=json";
string backupURL = WEB_SERVICE_BACKUP_URL + phonenumber + "/" + licenseKey + "?format=json";
GPResponse result = null;
 
try
{
    result = HttpGet(mainURL);
    //NULL ERROR || FATAL ERROR RETURNED -- TRY BACKUP
    if (result == null || (result.PhoneInfo.Error != null && result.PhoneInfo.Error.Number == "3"))
    {
        return HttpGet(backupURL);
    }
    else
    {
        return result;
    }
}
catch (Exception)
{   //ERROR IN MAIN URL - USING BACKUP
    return HttpGet(backupURL);
}
}

GeoPhone Java Rest Code Snippet

String MainURL = this.MainUrl + phoneNumber + "/" + licensekey + "?format=json";
String BackupURL = this.BackupUrl + phoneNumber + "/" + licensekey + "?format=json";
PhoneInfo_V2Response result = GetPhoneInfo_V2Response(MainURL);
//NULL ERROR || FATAL ERROR RETURNED -- TRY BACKUP
if (ErrorMessages != null || (result.PhoneInfo.Error != null && result.PhoneInfo.Error.Number == "3")) {
    // BACKUP
    result = GetPhoneInfo_V2Response(BackupURL);
}
return result;

GeoPhone PHP Rest Code Snippet

$URL = "https://trial.serviceobjects.com/rest/GP/api.svc/PhoneInfo/V2/".rawurlencode($PhoneNumber)."/".rawurlencode($LicenseKey)."?format=json";
//use backup url once given purchased license key
$backupURL = "https://trial.serviceobjects.com/rest/GP/api.svc/PhoneInfo/V2/".rawurlencode($PhoneNumber)."/".rawurlencode($LicenseKey)."?format=json";
echo($URL);
    // Get cURL resource
    $curl = curl_init();
    curl_setopt_array($curl, array(CURLOPT_RETURNTRANSFER => 1, CURLOPT_URL => $URL, CURLOPT_USERAGENT => 'Service Objects Lead Validation'));
    //Https peer certification validation turned off
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($curl, CURLOPT_CONNECTTIMEOUT_MS, $TIMEOUT ); //timeout in seconds
    // Send the request & save response to $resp
    $resp = curl_exec($curl);
     
    $status = curl_getinfo($curl);
    if(isset($status) && $status['http_code'] != 200){
        //var_dump($status);
    }
    $decoded = json_decode($resp, TRUE);
    // Close request to clear up some resources
    if($resp == false || (isset ($decoded['Error']) != NULL && $decoded['Error']['TypeCode'] == 3))
    {
        $curl2 = curl_init();
        curl_setopt_array($curl2, array(CURLOPT_RETURNTRANSFER => 1, CURLOPT_URL => $backupURL, CURLOPT_USERAGENT => 'Service Objects Email Validation 3'));
        //Https peer certification validation turned off
        curl_setopt($curl2, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($curl2, CURLOPT_CONNECTTIMEOUT_MS, $TIMEOUT ); //timeout in seconds
        // Send the request & save response to $resp
        $resp = curl_exec($curl2);
        echo($resp);
        $decoded = json_decode($resp, TRUE);
        if($resp == false)
        {
            echo "<b> Both rest calls failed </b>";
            curl_close($curl2);
            return;
        }
    }
curl_close($curl);

GeoPhone RoR Rest Code Snippet

phonenumber = @request.phonenumber
licensekey = @request.licensekey
#Set Primary and Backup URLs as needed. This method encodes and standardizes the URI to pass to the REST service.
primaryURL = URI.encode("https://trial.serviceobjects.com/gp/GeoPhone.asmx/GetExchangeInfo?PhoneNumber=" + phonenumber + "&LicenseKey=" + licensekey)
backupURL = URI.encode("https://trial.serviceobjects.com/gp/GeoPhone.asmx/GetExchangeInfo?PhoneNumber=" + phonenumber + "&LicenseKey=" + licensekey)
#These are set to access the hash that is returned
@gpresult ="PhoneInfo"
@gpproviders = "Providers"
@gpprovider = "Provider"
@gperror = "Error"
  #Begins the call the RESTful web service
begin
  response = HTTParty.get(primaryURL, timeout: default_timeout)
  #processes the response to display to the screen
   
  #Passes the response returned from HTTParty and processes them depending on the results
  processresults(response)
 rescue StandardError => e
        begin
        #uses the backupURl in the event that the service encountered an error
        response = HTTParty.get(backupURL, timeout: default_timeout)
     
    #processes the response returned from using the backupURL
        processresults(response)
    #If the backup url railed this will raise an error and display the
    #error message returned from the HTTParty gem.
        rescue StandardError => error
            @status = error.message
            @displaydata = {"Error" => "A Big Error Occured"}
        end
end

GeoPhone Python Rest Code Snippet

primaryURL = 'https://trial.serviceobjects.com/gp/GeoPhone.asmx/GetExchangeInfo?'
backupURL = 'https://trial.serviceobjects.com/gp/GeoPhone.asmx/GetExchangeInfo?'
 
#The Requests package allows the user to format the path parameters like so instead of having to manually insert them into the URL
inputs = {'PhoneNumber':mPhoneNumber, 'LicenseKey': mLicenseKey}
 
try:
    result = requests.get(primaryURL, params=inputs)
    #Parses the XML response from the service into a python dictionary type
    outputs = xmltodict.parse(result.content)
    #checks the output for Errors and displays the info accordingly
    if 'Error' in outputs['PhoneInfo']:
        #loops through the response from the service and prints the values to the screen.
        for key, value in outputs['PhoneInfo']['Error'].iteritems():
            Label(swin.window, text=str(key) + " : " + str(value)).pack()
    else:
        #Loops through the results printed from the service and displays them to the screen
        for key, value in outputs['PhoneInfo']['Providers']['Provider'].iteritems():
            Label(swin.window, text=str(key) + " : " + str(value)).pack()
#Attempts to use the backupURL if the call to the primary URL failed
except:
    try:
        result = requests.get(backupURL, params=inputs)
        #Parses the XML response from the service into a python dictionary type
        outputs = xmltodict.parse(result.content)
        #checks the output for Errors and displays the info accordingly
        if 'Error' in outputs['PhoneInfo']:
            #loops through the response from the service and prints the values to the screen.
            for key, value in outputs['PhoneInfo']['Error'].iteritems():
                Label(swin.window, text=str(key) + " : " + str(value)).pack()
        else:
            if 'Providers' in outputs['PhoneInfo']:
                #Loops through the results printed from the service and displays them to the screen
                for key, value in outputs['PhoneInfo']['Providers']['Provider'].iteritems():
                    Label(swin.window, text=str(key) + " : " + str(value)).pack()

GeoPhone ColdFusion Rest Code Snippet

<!--Makes Request to web service --->
<cfIf isDefined("form.Action") AND Action neq ""  >
    <cftry>
        <cfset primaryURL = "https://trial.serviceobjects.com/gp/GeoPhone.asmx/GetPhoneInfo_V2?PhoneNumber=#PhoneNumber#&LicenseKey=#LicenseKey#">
        <cfhttp url="#primaryURL#" method="get" result="response">
        <cfset outputs = XmlParse(response.FileContent)>
    <cfcatch >
        <cftry>
            <cfset backupURL = "https://trial.serviceobjects.com/ev3/api.svc/ValidateEmailFull?EmailAddress=#EmailAddress#&LicenseKey=#LicenseKey#">
            <cfhttp url="#backupURL#" method="get" result="response">
            <cfset outputs = XmlParse(outputs.FileContent)>              
            <cfcatch >
                <cfoutput >
                    The Following Error Occured: #response.StatusCode#
                </cfoutput>
            </cfcatch>
        </cftry>
    </cfcatch>
    </cftry>
</cfif>

GeoPhone VB Rest Code Snippet

Try
    'encodes the URLs for the get Call. Set the primary and back urls as necessary
    Dim primaryurl As String = "https://trial.serviceobjects.com/gp/GeoPhone.asmx/GetPhoneInfo_V2?PhoneNumber=" & phonenumber + "&LicenseKey=" & licensekey
    Dim backupurl As String = "https://trial.serviceobjects.com/gp/GeoPhone.asmx/GetPhoneInfo_V2?PhoneNumber=" & phonenumber + "&LicenseKey=" & licensekey
    Dim wsresponse As GPResponse.PhoneInfo_V2 = httpGet(primaryurl)
 
    'checks if a response was returned from the service, uses the backup url if response is null or a fatal error occured.
    If wsresponse Is Nothing OrElse (wsresponse.[Error] IsNot Nothing AndAlso wsresponse.[Error].Number = "3") Then
        wsresponse = httpGet(backupurl)
    End If
    If wsresponse.[Error] IsNot Nothing Then
        ProcessErrorResponse(wsresponse.[Error])
    Else
        ProcessSuccessfulResponse(wsresponse)
 
    End If
Catch ex As Exception
    'Displays the relevant error mesasge if both backup and primary urls failed.
    StatusLabel.Text = ex.Message
    StatusLabel.Visible = True
End Try

GeoPhone TSQL Rest Code Snippet

BEGIN
    SET @sUrl = 'https://sws.serviceobjects.com/gp/GeoPhone.asmx/GetPhoneInfo_V2?PhoneNumber=' + @phonenumber + '&LicenseKey=' + @key
    EXEC sp_OACreate 'MSXML2.ServerXMLHttp', @obj OUT
    EXEC sp_OAMethod @obj, 'Open', NULL, 'Get', @sUrl, false
    EXEC sp_OAMethod @obj, 'send'
    EXEC sp_OAGetProperty @obj, 'responseText', @response OUT
             
    --Checks the Response for a fatal error or if null.
    IF @response IS NULL
    BEGIN
        SET @sBackupUrl = 'https://swsbackup.serviceobjects.com/gp/GeoPhone.asmx/GetPhoneInfo_V2?PhoneNumber=' + @phonenumber + '&LicenseKey=' + @key
        EXEC sp_OACreate 'MSXML2.ServerXMLHttp', @obj OUT
        EXEC sp_OAMethod @obj, 'Open', NULL, 'Get', @sBackupUrl, false
        EXEC sp_OAMethod @obj, 'send'
        EXEC sp_OAGetProperty @obj, 'responseText', @response OUT
    END
END