GasoGaso/API Reference
Solicitar API key

Documentación de la API

La API de Gaso Partners permite a empresas afiliadas publicar precios de combustible en tiempo real. Los precios aparecen en el mapa con la etiqueta Empresa y se actualizan en segundos.

Autenticación

Todas las solicitudes deben incluir tu API key en el header Authorization:

Authorization: Bearer TU_API_KEY_DE_64_CARACTERES
Importante: Tu API key se genera una única vez y no puede recuperarse. Guárdala en un lugar seguro. Si la pierdes, deberás contactarnos para generar una nueva.

Base URL

https://gaso.lat/api/v1
POST/api/v1/prices

Publica o actualiza los precios de combustible para una estación. Los cambios son visibles en el mapa en segundos. Límite: 1 actualización por estación cada hora.

Request body

{
  "country":    "pe",          // "pe" | "co" | "ec"
  "station_id": "CO-001234",   // ID asignado por Gaso
  "prices": [
    { "fuel_type": "Corriente", "price": 9800.00,  "unit": "galón" },
    { "fuel_type": "Extra",     "price": 10500.50, "unit": "galón" }
  ]
}
CampoTipoDescripción
countrystringCódigo de país: "pe", "co" o "ec". Debe coincidir con tu cuenta.
station_idstringIdentificador de la estación asignado por Gaso al dar de alta.
pricesarrayLista de precios a actualizar. Mínimo 1 elemento.
prices[].fuel_typestringNombre del combustible. Ej: "Corriente", "Extra", "GNV".
prices[].pricenumberPrecio con hasta 2 decimales. Ej: 9800.50.
prices[].unitstring?Unidad de medida. Default: "galón". Alternativa: "litro".

Respuesta exitosa 200

{
  "ok": true,
  "updated_at": "2025-06-01T14:30:00.000Z",
  "next_allowed_at": "2025-06-01T15:30:00.000Z"
}

Códigos de error

401

API key inválida o ausente.

403

País o estación no asignada a tu cuenta.

429

Límite de frecuencia. Ver campo nextAllowedAt en la respuesta.

400

Body malformado o campos requeridos faltantes.

Ejemplo completo

cURL

curl -X POST https://gaso.lat/api/v1/prices \
  -H "Authorization: Bearer TU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "country": "pe",
    "station_id": "PE-001234",
    "prices": [
      { "fuel_type": "GAS NATURAL VEHICULAR", "price": 2.15, "unit": "m³" },
      { "fuel_type": "DIESEL B5",             "price": 7.89, "unit": "galón" }
    ]
  }'

Node.js

const res = await fetch('https://gaso.lat/api/v1/prices', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer ' + process.env.GASO_API_KEY,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    country: 'pe',
    station_id: 'PE-001234',
    prices: [
      { fuel_type: 'DIESEL B5', price: 7.89, unit: 'galón' },
    ],
  }),
});

const data = await res.json();
// { ok: true, updated_at: '...', next_allowed_at: '...' }

Límites de frecuencia

Para mantener la calidad de los datos, cada afiliado puede enviar como máximo 1 actualización por estación cada hora.

Cuando excedes el límite, la respuesta 429 incluye el campo next_allowed_at con el timestamp exacto en que podrás volver a enviar.

Prioridad de precios (Perú)

En Perú, los precios oficiales de Osinergmin se actualizan cada hora. Cuando una empresa envía un precio, se aplica la siguiente lógica:

Regla de prioridad:

  1. Se usa el precio de la empresa por defecto.
  2. Se usa el precio oficial de Osinergmin solo si es más barato Y fue actualizado más recientemente que el precio de la empresa.

El popup del mapa muestra la etiqueta Empresa cuando se está mostrando el precio del afiliado.

¿Listo para integrarte?

Solicita tu API key gratuita y empieza a publicar precios en minutos.

Solicitar acceso