API Operacional
Quickstart API Reference Sandbox Ir a la plataforma
API Operacional — Todos los endpoints funcionando con disponibilidad 99.9%. Base URL: https://developers.gpssoftwarenumberone.com/api

Endpoints disponibles

RecursoEndpointDescripción
Dispositivos/v1/devicesLista todos los vehículos de tu cuenta
Detalle/v1/devices/:idInformación completa de un dispositivo
Ubicación/v1/devices/:id/locationÚltima posición GPS conocida
Geocercas/v1/geofencesLista y consulta geocercas configuradas
Eventos/v1/eventsHistorial de alertas y eventos de flota

¿Cómo empezar?

Tu API Key es el mismo user_api_hash que usa la plataforma GPS. No necesitas registro adicional.

bash
curl https://developers.gpssoftwarenumberone.com/api/v1/devices \
  -H "Authorization: Bearer TU_API_KEY"
Quickstart
Primera llamada en menos de 2 minutos
💻
Sandbox interactivo
Prueba la API desde el navegador
1
Obtén tu API Key
Tu API Key es el user_api_hash de tu cuenta en la plataforma GPS. Lo encuentras en Perfil → API Key dentro del panel de rastreo.
2
Lista tus dispositivos
Llama al endpoint /v1/devices pasando tu API Key como Bearer token.
curl https://developers.gpssoftwarenumberone.com/api/v1/devices \
  -H "Authorization: Bearer TU_API_KEY"
import requests

API_KEY = "TU_API_KEY"
BASE    = "https://developers.gpssoftwarenumberone.com/api"

headers = {"Authorization": f"Bearer {API_KEY}"}
resp    = requests.get(f"{BASE}/v1/devices", headers=headers)
devices = resp.json()

print(f"Tienes {devices['count']} dispositivos")
for d in devices['data']:
    print(f"  {d['id']} — {d['name']} ({d['status']})")
const API_KEY = "TU_API_KEY";
const BASE    = "https://developers.gpssoftwarenumberone.com/api";

const resp    = await fetch(`${BASE}/v1/devices`, {
  headers: { "Authorization": `Bearer ${API_KEY}` }
});
const devices = await resp.json();

console.log(`Tienes ${devices.count} dispositivos`);
devices.data.forEach(d => {
  console.log(`${d.id} — ${d.name} (${d.status})`);
});
<?php
$apiKey = "TU_API_KEY";
$base   = "https://developers.gpssoftwarenumberone.com/api";

$ch = curl_init("$base/v1/devices");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
  "Authorization: Bearer $apiKey",
  "Accept: application/json"
]);
$resp    = curl_exec($ch);
$devices = json_decode($resp, true);

echo "Tienes " . $devices['count'] . " dispositivos\n";
foreach ($devices['data'] as $d) {
  echo "  {$d['id']} — {$d['name']} ({$d['status']})\n";
}
3
Respuesta esperada
La API devuelve un objeto list con el conteo total y el array de dispositivos.
{
  "object": "list",
  "count": 25,
  "data": [
    {
      "id": 200,
      "name": "Camion Principal",
      "status": "moving",
      "protocol": "teltonika",
      "lat": 4.710989,
      "lng": -74.072092,
      "speed": 68,
      "course": 45,
      "last_seen": "2026-06-02 10:35:00",
      "driver": "Juan Perez",
      "address": "Calle 80, Bogota",
      "sensors": [...]
    }
  ]
}
4
Siguiente paso
Explora el Sandbox interactivo para probar todos los endpoints desde el navegador, o revisa la API Reference para ver todos los parámetros disponibles.

Bearer Token

Incluye el header Authorization en cada request:

http
Authorization: Bearer <tu_api_key>
Aislamiento de datos: Cada API Key solo tiene acceso a los dispositivos y datos de su propia cuenta. No existe acceso entre cuentas.

Respuestas de error de autenticación

