SDKs Cliente
Las bibliotecas cliente oficiales para la API de IQX Lookup están disponibles en 5 lenguajes, además de un starter de Spring Boot para aplicaciones Java.
SDKs Disponibles
| SDK | Paquete | Versión mínima | Dependencias |
|---|---|---|---|
| Java | es.neivi:iqx-lookup-java | Java 11+ | Gson |
| Spring Boot | es.neivi:iqx-lookup-spring-boot-starter | Spring Boot 3.x | Java SDK |
| TypeScript | @neivi/iqx-lookup-typescript | Node 18+ | Ninguna |
| Python | neivi-iqx-lookup | Python 3.9+ | Ninguna |
| Go | github.com/Neivi-IT/iqx-lookup-go | Go 1.21+ | Ninguna |
| Rust | neivi-iqx-lookup | Rust 2021 edition | reqwest, serde, thiserror |
Patrones Comunes
Todos los SDKs comparten los mismos principios de diseño:
- 12 métodos de validación y consulta:
validateEmail,validatePhone,geolocateIp,geolocateMyIp,validateVat,parseUserAgent,validateIban,validateBic,lookupDns,checkSslCertificate,checkPasswordStrength,validateCreditCard - Autenticación por clave API mediante la cabecera
X-Api-Key - Manejo tipado de errores con excepciones específicas para respuestas 401, 403, 404, 429 y 503
- Información de límite de peticiones extraída de las cabeceras de respuesta (
X-RateLimit-Limit,X-RateLimit-Remaining,X-RateLimit-Reset) - URL base y timeout configurables con valores por defecto razonables
- Dependencias mínimas — la mayoría de los SDKs usan únicamente el cliente HTTP estándar del lenguaje
Configuración por Defecto
| Ajuste | Valor por defecto |
|---|---|
| URL base | https://api.iqxlookup.neivi.es |
| Timeout | 10 segundos |
| User-Agent | iqx-lookup-{lang}/0.2.1 |
Manejo de Errores
Todos los SDKs mapean las respuestas HTTP de error a excepciones tipadas:
| Estado HTTP | Tipo de error | Descripción |
|---|---|---|
| 401 | UnauthorizedException | Falta la cabecera X-Api-Key |
| 403 | ForbiddenException | Clave API inválida o inactiva |
| 404 | NotFoundException | Recurso no encontrado (ej. IP desconocida) |
| 429 | RateLimitException | Límite de peticiones excedido (incluye retryAfter, limit, remaining, reset) |
| 503 | ServiceUnavailableException | Servicio no configurado (ej. base de datos GeoIP ausente) |