Calcular días hábiles
Prometer una entrega en 'cinco días hábiles' significa contar días laborables reales, no días de calendario: en cuanto un fin de semana o un festivo cae dentro del rango, restar fechas a lo bruto se desvía.
Ejecutar — gratis
Esta API para calcular días hábiles cuenta los días laborables entre dos fechas, saltando sábados y domingos y cualquier festivo que usted indique, así el número que cotiza coincide con el calendario laboral con el que realmente opera.
Por qué 'día hábil' es más difícil de lo que suena
Una versión ingenua de este cálculo simplemente salta sábados y domingos, lo cual funciona bien hasta que un festivo nacional cae un miércoles y rompe silenciosamente cada acuerdo de nivel de servicio, fecha de vencimiento de factura o estimado de envío construido encima. Equipos de finanzas calculando fechas de liquidación, plataformas de logística cotizando ventanas de entrega y sistemas de recursos humanos rastreando licencias necesitan la misma respuesta de fondo: cuántos días laborables reales hay entre dos fechas. Equivocarse no rompe nada visible, solo produce en silencio una fecha desviada por uno, dos o tres días, lo cual suele ser peor que un error evidente porque nadie lo nota hasta que un cliente se queja.
Cómo son la solicitud y la respuesta
POST /dev/business-days acepta una fecha de inicio, una fecha de fin y una lista opcional de festivos a excluir además de los fines de semana. La tarea se pone en cola de forma asíncrona y devuelve un task_id de inmediato; el conteo de días hábiles resultante, junto con el conteo de días de calendario del mismo rango, se entrega por webhook firmado o por un enlace firmado válido por 24 horas, listo para usarse directamente en una factura, un estimado de envío o un calendario de licencias.
Los festivos son la parte que usted aporta
Los fines de semana son estables y se manejan de forma automática, pero los festivos oficiales no son una lista fija: algunos son fechas fijas del calendario, otros siguen calendarios lunares o religiosos y cambian cada año, y algunos son declarados por autoridades regionales o municipales además de los nacionales. En vez de suponer un calendario de festivos que podría estar equivocado para su ubicación o su año exactos, este endpoint toma las fechas de festivos que de verdad le aplican y las excluye junto con sábados y domingos, de modo que el conteo refleje su calendario laboral real y no uno adivinado.
Cómo encaja en un sistema más grande
Como la lista de festivos es solo un parámetro, una sola integración puede atender clientes u oficinas de varias regiones pasando el conjunto de fechas que corresponde a cada una, útil tanto para plataformas de comercio electrónico globales como para sistemas de nómina y mesas de soporte multinacionales. Encaja de forma natural con automatización de programación, facturación o seguimiento de acuerdos de nivel de servicio que ya llama a otros endpoints dentro del mismo flujo. El precio es de $0.002 por solicitud, así que recalcular fechas de vencimiento en un lote grande de pedidos o facturas se mantiene económico incluso a volumen.
Acceso y estado actual
Usar el endpoint requiere saldo prepago; sin saldo, las solicitudes devuelven HTTP 402 en vez de un cálculo incompleto, y una solicitud fallida nunca se cobra una vez agotados sus reintentos. El endpoint está activo ahora, contando días laborables entre dos fechas contra la lista de festivos que usted proporciona, y las fechas enviadas para el cálculo se descartan después de la ventana de entrega, nunca se usan para entrenar modelos.
Qué puede hacer con ella
Verificación de acuerdos de entrega y nivel de servicio
Cuente los días laborables de una ventana de entrega, excluyendo fines de semana y los festivos regionales que usted aporte, para confirmar que una fecha cotizada es realmente alcanzable.
Fechas de vencimiento de facturas
Cuente los días laborables entre la fecha de una factura y su vencimiento, excluyendo fines de semana y los festivos que apliquen, para confirmar que un plazo a 30 días hábiles cae donde usted cree.
Seguimiento de licencias en recursos humanos
Cuente los días laborables reales entre el inicio y el fin de una solicitud de licencia, excluyendo fines de semana y las fechas de festivos que usted indique para la ubicación del empleado.
Planeación logística multipaís
Cuente los días laborables entre el despacho de un envío y una fecha límite de aduana en cada destino, aportando los festivos de esa región para que el total refleje el calendario local.
Preguntas frecuentes
¿Cómo funciona esta api para calcular días hábiles?
Envía una fecha de inicio, una fecha de fin y una lista opcional de festivos a POST /dev/business-days, y devuelve el conteo de días hábiles del rango por webhook o por un enlace firmado.
¿Considera festivos oficiales y no solo fines de semana?
Sí. Excluye sábados y domingos de forma automática, más cualquier festivo que usted incluya en la solicitud, así se quitan del conteo tanto los fines de semana como sus festivos.
¿Trae un calendario de festivos integrado para mi país?
No, y es a propósito. Salta los fines de semana de forma automática y usted pasa las fechas de festivos que le aplican, que también se excluyen. Así el resultado queda correcto para su ubicación y su año exactos, en lugar de suponer un calendario que podría estar equivocado.
¿Hay un nivel gratuito para esta api?
La herramienta de arriba es gratis en su navegador. La API es de pago: cada llamada se descuenta de su saldo prepago de ForHosting KIT — se recarga desde $10.00 (no caduca), se paga el precio publicado de cada solicitud, y una llamada sin saldo devuelve HTTP 402. Sin suscripción, sin tokens, y una tarea fallida no se cobra.
¿Cuánto cuesta la api de días hábiles?
Cuesta un plano $0.002 por solicitud sin importar el rango de fechas o la cantidad de festivos que aporte.
¿Devuelve también el conteo de días de calendario?
Sí. Junto con el conteo de días laborables devuelve el total de días de calendario entre las dos fechas, para que pueda comparar ambos directamente.
¿Está activa la api de días hábiles ahora mismo?
Sí, está activa y aceptando solicitudes, contando los días laborables entre cualquier par de fechas que envíe.
¿Puedo procesar cálculos de días hábiles para muchos pedidos a la vez?
Envíe una solicitud por cálculo; cada una se procesa y se cobra de forma independiente, lo cual funciona bien para procesar en lote listas grandes de pedidos o facturas.
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/dev/business-days \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"start":"2026-07-01","end":"2026-07-31"}'const res = await fetch("https://api.kit.forhosting.com/dev/business-days", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"start": "2026-07-01",
"end": "2026-07-31"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/business-days",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"start": "2026-07-01",
"end": "2026-07-31"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/business-days", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"start":"2026-07-01","end":"2026-07-31"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"start":"2026-07-01","end":"2026-07-31"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/business-days", 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
{
"start": "2026-07-01",
"end": "2026-07-31"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.business_days",
"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. |