GET /status
Comprueba el estado del servicio. Devuelve la versión y la hora del servidor.
Bienvenido a la documentación de GeoLogi API v1. Nuestra API proporciona una solución robusta para la búsqueda y resolución de datos geográficos a nivel internacional.
La URL base para todas las llamadas a la API es: https://geo.logihub.tech/api/geo
Para utilizar la API, necesitas una clave. Puedes obtener tu clave de API en tu panel de usuario aquí. El plan gratuito incluye 5,000 solicitudes.
Envía tu clave en uno de los siguientes encabezados HTTP:
X-API-Key: TU_CLAVE_DE_API_AQUI
Authorization: Bearer TU_CLAVE_DE_API_AQUI
Para casos de uso que requieren una copia local de los datos, ofrecemos la posibilidad de adquirir nuestra base de datos completa.
Nota: Nuestra API es la opción más conveniente, ya que te liberas del costo y la complejidad del mantenimiento de la infraestructura y las actualizaciones de datos.
La API devuelve cabeceras útiles para entender el origen de los datos y gestionar tu cuota.
X-Geo-Source: Indica el origen del dato. local (nuestra base de datos) o mixed (enriquecido por Gaia ML).X-Geo-Filled: Muestra qué campos fueron rellenados por Gaia ML. Ej: city,province.X-Geo-Confidence: Nivel de confianza del resultado (de 0.00 a 1.00).Usa estas cabeceras para controlar tu consumo en tiempo real.
X-RateLimit-*: Límite de peticiones por minuto (Limit, Used, Remaining).X-Quota-Day-*: Cuota diaria (Limit, Used, Remaining).X-Quota-Month-*: Cuota mensual (Limit, Used, Remaining).X-Plan: Tu plan actual.Comprueba el estado del servicio. Devuelve la versión y la hora del servidor.
Búsqueda por texto con detección automática. Rutas específicas: /search/city o /search/postal.
country string, required.q string, required.limit integer (1-50, default: 10).suggest boolean (1 | true | yes).Resolución directa por código postal o ciudad. Rutas: /resolve/postal y /resolve/city.
country string, required.postal_code string.city string.Confirma una selección cuando suggest=1 devuelve needs_selection: true.
selection_id string, required.choice integer (índice base 0).suggest=1, si hay múltiples coincidencias, la API devuelve un objeto suggestion para que el usuario elija.country en formato ISO-2./search/city con limit bajo y suggest=1.429, implementa un backoff exponencial.X-Geo-* y las de cuota para mejorar la experiencia de usuario.BASE="https://geo.logihub.tech/api/geo"
API_KEY="tu_clave_de_api"
# Búsqueda de ciudad con sugerencias
curl -s "$BASE/search/city?country=IT&q=Roma&limit=5&suggest=1" \
-H "X-API-Key: $API_KEY"
const base = 'https://geo.logihub.tech/api/geo';
const key = 'tu_clave_de_api';
const url = `${base}/search/postal?country=DO&q=10149&limit=5&suggest=1`;
const res = await fetch(url, { headers: { 'X-API-Key': key }});
const data = await res.json();
if (data.suggestion?.needs_selection) {
// Muestra alternativas: data.suggestion.alternatives
// GET /choose?selection_id=...&choice=0
}
$client = new \GuzzleHttp\Client(['base_uri' => 'https://geo.logihub.tech/api/geo']);
$response = $client->get('/resolve/postal', [
'query' => ['country' => 'IT', 'postal_code' => '38067', 'suggest' => '1'],
'headers' => ['X-API-Key' => 'tu_clave_de_api']
]);
$body = json_decode($response->getBody()->getContents(), true);
O descarga la colección completa de Postman desde este enlace.
GeoLogi, parte de logihub.tech, offre un SDK per facilitare l'integrazione nei tuoi progetti PHP.
Introduce los datos de tu servidor para generar los comandos de instalación personalizados.
export GEOLOGI_API_KEY="LA_TUA_KEY"
# Esegui i comandi
php geologi-php-sdk/bin/geologi status
php geologi-php-sdk/bin/geologi search:city --country=IT --q=Roma --limit=5 --suggest=1
php geologi-php-sdk/bin/geologi resolve:postal --country=IT --postal=38067 --suggest=1
require __DIR__ . '/geologi-php-sdk/autoload.php';
$client = new GeoLogi\Client('LA_TUA_KEY');
// Ricerca per città
$response = $client->searchCity('IT', 'Roma', 5, true);
var_dump($response->json(), $response->headers());
// Risoluzione per codice postale
$response = $client->resolvePostal('IT', '38067', true);
var_dump($response->json(), $response->headers());
# Descarga y descomprime
wget https://geo.logihub.tech/libreria/geologi-python-sdk-1.0.0.zip
unzip -o geologi-python-sdk-1.0.0.zip -d geologi-python-sdk-1.0.0
# Instala con pip
pip install ./geologi-python-sdk-1.0.0
from geologi import Client
# El cliente puede leer la variable de entorno GEOLOGI_API_KEY
# o puedes pasarla directamente.
client = Client("TU_API_KEY")
r = client.search_city("IT", "Roma", limit=5, suggest=True)
print(r.json)
print(r.headers)
export GEOLOGI_API_KEY="TU_API_KEY"
geologi status
geologi search:city --country IT --q Roma --limit 5 --suggest 1
geologi resolve:postal --country IT --postal 38067 --suggest 1
La clase Client proporciona los siguientes métodos:
status()search_auto(country, q, limit=10, suggest=False)search_city(country, q, limit=10, suggest=False)search_postal(country, q, limit=10, suggest=False)resolve(country, postal_code=None, city=None, suggest=False)resolve_postal(country, postal_code, suggest=False)resolve_city(country, city, suggest=False)choose(selection_id, choice=None, postal_code=None, city=None)# 1. Registrar el repositorio ZIP como un paquete de Composer
composer config repositories.geologi-sdk '{"type":"package","package":{"name":"geologi/laravel-sdk","version":"1.0.0","dist":{"url":"https://geo.logihub.tech/libreria/geologi-laravel-sdk-1.0.0.zip","type":"zip"},"autoload":{"psr-4":{"GeoLogi\\\\Laravel\\\\":"src/GeoLogi/Laravel/"}},"extra":{"laravel":{"providers":["GeoLogi\\\\Laravel\\\\GeoLogiServiceProvider"],"aliases":{"GeoLogi":"GeoLogi\\\\Laravel\\\\Facades\\\\GeoLogi"}}}}}'
# 2. Instalar el paquete
composer require geologi/laravel-sdk:1.0.0
# 3. Publicar el archivo de configuración
php artisan vendor:publish --provider="GeoLogi\Laravel\GeoLogiServiceProvider" --tag=config
Añade las siguientes variables a tu archivo .env:
GEOLOGI_API_KEY=TU_KEY
GEOLOGI_BASE=https://geo.logihub.tech/api/geo
GEOLOGI_TIMEOUT=15
Puedes usar el Facade para realizar llamadas a la API de forma sencilla.
use GeoLogi\Laravel\Facades\GeoLogi;
$response = GeoLogi::searchCity('IT','Roma', 5, true);
$data = $response->json();
El SDK incluye varios comandos de Artisan para interactuar con la API desde la terminal.
# Comprobar el estado del servicio
php artisan geologi:status
# Buscar una ciudad
php artisan geologi:search-city IT Roma --limit=5 --suggest=1
# Buscar un código postal
php artisan geologi:search-postal DO 10149 --limit=5
# Resolver un código postal
php artisan geologi:resolve-postal IT 38067 --suggest=1
# Resolver una ciudad
php artisan geologi:resolve-city DO "Santo Domingo"
# Elegir una opción de una sugerencia
php artisan geologi:choose sel_123 --choice=0
La estructura de archivos del paquete Laravel es la siguiente:
geologi-laravel-sdk-1.0.0/
├── composer.json
├── LICENSE
├── README.md
├── config/geologi.php
└── src/GeoLogi/Laravel/
├── Client.php
├── GeoLogiServiceProvider.php
├── Response.php
├── Console/ # Comandos Artisan
│ ├── ChooseCommand.php
│ ├── ...
├── Exceptions/
│ ├── HttpException.php
│ └── RateLimitException.php
└── Facades/
└── GeoLogi.php