Código HTTPerrorCausa
401unauthorizedNo se envió el header Authorization
401invalid_tokenToken incorrecto o cuenta desactivada
503gateway_errorNo se pudo validar el token temporalmente

Dónde obtener tu API Key

Inicia sesión en la plataforma GPS → Menú de perfil → User Settings → campo API Hash. Ese valor es tu API Key.

Seguridad: Nunca expongas tu API Key en código fuente público ni en el frontend del browser. Úsala solo en servidores backend o llamadas server-side.
GET /v1/devices Lista todos los dispositivos

Retorna todos los dispositivos GPS asociados a tu cuenta, incluyendo estado actual, última posición y sensores.

Respuesta

CampoTipoDescripción
objectstringSiempre "list"
countintegerTotal de dispositivos
dataarrayArray de objetos Device
200 OK
{
  "object": "list",
  "count": 3,
  "data": [
    {
      "id": 200,
      "name": "Camion Ruta Norte",
      "status": "moving",
      "protocol": "teltonika",
      "lat": 4.710989,
      "lng": -74.072092,
      "speed": 68,
      "course": 45,
      "altitude": 2600,
      "last_seen": "2026-06-02 10:35:00",
      "driver": "Juan Perez",
      "address": "Autopista Norte Km 12, Bogota",
      "sensors": [
        { "type": "engine_hours", "name": "Horas motor", "value": "1240 h" },
        { "type": "battery", "name": "Bateria", "value": "13.2 V" }
      ],
      "group": "Flota Bogota"
    }
  ]
}
GET /v1/devices/:id Detalle de un dispositivo

Retorna la información completa de un dispositivo específico.

Parámetros de ruta

ParámetroDescripción
idrequeridoID numérico del dispositivo
404Si el dispositivo no existe o no pertenece a tu cuenta
{ "error": "not_found", "message": "Dispositivo 999 no encontrado." }

Objeto Device

PropiedadTipoDescripción
idintegerIdentificador único del dispositivo
namestringNombre asignado al vehículo
statusstringonline · offline · moving
protocolstringProtocolo del GPS (teltonika, gps103, etc.)
latnumberLatitud de última posición
lngnumberLongitud de última posición
speednumberVelocidad en km/h
coursenumberRumbo en grados (0-360)
last_seenstringTimestamp del último dato recibido
driverstring|nullNombre del conductor asignado
sensorsarraySensores adicionales del dispositivo
GET /v1/devices/:id/location Última posición conocida

Retorna la última posición GPS registrada del dispositivo, incluyendo coordenadas, velocidad y dirección.

200 OK
{
  "object": "location",
  "device_id": 200,
  "lat": 4.710989,
  "lng": -74.072092,
  "speed": 68,
  "course": 45,
  "altitude": 2600,
  "status": "moving",
  "address": "Autopista Norte Km 12, Bogota",
  "timestamp": 1748870100,
  "last_seen": "2026-06-02 10:35:00"
}

Objeto Location

PropiedadTipoDescripción
latnumberLatitud decimal (WGS84)
lngnumberLongitud decimal (WGS84)
speednumberVelocidad en km/h
coursenumberRumbo 0–360°. 0=Norte, 90=Este
altitudenumberAltitud en metros sobre el nivel del mar
timestampintegerUnix timestamp del dato GPS
addressstring|nullDirección aproximada (geocodificación inversa)
GET /v1/geofences Lista todas las geocercas
{
  "object": "list",
  "count": 4,
  "data": [
    {
      "id": 12,
      "name": "Bodega Central",
      "type": "polygon",
      "active": true,
      "color": "#FF0000",
      "created_at": "2026-01-10 09:00:00"
    }
  ]
}
GET /v1/geofences/:id Detalle de una geocerca
GET /v1/events Historial de eventos

Parámetros de query

