Cotizaciones
El endpoint de cotizaciones te permite saber el precio de un envio antes de crearlo. Los precios se calculan con reglas configurables por organizacion, asi que siempre obtendras tu tarifa real.
Cotizar envio
POST /api/v1/quotes
Scope requerido: orders:read
curl
curl -X POST https://app.fletea.mx/api/v1/quotes \
-H "Authorization: Bearer flt_tu_api_key" \
-H "Content-Type: application/json" \
-d '{
"originState": "Ciudad de Mexico",
"destinationState": "Nuevo Leon",
"weightKg": 2.5,
"lengthCm": 30,
"widthCm": 20,
"heightCm": 15,
"shipmentType": "standard",
"originPostalCode": "06600",
"destinationPostalCode": "64460"
}'
TypeScript
const response = await fetch('https://app.fletea.mx/api/v1/quotes', {
method: 'POST',
headers: {
'Authorization': 'Bearer flt_tu_api_key',
'Content-Type': 'application/json',
},
body: JSON.stringify({
originState: 'Ciudad de Mexico',
destinationState: 'Nuevo Leon',
weightKg: 2.5,
lengthCm: 30,
widthCm: 20,
heightCm: 15,
shipmentType: 'standard',
originPostalCode: '06600',
destinationPostalCode: '64460',
}),
});
const quote = await response.json();
console.log(`Precio: $${quote.estimatedPrice} MXN — Zona ${quote.zone}`);
Campos del request
| Campo | Tipo | Requerido | Descripcion |
|---|---|---|---|
originState | string | Si | Estado de origen (nombre completo) |
destinationState | string | Si | Estado de destino (nombre completo) |
weightKg | number | Si | Peso en kg (0.1 - 70) |
lengthCm | number | Si | Largo en cm (1 - 300) |
widthCm | number | Si | Ancho en cm (1 - 300) |
heightCm | number | Si | Alto en cm (1 - 300) |
shipmentType | string | No | standard (default), express, same_day |
originPostalCode | string | No | CP de origen (para validar cobertura) |
destinationPostalCode | string | No | CP de destino (para validar cobertura) |
Respuesta exitosa (200)
{
"estimatedPrice": 185,
"zone": 4,
"zoneLabel": "Nacional",
"effectiveWeight": 2.5,
"weightType": "real",
"shipmentType": "standard",
"disclaimer": "Precio estimado. El costo final puede variar segun el proveedor de envio.",
"coverage": true,
"coverageDias": 3,
"coverageSource": "db",
"deliveryDate": "2026-03-06"
}
Campos de la respuesta
| Campo | Tipo | Descripcion |
|---|---|---|
estimatedPrice | number | Precio estimado en MXN (entero, redondeado) |
zone | number | Zona de envio (1-5) |
zoneLabel | string | Nombre legible de la zona |
effectiveWeight | number | Peso usado para el calculo (real o volumetrico) |
weightType | string | real o volumetric |
shipmentType | string | Tipo de envio aplicado |
disclaimer | string | Nota sobre la estimacion |
coverage | boolean/null | Cobertura confirmada (true, false, o null si no se verifico) |
coverageDias | number | Dias estimados para primera visita de entrega |
coverageSource | string | Fuente de verificacion de cobertura |
deliveryDate | string | Fecha comprometida de entrega (cuando disponible) |
Si proporcionas los codigos postales de origen y destino, la API valida cobertura automaticamente y puede devolver la fecha comprometida de entrega.
Zonas de envio
Fletea calcula la zona en base a la distancia entre los estados de origen y destino:
| Zona | Nombre | Ejemplo (desde CDMX) |
|---|---|---|
| 1 | CDMX / EdoMex | Ciudad de Mexico, Estado de Mexico |
| 2 | Regional cercano | Hidalgo, Morelos, Tlaxcala, Queretaro |
| 3 | Nacional cercano | Guanajuato, Guerrero, Puebla |
| 4 | Nacional | Nuevo Leon, Coahuila, Michoacan, Jalisco |
| 5 | Nacional extendido | Baja California, Yucatan, Chiapas, etc. |
Para origenes fuera del area CDMX, se usa un algoritmo de proximidad por regiones. Envios dentro del mismo estado son siempre Zona 1.
Peso volumetrico
El peso volumetrico se calcula con la formula estandar:
Peso volumetrico = (largo x ancho x alto) / 5000
Se cobra el mayor entre el peso real y el volumetrico. Si el peso volumetrico es mayor, la respuesta indicara weightType: "volumetric".
Ejemplo:
- Paquete: 60cm x 40cm x 30cm, peso real 1.5 kg
- Peso volumetrico: (60 x 40 x 30) / 5000 = 14.4 kg
- Se cobra como 14.4 kg (volumetrico)
Precios por organizacion
Si tu organizacion tiene reglas de precio personalizadas (configuradas por el equipo de Fletea), las cotizaciones usaran automaticamente tus tarifas especiales. No necesitas hacer nada diferente en la API.
Los precios mostrados son estimaciones. El costo final puede variar segun condiciones del proveedor logistico. El precio confirmado se registra al momento de crear la orden.