Necesitas enviar una integración en C# que obtenga precios de combustible en tiempo real por código postal, con unidades confiables y autenticación predecible. Al final de esta guía, consultarás la API de Precios de Gasolina en Zyla API Hub desde C#, analizarás el JSON y estarás listo para conectar los datos a tu proceso de pago, tablero de flota o lógica de enrutamiento.
Lo que entrega la API de Precios de Gasolina
La API de Precios de Gasolina devuelve información sobre los precios de combustible para estaciones de servicio relevantes en un código postal dado y admite una búsqueda de datos a nivel de estación. Es ideal para aplicaciones que necesitan mostrar o comparar costos de combustible locales, calcular gastos de viaje o mantener presupuestos actualizados para logística y servicios en carretera.
Zyla API Hub centraliza la autenticación (una cuenta, una clave API) y la facturación a través de más de 10,000 APIs públicas. La API de Precios de Gasolina utiliza un token de autorización: Bearer en cada solicitud y proporciona acceso basado en suscripción + cuota (no pago por llamada). Para el primer uso, obtienes un período de prueba de 7 días o 50 solicitudes para validar tu integración. No hay Plan Gratuito; consulta la página de la API para las opciones de acceso y precios actuales.
Comenzando en Zyla API Hub
Aquí está el proceso mínimo para obtener tu clave y llamar a los endpoints:
- Abre la lista de APIs: API de Precios de Gasolina.
- Haz clic en Suscribirse (o Comenzar Prueba Gratuita cuando esté disponible) y completa el flujo para obtener tu clave API.
- Usa la clave con un encabezado de Autorización: Bearer al llamar a los endpoints bajo https://zylalabs.com/api/…
Si aún no tienes una cuenta de Zyla, puedes crear una rápidamente aquí: Registrarse. También puedes explorar otras categorías en Zyla API Hub en cualquier momento.
Endpoints que usarás
La API de Precios de Gasolina proporciona dos endpoints documentados a través de Zyla API Hub:
1) Precios (GET)
URL de solicitud:
https://zylalabs.com/api/3927/gasoline-prices-api/4649/prices
Descripción: Pasa el código postal de tu elección y el tipo de combustible que deseas verificar. La API devuelve precios de estaciones de servicio relevantes en el código postal dado. Si no hay información disponible para una estación, puedes usar su ID en el endpoint de Datos de Estación.
Parámetros de consulta requeridos:
- zip (cadena): ejemplo 90001
- type (cadena): ejemplo regular
Autenticación: Autorización: Bearer YOUR_API_KEY
Ejemplo oficial de cURL (copia/pega):
curl -s -X GET "https://zylalabs.com/api/3927/gasoline-prices-api/4649/prices?zip=90001&type=regular" \
-H "Authorization: Bearer YOUR_API_KEY"
Respuesta JSON oficial (verbatim):
{"success":true,"result":[{"currency":"usd","name":"Alaska","gasoline":"3.312","midGrade":"3.549","premium":"3.776","diesel":"3.541"},{"currency":"usd","name":"Alabama","gasoline":"2.804","midGrade":"3.242","premium":"3.640","diesel":"3.471"},{"currency":"usd","name":"Arkansas","gasoline":"2.779","midGrade":"3.192","premium":"3.570","diesel":"3.323"},{"currency":"usd","name":"Arizona","gasoline":"3.155","midGrade":"3.485","premium":"3.803","diesel":"3.643"},{"currency":"usd","name":"California","gasoline":"4.449","midGrade":"4.679","premium":"4.852","diesel":"4.996"},{"currency":"usd","name":"Colorado","gasoline":"2.984","midGrade":"3.367","premium":"3.688","diesel":"3.417"},{"currency":"usd","name":"Connecticut","gasoline":"3.097","midGrade":"3.718","premium":"4.063","diesel":"3.845"},{"currency":"usd","name":"District of Columbia","gasoline":"3.279","midGrade":"3.866","premium":"4.254","diesel":"3.918"},{"currency":"usd","name":"Delaware","gasoline":"3.203","midGrade":"3.718","premium":"4.016","diesel":"3.772"},{"currency":"usd","name":"Florida","gasoline":"3.217","midGrade":"3.655","premium":"3.970","diesel":"3.676"},{"currency":"usd","name":"Georgia","gasoline":"2.966","midGrade":"3.404","premium":"3.801","diesel":"3.663"},{"currency":"usd","name":"Hawaii","gasoline":"4.555","midGrade":"4.794","premium":"5.040","diesel":"5.307"},{"currency":"usd","name":"Iowa","gasoline":"2.911","midGrade":"3.230","premium":"3.667","diesel":"3.434"},{"currency":"usd","name":"Idaho","gasoline":"3.046","midGrade":"3.306","premium":"3.552","diesel":"3.435"},{"currency":"usd","name":"Illinois","gasoline":"3.280","midGrade":"3.837","premium":"4.286","diesel":"3.650"},{"currency":"usd","name":"Indiana","gasoline":"3.029","midGrade":"3.562","premium":"4.053","diesel":"3.687"},{"currency":"usd","name":"Kansas","gasoline":"2.811","midGrade":"3.139","premium":"3.440","diesel":"3.316"},{"currency":"usd","name":"Kentucky","gasoline":"2.770","midGrade":"3.273","premium":"3.696","diesel":"3.350"},{"currency":"usd","name":"Louisiana","gasoline":"2.777","midGrade":"3.187","premium":"3.557","diesel":"3.377"},{"currency":"usd","name":"Massachusetts","gasoline":"3.043","midGrade":"3.637","premium":"4.000","diesel":"3.799"},{"currency":"usd","name":"Maryland","gasoline":"3.310","midGrade":"3.857","premium":"4.148","diesel":"3.851"},{"currency":"usd","name":"Maine","gasoline":"3.082","midGrade":"3.620","premium":"4.063","diesel":"3.939"},{"currency":"usd","name":"Michigan","gasoline":"3.10…
Notas de campo que realmente usarás:
- success: booleano que indica el estado de la solicitud.
- result: array de objetos de precio. Campos clave:
- name: nombre del área (por ejemplo, una etiqueta de estado o jurisdicción en los datos devueltos).
- currency: código de moneda (usd en este ejemplo).
- gasoline, midGrade, premium, diesel: precios como cadenas. Trátalos como dólares por galón a menos que tu uso especifique lo contrario.
Unidades: Los datos utilizan USD y, para detalles a nivel de estación, price_unit informa dólares_por_galón (ver la respuesta de Datos de Estación a continuación). Maneja los valores como cadenas en JSON y conviértelos a decimales donde sea necesario para cálculos.
2) Datos de Estación (GET)
URL de solicitud:
https://zylalabs.com/api/3927/gasoline-prices-api/24541/station-data
Descripción: Devuelve detalles para una estación específica. Necesitarás un ID de estación (obtenible de los datos del endpoint Obtener Precios). No se documentan parámetros de solicitud aquí; autentica con tu token Bearer.
Ejemplo oficial de cURL (copia/pega):
Respuesta JSON oficial (verbatim):
Notas de campo que realmente usarás:
- data.station_id, data.name: identifican la estación.
- data.address, data.coordinates: útiles para mapas y enlaces de navegación.
- data.currency: USD.
- data.price_unit: dólares_por_galón, que aclara la unidad utilizada en los listados de precios.
Integración en C# con HttpClient
El siguiente ejemplo en C# muestra cómo llamar a Precios con los parámetros requeridos, establecer el encabezado de Autorización: Bearer y analizar el JSON para extraer algunos campos. Este es un ejemplo de consola que puedes incluir en un proyecto .NET usando System.Net.Http y System.Text.Json.
using System;
using System.Linq;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
using System.Threading.Tasks;
class Program
{
private static readonly HttpClient http = new HttpClient();
static async Task Main()
{
// Endpoint y parámetros de consulta requeridos: zip y type
var url = "https://zylalabs.com/api/3927/gasoline-prices-api/4649/prices?zip=90001&type=regular";
// Auth: Bearer YOUR_API_KEY
http.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", "YOUR_API_KEY");
using var resp = await http.GetAsync(url);
resp.EnsureSuccessStatusCode();
var json = await resp.Content.ReadAsStringAsync();
// Analiza mínimamente: success + array de result con name/currency/gasoline/midGrade/premium/diesel
using var doc = JsonDocument.Parse(json);
var root = doc.RootElement;
bool success = root.GetProperty("success").GetBoolean();
if (!success)
{
Console.WriteLine("La solicitud falló.");
return;
}
var results = root.GetProperty("result").EnumerateArray().ToList();
// Ejemplo: encontrar la entrada de California e imprimir gasolina regular y diésel
var california = results.FirstOrDefault(e =>
e.TryGetProperty("name", out var n) && n.GetString() == "California");
if (california.ValueKind != JsonValueKind.Undefined)
{
string currency = california.GetProperty("currency").GetString();
string regular = california.GetProperty("gasoline").GetString();
string diesel = california.GetProperty("diesel").GetString();
Console.WriteLine($"Precios de California - Regular: {regular} {currency}, Diésel: {diesel} {currency}");
}
else
{
Console.WriteLine("Entrada de California no encontrada en el resultado.");
}
}
}
Notas que ahorran tiempo:
- Establece el encabezado de Autorización una vez por instancia de HttpClient. Rota la clave reemplazando solo el valor del encabezado.
- Los precios en el JSON de ejemplo son cadenas. Convierte a decimal para cálculos (por ejemplo, Decimal.Parse con cultura invariable) para evitar problemas de localización.
- Cachea por ZIP y tipo de combustible si muestras los mismos azulejos repetidamente; la API proporciona datos basados en ubicación que no cambian cada segundo. Decide tu propia política de frescura.
- Las cuotas son basadas en suscripción. Realiza un seguimiento de las llamadas restantes en la lógica de tu aplicación si realizas escaneos de ZIP de alto tráfico. Consulta la página de la API para más detalles.
Ejemplo rápido de fetch en JavaScript
Para pruebas o integraciones ligeras, aquí hay un fragmento mínimo de JS que llama al mismo endpoint de Precios. Mantén el mismo encabezado de Autorización y los parámetros de consulta requeridos.
async function getPrices() {
const url = "https://zylalabs.com/api/3927/gasoline-prices-api/4649/prices?zip=90001&type=regular";
const resp = await fetch(url, {
method: "GET",
headers: {
"Authorization": "Bearer YOUR_API_KEY"
}
});
if (!resp.ok) {
throw new Error(`HTTP ${resp.status}`);
}
const data = await resp.json();
if (!data.success) {
throw new Error("La API reportó un fallo");
}
// Ejemplo: listar name + gasoline para una visualización rápida
data.result.forEach(item => {
console.log(`${item.name}: Regular ${item.gasoline} ${item.currency}`);
});
}
getPrices().catch(console.error);
Patrones de uso práctico
- Búsqueda de precios basada en ZIP para el proceso de pago: Estima recargos de combustible para entrega local obteniendo precios regulares o diésel por ZIP y aplicando tu modelo por milla.
- Interfaz de planificación de rutas: Muestra a los usuarios una instantánea de precios cerca de puntos de referencia por ZIP. Almacena la unidad de precio (dólares_por_galón) para evitar errores de visualización en interfaces de múltiples unidades.
- Tableros de presupuesto: Promedia o min/max por jurisdicción del array de resultados para construir tarjetas de tendencia. Convierte cadenas de precios a tipos numéricos antes de agregaciones.
- Detalles de la estación: Si una estación específica requiere contexto adicional (dirección/coordenadas), llama a Datos de Estación para enriquecer la tarjeta con información de ubicación y unidad.
Cómo llamar a través de agentes de IA usando MCP
Puedes invocar los mismos endpoints del Hub desde agentes de codificación de IA o clientes compatibles con MCP apuntándolos al endpoint MCP de Zyla:
Proporciona tu clave API de Zyla con el parámetro de consulta apikey al configurar el cliente MCP: https://mcp.zylalabs.com/mcp?apikey=YOUR_API_KEY. Las llamadas realizadas por el agente utilizan el mismo modelo de Autorización: Bearer detrás de escena, por lo que se aplican las mismas URL y parámetros de consulta requeridos (por ejemplo, el endpoint de Precios requiere zip y type). Esto funciona con herramientas habilitadas para MCP como Claude Code, Cursor y Windsurf.
Manejo de errores, unidades y cuotas
- Errores HTTP: Maneja los no 2xx con reintentos solo cuando sea apropiado. No reintentes 4xx sin cambiar entradas o autenticación.
- Banderas de estado de API: Verifica el éxito en Precios y el estado en Datos de Estación para verificar una respuesta válida antes de desreferenciar campos.
- Unidades y moneda: Usa el campo de moneda (usd/USD) y price_unit (dólares_por_galón) para etiquetado y conversiones. Mantén toda la matemática en tipos numéricos, no en cadenas.
- Cacheo: Si tu UX tolera una ligera obsolescencia, cachea por claves (zip, type) para minimizar llamadas y mantenerte dentro de tu cuota de suscripción.
- Modelo de acceso: Suscripción + cuota. La experiencia de primera vez generalmente ofrece un período de prueba de 7 días o 50 solicitudes para validar tu integración. No hay Plan Gratuito. Para opciones actuales, consulta la página de listado de la API.
Referencia completa de los dos endpoints documentados
Precios
- Método: GET
- URL: https://zylalabs.com/api/3927/gasoline-prices-api/4649/prices
- Parámetros de consulta requeridos:
- zip: p. ej., 90001
- type: p. ej., regular
- Auth: Autorización: Bearer YOUR_API_KEY
Datos de Estación
- Método: GET
- URL: https://zylalabs.com/api/3927/gasoline-prices-api/24541/station-data
- Parámetros: Ninguno documentado aquí; este endpoint espera un contexto de ID de estación derivado de los datos de Precios.
- Auth: Autorización: Bearer YOUR_API_KEY
Preguntas Frecuentes
Q1: ¿Qué autenticación se requiere?
A: Incluye Autorización: Bearer YOUR_API_KEY en cada solicitud a las URL de Zyla Hub.
Q2: ¿Cuáles son los parámetros obligatorios para el endpoint de Precios?
A: zip y type son requeridos (ejemplo: zip=90001 y type=regular).
Q3: ¿Cómo obtengo detalles de la estación?
A: Usa el endpoint de Datos de Estación después de identificar un ID de estación de los datos de Precios. La llamada a Datos de Estación en sí no documenta parámetros de consulta; autentica con tu token Bearer.
Q4: ¿Cuáles son las unidades y la moneda?
A: Los precios se informan en USD; los metadatos a nivel de estación especifican price_unit como dólares_por_galón.
Q5: ¿Cómo se maneja la facturación?
A: Suscripción + cuota en Zyla API Hub (no pago por llamada). Para el primer uso, generalmente tienes un período de prueba de 7 días o 50 solicitudes. No hay Plan Gratuito; consulta la página de la API para opciones actuales.
¿Listo para implementar? Crea tu cuenta, obtén tu clave y envía la integración esta semana. Comienza aquí: Registrarse. También puedes navegar por más APIs en cualquier momento en Zyla API Hub o saltar directamente a la lista de la API de Precios de Gasolina.