ParámetroDescripción
device_idopcionalFiltra eventos de un dispositivo específico
limitopcionalMáximo de resultados (default: 50, max: 200)
{
  "object": "list",
  "count": 12,
  "data": [
    {
      "id": 4501,
      "type": "speeding",
      "message": "Exceso de velocidad: 95 km/h en zona 60",
      "device_id": 200,
      "device": "Camion Ruta Norte",
      "lat": 4.710989,
      "lng": -74.072092,
      "timestamp": "2026-06-02 09:12:00"
    }
  ]
}

Formato de error

{
  "error": "not_found",
  "message": "Dispositivo 999 no encontrado.",
  "docs": "https://developers.gpssoftwarenumberone.com"
}

Códigos HTTP

CódigoerrorCuándo ocurre
200Éxito
401unauthorizedSin header Authorization
401invalid_tokenToken inválido o expirado
404not_foundRecurso no existe o no pertenece a tu cuenta
404no_locationDispositivo sin posición registrada
429rate_limit_exceededMás de 100 requests por minuto
500internal_errorError interno del servidor
503gateway_errorPlataforma GPS no disponible temporalmente

Rate Limits

La API acepta 100 requests por minuto por IP. Los headers de respuesta indican el estado del límite:

HeaderDescripción
RateLimit-LimitLímite total por ventana (100)
RateLimit-RemainingRequests disponibles en esta ventana
RateLimit-ResetSegundos hasta que se resetea el contador
Datos reales: Este sandbox llama a la API de producción. Las consultas GET no modifican datos.
Token demo disponible: Usa demo_gps2024 para probar con datos de muestra sin necesitar una cuenta.
GET /v1/devices — Listar dispositivos
GET /v1/devices/:id/location — Ubicación de un dispositivo
GET /v1/events — Historial de eventos

Python — Cliente completo

import requests
from typing import Optional

class GPSClient:
    BASE = "https://developers.gpssoftwarenumberone.com/api"

    def __init__(self, api_key: str):
        self.session = requests.Session()
        self.session.headers.update({
            "Authorization": f"Bearer {api_key}",
            "Accept": "application/json"
        })

    def get_devices(self) -> list:
        resp = self.session.get(f"{self.BASE}/v1/devices")
        resp.raise_for_status()
        return resp.json()["data"]

    def get_location(self, device_id: int) -> dict:
        resp = self.session.get(f"{self.BASE}/v1/devices/{device_id}/location")
        resp.raise_for_status()
        return resp.json()

    def get_events(self, device_id: Optional[int] = None, limit: int = 50) -> list:
        params = {"limit": limit}
        if device_id:
            params["device_id"] = device_id
        resp = self.session.get(f"{self.BASE}/v1/events", params=params)
        resp.raise_for_status()
        return resp.json()["data"]


# Uso
client = GPSClient("TU_API_KEY")

devices = client.get_devices()
for d in devices:
    loc = client.get_location(d["id"])
    print(f"{d['name']}: {loc['lat']}, {loc['lng']} — {loc['speed']} km/h")

JavaScript (Node.js) — Cliente completo

class GPSClient {
  constructor(apiKey) {
    this.baseUrl = "https://developers.gpssoftwarenumberone.com/api";
    this.headers = {
      "Authorization": `Bearer ${apiKey}`,
      "Content-Type": "application/json"
    };
  }

  async fetch(path, params = {}) {
    const url = new URL(this.baseUrl + path);
    Object.entries(params).forEach(([k, v]) => url.searchParams.set(k, v));
    const res = await fetch(url, { headers: this.headers });
    if (!res.ok) throw await res.json();
    return res.json();
  }

  getDevices()                    { return this.fetch("/v1/devices"); }
  getDevice(id)                   { return this.fetch(`/v1/devices/${id}`); }
  getLocation(id)                 { return this.fetch(`/v1/devices/${id}/location`); }
  getEvents(params = {})          { return this.fetch("/v1/events", params); }
  getGeofences()                  { return this.fetch("/v1/geofences"); }
}

// Uso
const client = new GPSClient("TU_API_KEY");
const { data: devices } = await client.getDevices();

