Calculadora de coste de envío por zona
Convierta peso y distancia en un precio de entrega por zonas: 2,5 kg a una tarifa local de 4 en la zona 3, con multiplicador 1,55, dan 15,50 por zona, y 1,50 de manipulación deja el total en 17,00. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Peso
- 2,5
- Tarifa por unidad
- 4
- Zona
- 3
- Manejo
- 1,5
- Cargo mínimo
- 0
- Nombre de la zona
- super_regional
- Multiplicador de zona
- 1,55
- Distancia mínima
- 300
Los transportistas casi nunca publican un único importe postal para cada destino. Dividen el mapa en zonas de distancia, cotizan una tarifa local por kilogramo o libra y multiplican esa base por un factor de zona que crece con la longitud del trayecto. Esta calculadora de coste de envío por zona aplica una tabla genérica de precios por zona de distancia: toma el peso del paquete, su tarifa de zona 1 por unidad de peso y, o bien una zona de destino, o bien una distancia en kilómetros, y devuelve el multiplicador de zona, el cargo por peso, la manipulación opcional y el coste final de envío tras cualquier cargo mínimo. La moneda es la suya; la herramienta no convierte divisas ni elige un transportista concreto.
Qué es el envío por zonas y cómo se construye la tabla genérica
La tarificación por zonas es el eje de las cartas de precios de paquetería y LTL. En lugar de cotizar un precio único para cada par origen-destino, la red agrupa los destinos que caen en la misma franja de distancia desde el hub de salida y asigna a cada franja un multiplicador. Las entregas locales se quedan cerca de 1.00 veces la tarifa publicada por unidad.
Las franjas regionales y nacionales suben a medida que camiones o aviones consumen más tiempo y combustible. Las franjas transcontinentales e internacionales ocupan lo alto de la escalera porque consumen más capacidad de red.
Esta calculadora incorpora una tabla genérica de ocho zonas que sigue ese patrón sin atarle a una carta de marca: la zona 1 local va de 0 hasta 150 kilómetros con multiplicador 1.00; la zona 2 regional, de 150 hasta 300 con 1.25; la zona 3 superregional, de 300 hasta 600 con 1.55; la zona 4 nacional, de 600 hasta 1000 con 1.90; la zona 5 extendida, de 1000 hasta 1400 con 2.30; la zona 6 lejana, de 1400 hasta 1800 con 2.75; la zona 7 transcontinental, de 1800 hasta 2500 con 3.25; la zona 8 internacional, 2500 kilómetros y más, con 4.00.
Las franjas son semiabiertas, de modo que un trayecto de exactamente 150 kilómetros es regional, no local. La fórmula monetaria es entonces mecánica: multiplique el peso por la tarifa de zona 1 por unidad para obtener un cargo base, escale esa base con el multiplicador de zona, sume cualquier tasa fija de manipulación y eleve el resultado a su cargo mínimo cuando el suelo sea mayor.
Es la misma estructura que los equipos de operaciones ya guardan en hojas de cálculo, salvo que la tabla y el redondeo viven en un módulo determinista en lugar de una celda que alguien sobrescribirá el trimestre que viene.
Qué puede hacer con ella
Estimaciones de envío en el checkout
Muestre a los compradores un total de entrega por zona a partir del peso del carrito, su tarifa local por unidad y la zona de destino, antes de disponer de una cotización en vivo del transportista.
Comprobaciones de etiqueta en almacén
Tras pesar el cartón, calcule el cargo de zona y la manipulación para que el albarán coincida con la carta de tarifas que finanzas ya aprobó.
Auditorías de factura y de zona
Reejecute el peso del pedido y la distancia del trayecto sobre la tabla genérica para explicar por qué un envío cayó en una franja más cara de lo previsto.
Preguntas frecuentes
¿Cómo se calcula el coste de envío por zona?
El multiplicador procede de una tabla genérica de ocho franjas de distancia-zona (1.00 local hasta 4.00 international).
¿Debe enviar un número de zona o una distancia?
Cualquiera de las dos. zone es un entero 1–8. distance va en kilómetros y selecciona la franja.
¿Cuáles son las franjas genéricas de zona?
Kilómetros, franjas semiabiertas: 0–150 (local ×1.00), 150–300 (×1.25), 300–600 (×1.55), 600–1000 (×1.90), 1000–1400 (×2.30), 1400–1800 (×2.75), 1800–2500 (×3.25), 2500+ international (×4.00).
¿Sustituye esto a una cotización en vivo del transportista?
No. Aplica una tabla genérica de distancia-zona para que las estimaciones sigan siendo explicables.
¿Un trayecto de exactamente 150 km es local o regional?
Regional. Cada franja incluye su límite inferior pero no el superior, así que 150 km ya es la zona 2, a 1,25 veces la tarifa local, y cualquier distancia menor sigue en la zona 1, a 1,00.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/ecom/shipping-cost-by-zone \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"weight":2.5,"rate_per_unit":4,"zone":3}'const res = await fetch("https://api.kit.forhosting.com/ecom/shipping-cost-by-zone", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"weight": 2.5,
"rate_per_unit": 4,
"zone": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/ecom/shipping-cost-by-zone",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"weight": 2.5,
"rate_per_unit": 4,
"zone": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/ecom/shipping-cost-by-zone", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"weight":2.5,"rate_per_unit":4,"zone":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"weight":2.5,"rate_per_unit":4,"zone":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/ecom/shipping-cost-by-zone", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"weight": 2.5,
"rate_per_unit": 4,
"zone": 3
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "ecom.shipping_cost_by_zone",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Contrato de entrada, campos de respuesta y validación
Luego envíe zone como entero de 1 a 8, o distance como trayecto no negativo en kilómetros, o ambos. Los campos monetarios redondean a dos decimales para comparaciones de moneda estables; el peso y una distance ecoada conservan estabilidad a doce decimales. Combine la respuesta con sus propias etiquetas de unidad. Este extremo nunca convierte kilogramos a libras ni kilómetros a millas, y nunca pretende ser una cotización en vivo de UPS, FedEx, DHL o un servicio postal. Envíe un cuerpo JSON con dos números no negativos obligatorios y al menos una forma de elegir zona. weight es la masa del paquete embalado y debe ser estrictamente positiva. rate_per_unit es su precio local (zona 1) por la misma unidad de peso; se admite cero cuando solo cobra manipulación. Si llegan los dos, deben coincidir con la tabla: un trayecto de 400 kilómetros es zona 3, así que emparejarlo con zona 5 falla como invalid_input y no se factura. handling y min_charge valen cero si se omiten. Cada campo numérico puede llegar como número JSON o como cadena numérica; valores obligatorios ausentes, cadenas vacías, cifras no finitas, dinero negativo y una zona fuera de 1 a 8 fallan nombrando el campo. En caso de éxito el cuerpo repite las entradas, nombra la zona resuelta y zone_name (local hasta international), informa zone_multiplier y la franja en kilómetros como distance_min y, salvo el tramo internacional abierto, distance_max, y devuelve base_charge, zone_charge, shipping_cost y min_applied para que el checkout muestre por qué se activó un suelo. Ejemplo: weight 2.5, tarifa 4.00, zone 3, handling 1.50 produce una base de 10.00, un cargo de zona de 15.50 y un coste de envío de 17.00.
Dónde aporta valor una calculadora de coste de envío por zona
Los analistas financieros reejecutan el peso del pedido y la distancia de destino sobre la tabla para conciliar facturas que cobraron una zona más cara de la que el almacén esperaba. La validación fallida no consume saldo. Los equipos de checkout de comercio electrónico usan una calculadora de coste de envío por zona para estimar la entrega antes de llamar a la API del transportista, de modo que el comprador vea una cifra transparente por zona en lugar de una sorpresa en la puerta. Los marketplaces y los comercios con varios almacenes proyectan cada par origen-destino sobre las mismas ocho franjas y reutilizan un rate_per_unit por nivel de servicio, lo que mantiene las cartas de tarifas explicables para finanzas. El software de gestión de almacén y de mesa de embalaje puede llamar a la API después de pesar el cartón para imprimir un cargo de zona junto a la etiqueta sin montar un motor de tarifas completo. Como la implementación es parse puro de nivel A, cada llamada correcta cuesta el precio base publicado $0.002 sin tokens de modelo ni red de salida. Documente qué carta de zonas física aproximó con esta tabla genérica, guarde la unidad de peso junto a cada SKU y obtendrá matemática de envío por zona reproducible para cotizaciones, SLA y workers en el borde sin licenciar un SDK de transportista para un producto de cuatro términos.
Preguntas técnicas
¿Cuánto cuesta la calculadora de coste de envío por zona?
La herramienta del navegador es gratuita. Las peticiones API usan saldo prepago KIT a $0.002 por llamada correcta; la entrada inválida no se factura.