Generador de números de rifa con ceros y orden aleatorio
Cree una lista lista para usar de números de boletos de rifa a partir de un valor inicial y una cantidad.
Ejecutar — gratis
Cada resultado se completa con ceros hasta alcanzar una anchura mínima uniforme; por ejemplo, 98 se convierte en 000098 con una anchura de seis. Deje vacía la semilla para conservar el orden consecutivo o indique una para obtener siempre la misma mezcla. El generador incluye cada número una sola vez y facilita la preparación de diseños, listados de asistentes, registros del sorteo y datos para impresión variable.
Cree exactamente el intervalo de boletos que necesita
Indique el primer identificador numérico que debe figurar en los boletos y la cantidad necesaria para el lote. El generador incluye el valor inicial y avanza de uno en uno hasta completar la cantidad solicitada. Por ejemplo, un inicio en 98 y una cantidad de cinco representan el intervalo numérico del 98 al 102. La anchura solo modifica la presentación, no el cálculo: con seis posiciones, esos valores se muestran como 000098, 000099, 000100, 000101 y 000102. Si un valor ya tiene más cifras que la anchura elegida, se conserva entero y nunca se recorta. Así puede continuar una tirada existente, reservar un bloque para una persona vendedora o producir reposiciones sin volver a empezar desde uno. Antes de exportar, contraste el inicio y la cantidad con la asignación anterior: la herramienta no consulta ni recuerda otros lotes y genera únicamente el intervalo descrito en la solicitud actual.
Elija una secuencia o una mezcla reproducible
No introduzca una semilla si desea una lista ascendente normal. El orden consecutivo resulta práctico para pliegos de boletos, combinaciones de correspondencia, talonarios perforados y controles contables, ya que permite revisar fácilmente los elementos vecinos. Si no quiere que el reparto revele números contiguos, escriba cualquier semilla no vacía. La herramienta construye primero todo el intervalo y después aplica una mezcla determinista. Todos los números siguen apareciendo exactamente una vez; solo cambia su posición. La misma combinación de inicio, cantidad, anchura y semilla siempre devuelve la misma lista ordenada, lo que permite regenerar un archivo perdido o verificar dos exportaciones. Guarde la semilla junto al diseño o la hoja de asignación si necesita repetir el orden. Esta mezcla sirve para distribuir identificadores, pero no constituye un sistema criptográfico de sorteo y no debe utilizarse para escoger a la persona ganadora ni para obtener aleatoriedad de seguridad.
Conserve los ceros en flujos de impresión y datos
Los ceros iniciales alinean los identificadores y evitan longitudes visuales dispares dentro del lote. Elija una anchura suficiente para el número más alto previsto, incluidos futuros lotes si reutilizará la plantilla. Con cuatro posiciones, uno se muestra como 0001 y novecientos como 0900, mientras que la secuencia subyacente continúa siendo numérica. La salida usa cadenas de texto porque las hojas de cálculo, las aplicaciones de diseño y algunas importaciones de bases de datos suelen eliminar los ceros de los campos numéricos. Mantenga los valores como texto al pasarlos a una columna CSV, un programa de impresión variable, una plantilla de etiquetas o un sistema de asistentes. La respuesta también informa del inicio, la cantidad, la anchura y si se aplicó la mezcla. Se admiten hasta diez mil identificadores; el inicio debe ser un entero seguro no negativo y el último valor debe permanecer dentro del intervalo seguro, evitando redondeos silenciosos y resultados ambiguos.
Qué puede hacer con ella
Prepare diseños con datos variables
Genere una columna de identificadores con la misma anchura para una combinación de impresión que continúe justo después del lote anterior.
Asigne paquetes en orden mezclado
Use una semilla registrada para repartir un intervalo completo en un orden no consecutivo reproducible, sin omisiones ni duplicados.
Concilie las ventas del evento
Cree la lista prevista para una persona vendedora o una mesa y compárela con los boletos entregados, devueltos y premiados.
Preguntas frecuentes
¿Cuánto cuesta?
Puede usar el generador gratis en el navegador. Cada solicitud mediante la API cuesta $0.002.
¿Se incluye el número inicial?
Sí. El primer resultado es el valor inicial y la secuencia avanza hasta completar la cantidad solicitada.
¿Los ceros cambian el intervalo numérico?
No. La anchura solo añade ceros al principio para la presentación; nunca recorta valores ni altera los números incluidos.
¿La misma semilla reproduce el mismo orden?
Sí. Si inicio, cantidad, anchura y semilla coinciden, siempre obtendrá la misma lista mezclada.
¿La mezcla puede omitir o repetir números?
No. Solo cambia las posiciones después de crear el intervalo consecutivo, de modo que cada número aparece una vez.
¿Sirve para elegir al ganador de la rifa?
No. La mezcla permite reproducir una distribución, pero no ofrece aleatoriedad criptográfica. Utilice un procedimiento de sorteo auditado por separado.
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/game/raffle-ticket-numbers \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"start":98,"count":5}'const res = await fetch("https://api.kit.forhosting.com/game/raffle-ticket-numbers", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"start": 98,
"count": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/game/raffle-ticket-numbers",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"start": 98,
"count": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/game/raffle-ticket-numbers", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"start":98,"count":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"start":98,"count":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/game/raffle-ticket-numbers", 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": 98,
"count": 5
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "game.raffle_ticket_numbers",
"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
max_items | 10000 |
max_width | 30 |
max_seed_chars | 200 |
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. |