for (const device of devices) {
  try {
    const loc = await client.getLocation(device.id);
    console.log(`${device.name}: ${loc.lat}, ${loc.lng}`);
  } catch (e) {
    if (e.error === "no_location") console.log(`${device.name}: sin posición`);
  }
}

v1.0.0 — Junio 2026

Lanzamiento inicial de la API pública GPS Tracking.

  • Endpoint GET /v1/devices — lista de dispositivos
  • Endpoint GET /v1/devices/:id — detalle de dispositivo
  • Endpoint GET /v1/devices/:id/location — última posición
  • Endpoint GET /v1/geofences — lista de geocercas
  • Endpoint GET /v1/events — historial de eventos
  • Autenticación Bearer token
  • Rate limiting 100 req/min
  • Sandbox interactivo

Selecciona un recurso en el menú lateral para ver su documentación detallada.

Dispositivos
GET /v1/devices
Ubicaciones
GET /v1/devices/:id/location
Geocercas
GET /v1/geofences
Eventos
GET /v1/events
Recomendado para integraciones en produccion. Usa una API Key en lugar de tu platform_hash directo. Si la key se compromete, la revogas y generas una nueva sin cambiar nada en la plataforma GPS.

Generar una API Key

POST /v1/keys Crear API Key

Crea una nueva API Key vinculada a tu cuenta. Requiere tu platform_hash (el user_api_hash de tu cuenta en la plataforma GPS). La key generada solo se muestra una vez.

Body (JSON)

CampoTipoReq.Descripcion
platform_hashstringREQTu user_api_hash de la plataforma GPS
labelstringOPTNombre descriptivo (ej. "Integracion Fleetio")
expires_in_daysintegerOPTDias de vigencia. Default: 365. Max: 3650.
cURL
curl -X POST "https://developers.gpssoftwarenumberone.com/api/v1/keys" \
  -H "Content-Type: application/json" \
  -d '{"platform_hash":"TU_USER_API_HASH","label":"Mi integracion","expires_in_days":365}'

Respuesta

JSON
{
  "object": "api_key",
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "key": "gps_live_a1b2c3d4e5f6...",
  "label": "Mi integracion",
  "created_at": 1748822400000,
  "expires_at": 1780358400000,
  "platform_email": "usuario@empresa.com",
  "message": "Guarda esta clave — no se volvera a mostrar completa."
}

Listar tus API Keys

GET /v1/keys Listar keys activas

Retorna todas las keys de tu cuenta. Autenticacion con tu platform_hash en el header Authorization: Bearer. Los valores de las keys se muestran truncados.

cURL
curl "https://developers.gpssoftwarenumberone.com/api/v1/keys" \
  -H "Authorization: Bearer TU_PLATFORM_HASH"

Revocar una API Key

DELETE /v1/keys/:id Revocar key inmediatamente

Revoca una key de forma inmediata e irreversible. Cualquier integracion que la use dejara de funcionar al instante.

cURL
curl -X DELETE "https://developers.gpssoftwarenumberone.com/api/v1/keys/550e8400-e29b-41d4-a716-446655440000" \
  -H "Authorization: Bearer TU_PLATFORM_HASH"

Formato de las keys

Todas las keys generadas tienen el prefijo gps_live_ seguido de 48 caracteres hexadecimales aleatorios:

Ejemplo
gps_live_a1b2c3d4e5f6789012345678901234567890123456789012
La key completa solo se muestra al crearla. Guardala en un lugar seguro. Si la pierdes, debes revocarla y generar una nueva.

Generar una key ahora

POST /v1/keys — Generar API Key
La especificacion describe todos los endpoints, parametros, esquemas de respuesta y codigos de error.

Descargar

Descargar openapi.yaml Descargar coleccion Postman Ver en Swagger UI

Importar en Postman

  1. Descarga el archivo gps-tracking-api-openapi.yaml
  2. Abre Postman → Import → arrastra el archivo
  3. Configura la variable api_key con tu user_api_hash
  4. Usa demo_gps2024 para probar sin cuenta real

