All Nation API v1.0
Introducción
All Nation API es una herramienta backend que proporciona acceso a información organizada de países, regiones y localidades. Esta API te permite obtener listas de países, explorar regiones según el tipo de organización administrativa de cada país, y descubrir todas las localidades dentro de esas regiones.
Uso General
La API está diseñada para gestionar datos geográficos de manera eficiente. Requiere especificar parámetros de búsqueda y límite en tus consultas para obtener resultados precisos.
Todos los endpoints requieren los siguientes parámetros:
- search: Término de búsqueda para filtrar resultados.
- limit: Número máximo de resultados a devolver (máximo 100).
Endpoints
1. Obtener países
Busca entre todas los paises disponibles del mundo
Parámetro | Descripción |
---|---|
search | Término de búsqueda para filtrar países |
limit | Número máximo de resultados a devolver |
Ejemplo de respuesta:
[ { "id": 1, "name": "Argentina", "iso_code": "AR" }, { "id": 2, "name": "Armenia", "iso_code": "AM" } ]
2. Obtener detalles de un país
Detalles de un pais
Parámetro | Descripción |
---|---|
id | ID del país |
Ejemplo de respuesta:
{ "id": 1, "name": "Argentina", "iso_code": "AR" }
3. Obtener regiones de un país
Busca entre todas regiones disponibles de un pais
Parámetro | Descripción |
---|---|
countryId | ID del país |
search | Término de búsqueda para filtrar regiones |
limit | Número máximo de resultados a devolver |
Ejemplo de respuesta:
[ { "id": 2, "country_id": 21, "administrative_type_id": 3, "region_name": "Cochabamba", "country_name": "Bolivia", "administrative_type_name": "Departamento" } ]
4. Obtener localidades de una región
Busca entre todas las localidades disponibles de una region
Parámetro | Descripción |
---|---|
regionId | ID de la región |
search | Término de búsqueda para filtrar localidades |
limit | Número máximo de resultados a devolver |
Ejemplo de respuesta:
[ { "id": 91, "name": "Quillacollo", "region_name": "Cochabamba", "country_name": "Bolivia" } ]
5. Obtener localidades por pais
Busca entre todas las localidades disponibles de un pais
Parámetro | Descripción |
---|---|
countryId | ID del paisn |
search | Término de búsqueda para filtrar localidades |
limit | Número máximo de resultados a devolver |
Ejemplo de respuesta:
[ { "id": 95, "name": "Vinto", "region_name": "Cochabamba", "country_name": "Bolivia" } ]
6. Obtener tipos de divisiones administrativas
Parámetro | Descripción |
---|---|
search | Término de búsqueda para filtrar tipos administrativos |
limit | Número máximo de resultados a devolver |
Ejemplo de respuesta:
[ {"id":2,"name":"Provincia"} ]
Errores Comunes
- 400 Bad Request: Los parámetros de la solicitud son inválidos o están incompletos.
- 404 Not Found: El recurso solicitado no existe.
- 429 Too Many Requests: Se ha excedido el límite de solicitudes.
- 500 Internal Server Error: Error inesperado del servidor.
Consejos para evitar errores comunes:
- No especificar search o limit: Asegúrate de incluir siempre ambos parámetros en las solicitudes que los requieran.
- No encontrar resultados con search: Revisa los términos de búsqueda y ajusta los valores si es necesario. Considera usar términos más generales si no obtienes resultados.
- Exceder el límite de solicitudes: Implementa un sistema de caché en tu aplicación para reducir el número de llamadas a la API.
Ejemplos de Uso
Ejemplo 1: Obtener países que contienen "united" en su nombre
GET /v1/countries?search=united&limit=5 Respuesta: [ { "id": 225, "name": "United States", "iso_code": "US" }, { "id": 226, "name": "United Kingdom", "iso_code": "GB" }, { "id": 3, "name": "United Arab Emirates", "iso_code": "AE" } ]
Ejemplo 2: Obtener regiones de España que contienen "valencia" en su nombre
GET /v1/countries/195/regions?search=valencia&limit=2 Respuesta: [ { "id": 1987, "name": "Comunidad Valenciana", "country_id": 195 }, { "id": 1988, "name": "Valencia", "country_id": 195 } ]
Ejemplo 3: Obtener localidades en la región de Cataluña que contienen "barcelona" en su nombre
GET /v1/localities/region/1978?search=barcelona&limit=3 Respuesta: [ { "id": 19780, "name": "Barcelona", "region_id": 1978 }, { "id": 19781, "name": "L'Hospitalet de Llobregat", "region_id": 1978 }, { "id": 19782, "name": "Badalona", "region_id": 1978 } ]
Mejores Prácticas
- Caché: Implementa un sistema de caché en tu aplicación para almacenar resultados frecuentes y reducir las llamadas a la API.
- Paginación: Utiliza el parámetro 'limit' de manera efectiva para implementar la paginación en tu aplicación.
- Manejo de errores: Implementa un manejo robusto de errores en tu aplicación para gestionar adecuadamente las respuestas de error de la API.
- Retroalimentación al usuario: Proporciona mensajes claros al usuario final cuando los resultados de búsqueda estén vacíos o ocurran errores.
- Monitoreo: Mantén un registro de tus llamadas a la API para detectar patrones de uso y optimizar tu implementación.
Actualizaciones y Cambios
Nos esforzamos por mantener la estabilidad de la API, pero ocasionalmente pueden ocurrir cambios. Te recomendamos:
- Revisar regularmente esta documentación para estar al tanto de nuevas características o cambios.
- Estar atento a las notas de la versión que publicamos para conocer los detalles de cada actualización.
- Seguir nuestro perfil de GitHub obed-tc para acceder a ejemplos de código y contribuir al desarrollo de la API.
Tu feedback es importante para nosotros, así que no dudes en contactarnos si tienes sugerencias o comentarios.
Créditos
Desarrollado por obed-tc