Aviso de vuelta a stock
La ventana entre 'agotado' y 'disponible' en un producto popular puede abrirse y cerrarse en cuestión de minutos, y actualizar la página a mano es una batalla perdida. Esta api para monitorear stock revisa una página de producto al intervalo que defina y reporta el instante exacto en que cambia la disponibilidad, para que actúe mientras la ventana sigue abierta.
Quién pierde el sueño por el stock
Revendedores esperando el lanzamiento de un tenis limitado, coleccionistas tras una pieza descontinuada, padres buscando un juguete agotado en temporada navideña y compradores B2B esperando un componente pendiente de reabastecimiento comparten la misma frustración: el vendedor rara vez anuncia una reposición, simplemente aparece, brevemente, y desaparece en el carrito de alguien más. Una verificación programática elimina la necesidad de actualizar una pestaña cada pocos minutos.
Qué revisa exactamente el endpoint
Una llamada a POST /web/monitor-stock recibe la URL del producto y lee la señal de disponibilidad de la página, ya sea una etiqueta de 'en stock', un botón de agregar al carrito habilitado o un campo de cantidad, lo que la página exponga, y la compara contra el estado registrado en la comprobación anterior. Solo un cambio genuino de disponibilidad genera un resultado, así que no recibe un aviso cada vez que se revisa la página sin que nada haya cambiado.
Un problema tan viejo como la escasez
Las listas de espera y los botones de 'avísame' existían mucho antes que las APIs, pero dependen por completo de que el vendedor decida notificarle, según su propio calendario, si es que llega a hacerlo. Vigilar la página directamente devuelve el control del tiempo a sus manos en lugar de al calendario de marketing de una tienda, algo que importa justo cuando la demanda supera a la oferta y cada minuto cuenta.
Pensado para disparar el siguiente paso automáticamente
Cada solicitud devuelve un task_id de inmediato, y el resultado real se entrega después mediante un webhook firmado, la opción práctica si una reposición debe activar un flujo de compra automático o una alerta instantánea, o un enlace firmado válido por 24 horas para un uso más ligero y manual. Usted decide con qué frecuencia verificar: agresiva durante un lanzamiento de alta demanda, más relajada para un pendiente de reabastecimiento lento.
Precio transparente y por uso
El costo es de $0.040 por solicitud más $0.001 por comprobación, sin recargos ocultos ni plan gratuito ni período de prueba: el acceso requiere saldo prepago, lo que mantiene las verificaciones rápidas y el servicio libre de abuso. Una verificación fallida se reintenta automáticamente hasta tres veces y nunca se cobra si finalmente no se completa.
Qué puede hacer con ella
Lanzamientos de producto limitado
Vigile un tenis, una consola o un coleccionable cada minuto durante la ventana de lanzamiento y reciba un aviso en el segundo en que pasa a disponible.
Componentes pendientes de reabastecimiento
Vigile la página de un proveedor para detectar la reposición y que compras pueda hacer el pedido antes de que el siguiente lote se agote de nuevo.
Alertas de regalos de temporada
Monitoree un juguete o gadget agotado durante la temporada navideña en lugar de actualizar manualmente la página de una tienda.
Inteligencia de inventario frente a la competencia
Siga el estado de stock de un competidor para ajustar el momento de su propio listado o precio según sus faltantes.
Preguntas frecuentes
¿Qué tan rápido sabré cuando un producto vuelva a tener stock?
Tan rápido como lo permita su propio intervalo de verificación; como monitor-stock funciona bajo demanda, revisar cada uno o dos minutos durante un lanzamiento captura la reposición dentro de esa ventana.
¿El monitoreo de stock tiene una versión gratuita?
No hay capa gratuita: las capas gratis se abusan y ralentizan a todos. El acceso funciona con un saldo prepago de ForHosting KIT: se recarga desde $10.00 (no caduca) y cada solicitud se cobra a su precio publicado, así que una llamada sin saldo devuelve HTTP 402. Sin suscripción, sin tokens ni créditos inventados, y una tarea fallida no se cobra.
¿Cómo sabe la API que un producto está disponible?
Lee la señal de disponibilidad que expone la propia página, como una etiqueta de en stock, un botón de agregar al carrito funcional o una cantidad visible, y la compara contra el estado registrado previamente.
¿Puedo recibir un aviso instantáneo en lugar de consultar el resultado?
Sí, configure un webhook firmado y se dispara en cuanto una comprobación detecta un cambio de disponibilidad; también hay disponible un enlace firmado válido por 24 horas.
¿Funciona con cualquier tienda en línea o solo con las grandes?
Funciona con cualquier página de producto públicamente accesible que exponga una señal de disponibilidad, no solo con grandes tiendas, porque la verificación lee la página directamente sin depender de la API de una plataforma en particular.
¿Puedo monitorear stock de muchos productos a la vez?
Sí, cada URL de producto es una tarea asíncrona independiente, así que el monitoreo masivo de toda una lista de seguimiento es simplemente disparar monitor-stock para cada una desde su propio programador.
¿Qué pasa si una verificación falla, por ejemplo por timeout de la página?
La tarea se reintenta automáticamente hasta tres veces; si aun así falla, recibe un error claro en lugar de una lectura de stock incorrecta, y el intento fallido no se cobra.
¿Se conservan después mis datos de producto monitoreados?
No, los resultados se eliminan tras el período de retención y nunca se usan para entrenar modelos; existen solo para entregar su comparación de stock y su webhook.
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, y pronto desde nuestra app, el email y Telegram.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/web/monitor-stock \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/web/monitor-stock", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/monitor-stock",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/monitor-stock", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/monitor-stock", 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
{
"input": "…"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.monitor_stock",
"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.
Límites
timeout_sec | 30 |
max_crawl_pages | 25 |
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. |
422 | task_failed | La tarea falló tras 3 reintentos. No se cobra. |