Importar en Swagger UI

Pega la URL de la especificacion en editor.swagger.io:

URL
https://developers.gpssoftwarenumberone.com/openapi.yaml
Descargar Collection

Contenido de la coleccion

  • GET /health — Estado del servicio (sin auth)
  • GET /v1/devices — Listar todos los dispositivos
  • GET /v1/devices/:id — Detalle de un dispositivo
  • GET /v1/devices/:id/location — Ultima posicion GPS
  • GET /v1/geofences — Listar geocercas
  • GET /v1/events — Historial de eventos con filtros
La coleccion incluye la variable api_key = demo_gps2024 preconfigurada para probar de inmediato.
Verificando estado...

Base URL

URL
https://developers.gpssoftwarenumberone.com/api

Metodos HTTP

MetodoUso
GETConsultar recursos (no modifica datos)
POSTCrear recursos (en endpoints futuros)
PUTActualizar un recurso completo
DELETEEliminar un recurso

Formato de respuesta

Todas las respuestas son Content-Type: application/json. Las listas incluyen object, count y data. Los errores incluyen error (codigo), message (descripcion) y docs (enlace a documentacion).

JSON — Respuesta lista
{ "object": "list", "count": 3, "data": [...] }
JSON — Respuesta error
{ "error": "not_found", "message": "Dispositivo 999 no encontrado.", "docs": "https://developers.gpssoftwarenumberone.com" }
Limite actual: 100 requests por minuto por API Key.

Headers de respuesta

HeaderDescripcion
RateLimit-LimitLimite maximo de requests por ventana
RateLimit-RemainingRequests disponibles en la ventana actual
RateLimit-ResetSegundos hasta que se reinicia el contador

Cuando se supera el limite

El servidor responde con HTTP 429 Too Many Requests:

JSON
{ "error": "rate_limit_exceeded", "message": "Demasiadas solicitudes. Maximo 100 por minuto." }

Buenas practicas

  • Implementa exponential backoff cuando recibas un 429.
  • Usa caching local para datos que no cambian frecuentemente (geocercas, lista de dispositivos).
  • Prefiere polling de posiciones a intervalos de 30+ segundos.
Pagination
Los endpoints que retornan listas soportan paginacion via parametros de query.

Parametros

ParametroTipoDescripcion
limitintegerCantidad de items por pagina. Default: 50. Maximo: 500.
offsetintegerNumero de items a saltar (para paginas siguientes).

Ejemplo

Request
curl "https://developers.gpssoftwarenumberone.com/api/v1/events?limit=20&offset=40" \
  -H "Authorization: Bearer TU_API_KEY"

Cuando count en la respuesta es mayor que limit, hay mas paginas disponibles.

Filtering
Muchos endpoints aceptan parametros para filtrar los resultados y reducir el volumen de datos.

Filtros disponibles por endpoint

EndpointParametros de filtro
GET /v1/eventsdevice_id, from, to, type
GET /v1/devicesstatus (online/offline/moving)

Filtros de fecha

Los campos from y to aceptan ISO 8601:

Request
curl "https://developers.gpssoftwarenumberone.com/api/v1/events?from=2026-06-01T00:00:00Z&to=2026-06-01T23:59:59Z" \
  -H "Authorization: Bearer TU_API_KEY"
Versioning
La API utiliza versionado en la URL para garantizar estabilidad a largo plazo en las integraciones.

Version actual

Todos los endpoints de la API v1 estan bajo el prefijo /v1/:

URL
https://developers.gpssoftwarenumberone.com/api/v1/

Politica de versiones

v1 es la version actual y estable. Suscribete al Changelog para recibir notificaciones de cambios.
Technology Partner Program
Construye integraciones verificadas sobre la GPS Tracking API y accede a recursos exclusivos, soporte prioritario y visibilidad ante nuestra red de distribuidores en Latinoamerica.
Red activa con mas de 13 millones de unidades en 157 paises.

