Ejemplo: una Mini App de drop con reloj para un canal VIP de Telegram
Un canal que ya calienta el lanzamiento de un drop y luego muere en Direct. La Mini App abre a una hora, bloquea el stock, cobra la factura y cierra. Cómo construiría ese temporizador sin una tienda completa.
Esta es la Mini App que uso cuando una marca ya tiene un canal de Telegram que llena una sala, y luego pierde la venta en Direct: «¿queda M?», un número de tarjeta a las 00:03, dos personas con la misma última sudadera prometida. Instagram mató la expectación. Telegram puede guardarla si el escaparate abre a la hora en punto, no un catálogo abierto toda la semana.
Un bot tienda con carrito y Nova Poshta ya lo escribí. Un drop no es esa tienda con un CSS de cuenta atrás. La lista de SKU es minúscula. El pico es el producto. Si copia la tienda entera, se pasará la semana en formularios de envío y aun así venderá la M dos veces en el segundo cero.
1. El recorrido del usuario en este ejemplo
El canal es la lista de espera. La Mini App es una puerta cerrada hasta `starts_at`, luego vende hasta que `qty` sea cero.
- Días antes: el canal publica fotos, talla, precio, la hora. Sin «escríbanos». Un botón abre la Mini App en una sala de espera: cuenta atrás, nada que comprar.
- A `starts_at` el bot vuelve a publicar el mismo deeplink. La sala de espera pasa a una cuadrícula de tres SKU. MainButton = pagar. La talla es un tap, no un mensaje.
- El checkout retiene la unidad 90 segundos mientras la factura está abierta. El webhook «pagado» confirma. Un hold abandonado vuelve al stock. Sin pagar al cierre = se acabó, no «escriba al manager».
- Después: una línea del bot en el canal - «M agotada» - y una confirmación privada al comprador con los campos de empaque que de verdad necesita. No un volcado de CRM.
2. La hora es el inventario
Un drop muere de dos maneras: vender una unidad dos veces, o abrir tarde cuando la expectación ya está en Direct. Ambos son problemas de base, no de diseño.
- Hora del servidor, no el reloj del teléfono. `starts_at` vive en Postgres. La Mini App pregunta `/drop/state` cada pocos segundos cerca de la apertura. No confíe en `Date.now()` en el webview.
- El hold es una fila con `expires_at`, única en `(sku, size)` mientras está activa. El checkout crea el hold en una transacción. El webhook pasa hold → pedido, o el job de expiry lo borra. La misma anti-doble-venta que las entradas de la serie de bots de pago.
- Un drop = un `starts_at`. No haga «soft launch» para amigos a las 23:50. La sensación VIP es que todos golpean el mismo segundo. Una preview callada es otro SKU otro día.
3. Qué construiría primero (y qué no)
Un primer drop son tres SKU, dos tallas, un raíl de pago, un DM de empaque. No es un OS de moda.
- Construir primero: sala de espera, `starts_at` del servidor, hold + webhook, estado agotado, línea del bot en el canal, HMAC en cada compra, un formulario de dirección tras el pago.
- Pagar con el raíl que esta audiencia ya usa. En Ucrania suele ser Mono o LiqPay en una página hospedada desde la Mini App. Stars solo si el drop es digital. Una sudadera no es un bien digital.
- No primero: sorteo de waitlist, bots que compran solos, un portal de devoluciones entero, Apple Pay en una superficie que no lo hospeda, «stickers de stories», una animación de cola que esconde una API de 4 segundos. Si el hold está mal, la animación miente.
4. Para quién es este ejemplo - y quién debería simplemente usar el bot de tienda
Una Mini App de drop es un arma para la escasez. Una Mini App de tienda es un arma para el surtido. Una tarea por lanzamiento.
- El drop: merch, una tirada, una cohorte de curso con 30 asientos, una cata con 12 entradas. El canal sí puede juntar gente a una hora.
- Si no, el artículo de tienda: cosmética que reponía cada semana, 40 SKU, Nova Poshta como hábito. Un reloj en ese catálogo es teatro.
Un drop es una marca de tiempo con un hold
Construiría esto para una marca que ya publica en un canal y ahora pega una tarjeta en Direct cuando explotan los comentarios. Sala de espera Next.js, SKU en Postgres con `starts_at` y `qty`, hold de 90 segundos, webhook Mono / LiqPay / Stripe, un bot que solo anuncia apertura y agotado. Si esa es su noche del viernes - escriba por el formulario. Acotamos un drop que cobre de verdad en el segundo cero este mes, no una tienda con sticker de cuenta atrás.
¿Hay que construirlo, no solo leerlo?
Desarrollo de Telegram Mini App: Next.js, pagos, bots. Contratista directa.
¿Hablamos de tu proyecto?
Soy ingeniera web senior, especializada en React y Next.js - disponible para proyectos freelance en cualquier país.
Ubicación
Kyiv, Ucrania
Upwork
Ver perfilTelegram
ContáctameViber
Contáctame