Saltar al contenido principal

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

CampoTipoRequeridoDescripcion
originStatestringSiEstado de origen (nombre completo)
destinationStatestringSiEstado de destino (nombre completo)
weightKgnumberSiPeso en kg (0.1 - 70)
lengthCmnumberSiLargo en cm (1 - 300)
widthCmnumberSiAncho en cm (1 - 300)
heightCmnumberSiAlto en cm (1 - 300)
shipmentTypestringNostandard (default), express, same_day
originPostalCodestringNoCP de origen (para validar cobertura)
destinationPostalCodestringNoCP 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

CampoTipoDescripcion
estimatedPricenumberPrecio estimado en MXN (entero, redondeado)
zonenumberZona de envio (1-5)
zoneLabelstringNombre legible de la zona
effectiveWeightnumberPeso usado para el calculo (real o volumetrico)
weightTypestringreal o volumetric
shipmentTypestringTipo de envio aplicado
disclaimerstringNota sobre la estimacion
coverageboolean/nullCobertura confirmada (true, false, o null si no se verifico)
coverageDiasnumberDias estimados para primera visita de entrega
coverageSourcestringFuente de verificacion de cobertura
deliveryDatestringFecha comprometida de entrega (cuando disponible)
💡
Cobertura y fecha de entrega

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:

ZonaNombreEjemplo (desde CDMX)
1CDMX / EdoMexCiudad de Mexico, Estado de Mexico
2Regional cercanoHidalgo, Morelos, Tlaxcala, Queretaro
3Nacional cercanoGuanajuato, Guerrero, Puebla
4NacionalNuevo Leon, Coahuila, Michoacan, Jalisco
5Nacional extendidoBaja California, Yucatan, Chiapas, etc.
🚀
Envios locales

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.

⚠️
Precios estimados

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.