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