Niveles del programa

Developer
Gratis
RECOMENDADO
Technology Partner
Aplicar
Enterprise
Contactar

Casos de uso de partners

Combustible y mantenimiento
Integra consumo de combustible y alertas de mantenimiento con tus sistemas ERP.
Logistica y TMS
Conecta rutas y ubicaciones en tiempo real a plataformas de gestion de transporte.
Seguros telematics
Usa datos de velocidad, frenadas y uso para calcular primas basadas en comportamiento.
RRHH y nomina
Exporta horas de trabajo, km recorridos y eventos de conductor a tu plataforma de RRHH.
Application Process
El proceso de certificacion garantiza que tu integracion funcione correctamente para los clientes finales.
1
Solicitud inicial
Completa el formulario de aplicacion con los detalles de tu producto y caso de uso. Tiempo de respuesta: 3-5 dias habiles.
2
Acceso al sandbox
Recibes credenciales para un entorno de pruebas con datos de muestra. Aqui desarrollas y pruebas tu integracion.
3
Revision tecnica
Nuestro equipo revisa tu implementacion: manejo de errores, rate limiting, aislamiento de datos por tenant y seguridad.
4
Certificacion y publicacion
Tu integracion recibe el sello de certificacion GPS Tracking y queda visible en el marketplace para la red de distribuidores.
Para iniciar el proceso, escribe a api@gpssoftwarenumberone.com con el asunto "Technology Partner Application".
Sandboxes
Entornos de prueba aislados con datos de muestra realistas. Disponibles para Technology Partners certificados.
Demo gratuito disponible ahora: Usa el token demo_gps2024 en el Sandbox interactivo para explorar la API con datos de muestra sin necesitar una cuenta.

Sandbox de Technology Partner

Los partners certificados reciben un sandbox dedicado con:

Para solicitar acceso, sigue el proceso de aplicacion.

What are Webhooks?
Los webhooks permiten que tu sistema reciba notificaciones en tiempo real cuando ocurren eventos en la plataforma GPS, sin necesidad de polling.
Proxima funcionalidad: Los webhooks estan en desarrollo. Disponibles para Technology Partners en Q3 2026. Ver Changelog.

Como funcionaran

Registras una URL en tu servidor. Cuando un evento ocurre (posicion fuera de geocerca, velocidad excedida, ignicion activada), la API envia un POST HTTP a tu URL con el detalle del evento en JSON.

JSON — Payload de ejemplo
{
  "event": "geofence.exit",
  "timestamp": "2026-06-02T14:30:00Z",
  "device": { "id": 1001, "name": "Camion Bogota-01" },
  "geofence": { "id": 42, "name": "Zona Bogota Centro" },
  "location": { "lat": 4.7110, "lng": -74.0721, "speed": 68 }
}

Tipos de eventos planeados

Webhook Reference
Referencia tecnica completa de todos los tipos de eventos y la estructura del payload.
En desarrollo — Q3 2026. Suscribete al Changelog para ser notificado.

Datos disponibles

Ejemplo — calcular km del dia

Python
events = client.get_events(device_id=1001, from_date="2026-06-02T00:00:00Z")
km_today = sum(e.get("distance", 0) for e in events)

Patron recomendado

Consulta GET /v1/events?type=maintenance_due periodicamente y dispara notificaciones en tu sistema cuando el odometro supere el umbral configurado.

Documentacion detallada disponible al activar Webhooks en Q3 2026.

Fuentes de datos

Flujo tipico

  1. Llama GET /v1/devices para obtener el estado actual de la flota
  2. Para cada dispositivo moving, consulta /location con un intervalo de 30 segundos
  3. Usa GET /v1/geofences para mostrar zonas en el mapa
  4. Almacena las posiciones en tu base de datos para historico y reportes

Datos que procesamos via API

Tus responsabilidades como integrador

