Saltar al contenido principal

SDK de Java

es.neivi:iqx-lookup-java — Cliente Java 11+ para la API de IQX Lookup usando java.net.http.HttpClient.

Instalación

Maven:

<dependency>
<groupId>es.neivi</groupId>
<artifactId>iqx-lookup-java</artifactId>
<version>0.2.1</version>
</dependency>

Gradle:

implementation 'es.neivi:iqx-lookup-java:0.2.1'

Inicio Rápido

import es.neivi.iqx.lookup.IqxLookup;
import es.neivi.iqx.lookup.model.*;

var client = IqxLookup.builder()
.apiKey("ALk-your-api-key")
.buildClient();

// Validate an email
var email = client.validateEmail("user@example.com");
System.out.println("Valid format: " + email.isValidFormat());
System.out.println("Disposable: " + email.isDisposableEmail());

// Validate a phone number
var phone = client.validatePhone("+34912345678", "ES");
System.out.println("Valid: " + phone.isValid());
System.out.println("Carrier: " + phone.getCarrier());

// Geolocate an IP
var ip = client.geolocateIp("8.8.8.8");
System.out.println("Country: " + ip.getCountryName());

// Validate a VAT number
var vat = client.validateVat("ES", "B87387775");
System.out.println("Valid: " + vat.isValid());

// Parse a user-agent string
var ua = client.parseUserAgent("Mozilla/5.0...");
System.out.println("Browser: " + ua.getBrowserFamily());

Configuración

import java.time.Duration;

var client = IqxLookup.builder()
.apiKey("ALk-your-api-key") // required
.baseUrl("https://api.iqxlookup.neivi.es") // optional, default shown
.timeout(Duration.ofSeconds(15)) // optional, default 10s
.buildClient();

Referencia de la API

MétodoRetornaDescripción
validateEmail(String address)EmailValidationResultValidación de formato de email, MX, desechable, proveedor gratuito
validatePhone(String number, String countryCode)PhoneValidationResultValidación de teléfono (countryCode puede ser null)
geolocateIp(String ip)IpGeolocationGeolocalización IP + ASN (ip null = IP del llamante)
validateVat(String countryCode, String number)VatValidationResultValidación de IVA UE vía VIES
parseUserAgent(String ua)UserAgentResultAnálisis de UA — navegador, SO, marca y modelo del dispositivo
validateIban(String iban)IbanValidationResultEstructura IBAN, suma de verificación, información del banco
validateBic(String bic)BicValidationResultFormato BIC/SWIFT, información de la institución
lookupDns(String domain, String types)DnsLookupResultRegistros DNS, seguridad SPF/DKIM/DMARC
checkSsl(String domain)SslCertificateResultCertificado SSL, cadena, calificación
analyzePassword(String password)PasswordStrengthResultPuntuación de fortaleza, tiempo de descifrado, verificación de filtraciones
validateCreditCard(String number)CreditCardValidationResultVerificación Luhn, red de tarjeta, consulta BIN
getLastRateLimitInfo()RateLimitInfoLímite de peticiones de la última respuesta

Manejo de Errores

import es.neivi.iqx.lookup.exception.*;

try {
var result = client.validateEmail("user@example.com");
} catch (RateLimitException e) {
System.out.println("Retry after: " + e.getRetryAfter() + "s");
} catch (UnauthorizedException e) {
System.out.println("Check your API key");
} catch (IqxLookupException e) {
System.out.println("Error " + e.getStatusCode() + ": " + e.getErrorMessage());
}
Spring Boot

Para aplicaciones Spring Boot, usa el Spring Boot Starter para configuración automática.