Primeros pasos
Errores
Los errores llegan en JSON con un código estable para comparar.
Formato de error
- errorstring
Código de error estable para comparar.
- messagestring
Explicación legible.
- detailsobject
Solo en 400 masivos: las entradas no válidas.
{
"error": "invalid_ip",
"message": "Invalid IP address format"
}Códigos de estado
- 400bad_request, invalid_ip, reserved_ip, invalid_domain, invalid_target, unresolved_host, unknown_jurisdiction, invalid_asn
La solicitud o una entrada no es válida.
- 401missing_api_key, invalid_api_key, unauthorized
La clave de API falta o no existe.
- 403account_suspended
La cuenta está suspendida.
- 404not_found
No existe nada en esa ruta o id.
- 413too_many_lines
El cuerpo o la lista es demasiado grande.
- 429rate_limit_exceeded
Se agotó un límite de uso.
- 500server_error
Algo falló de nuestro lado; reintenta más tarde.
Errores en los SDKs
- APIError
Cualquier respuesta de error, con status, code y message.
- AuthenticationError
401 o 403.
- NotFoundError
404.
- RateLimitError
429, con reason, retryAfter y un enlace para mejorar el plan.
- ConnectionError
No llegó respuesta, incluidos los tiempos de espera agotados.
import IPScanner, { APIError, RateLimitError } from '@ipscanner.io/sdk';
const client = new IPScanner({ apiKey: 'YOUR_API_KEY' });
try {
await client.ip.lookup('8.8.8.8');
} catch (err) {
if (err instanceof RateLimitError) {
console.log(err.reason, err.retryAfter, err.upgradeUrl);
} else if (err instanceof APIError) {
console.log(err.status, err.code, err.message);
} else {
throw err;
}
}