Al usar la API, confirmas que tienes las autorizaciones necesarias de los propietarios y conductores de los vehiculos para recopilar y procesar su informacion de ubicacion, de acuerdo con las leyes de proteccion de datos aplicables en tu jurisdiccion.

Para la politica completa de privacidad de la plataforma GPS, visita gpssoftwarenumberone.com.

Uso aceptable

Suspension de acceso

Nos reservamos el derecho de suspender o revocar credenciales de API en caso de violacion de estos terminos, abuso del servicio, o actividad que ponga en riesgo la estabilidad de la plataforma.

99.9%
Disponibilidad mensual
<300ms
Latencia p95
24h
Tiempo de respuesta soporte

Mantenimientos programados

Los mantenimientos se notifican con al menos 48 horas de anticipacion por correo a integradores registrados. Se realizan preferentemente los domingos entre 02:00-04:00 UTC.

GET /v1/history/:device_id Historial de un dispositivo

Devuelve el recorrido del dia con posiciones GPS, kilometros recorridos y metricas de uso.

Parametros de query

ParametroTipoReq.Descripcion
fromstringREQFecha inicio en formato YYYY-MM-DD
tostringREQFecha fin en formato YYYY-MM-DD

Respuesta

CampoTipoDescripcion
distance_kmnumberKilometros totales recorridos en el periodo
top_speednumberVelocidad maxima registrada (km/h)
move_durationstringTiempo total en movimiento
stop_durationstringTiempo total detenido
positionsarrayArray de posiciones GPS con time, lat, lng, speed, address
cURL
curl "https://developers.gpssoftwarenumberone.com/api/v1/history/1001?from=2026-06-02&to=2026-06-02" \
  -H "Authorization: Bearer demo_gps2024"
GET /v1/history/:id — Historial
GET /v1/alerts Listar alertas

Devuelve todas las alertas configuradas con su tipo, estado y dispositivos asignados.

Tipos de alerta

typeDescripcion
overspeedExceso de velocidad
geofence_inEntrada a geocerca
geofence_outSalida de geocerca
ignition_onIgnicion encendida
ignition_offIgnicion apagada
sosPanico / alarma
device_offlineDispositivo sin conexion
cURL
curl "https://developers.gpssoftwarenumberone.com/api/v1/alerts" \
  -H "Authorization: Bearer demo_gps2024"
GET /v1/alerts — Listar alertas
Cada servicio se activa segun expiration_by: odometer (km), engine_hours (horas de motor) o days (dias). Ideal para integracion con software de mantenimiento como Fleetio, ERPNext o sistemas propios.
GET /v1/services Listar servicios

Devuelve todos los servicios de mantenimiento. Filtra por dispositivo con el parametro device_id.

Parametros de query

ParametroTipoReq.Descripcion
device_idintegerOPTFiltrar por dispositivo especifico

Campos de respuesta

CampoTipoDescripcion
expiration_bystringodometer, engine_hours o days
intervalnumberIntervalo de mantenimiento (km, horas o dias)
last_servicenumberValor al momento del ultimo servicio
expires_atnumberValor al que vence el proximo servicio
remainingnumberCantidad restante hasta el vencimiento (negativo = vencido)
expiredbooleanSi el servicio ya esta vencido
cURL
curl "https://developers.gpssoftwarenumberone.com/api/v1/services?device_id=1001" \
  -H "Authorization: Bearer demo_gps2024"
GET /v1/services — Servicios de mantenimiento
GET /v1/drivers Listar conductores

Devuelve todos los conductores con nombre, contacto, RFID y vehiculo asignado actualmente.

CampoTipoDescripcion
namestringNombre completo del conductor
phonestringTelefono de contacto
rfidstringCodigo RFID de identificacion en vehiculo
assigned_device_idintegerID del vehiculo asignado actualmente
assigned_devicestringNombre del vehiculo asignado
cURL
curl "https://developers.gpssoftwarenumberone.com/api/v1/drivers" \
  -H "Authorization: Bearer demo_gps2024"
GET /v1/drivers — Conductores