Dígito de control UIC de vagón
Un vagón cuyas once primeras cifras son 21812471217 lleva el dígito de control 3, de modo que su número UIC completo es 218124712173. Si pega un número entero de doce cifras, verá al instante si el último cuadra. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Número
- 21812471217
- Modo de cálculo
- Compute
- Entrada
- 21812471217
- Dígito de control
- 3
- Número de vagón
- 218124712173
Operadores ferroviarios, propietarios de vagones y sistemas logísticos identifican el material de carga y de viajeros con un número europeo de vehículo UIC de doce dígitos. Once de esos dígitos codifican tipo, país e identidad de serie; el duodécimo es un dígito de autocontrol derivado de una ponderación fija alterna dos-uno, de modo que un error de tecleo o una transposición falla con mucha más frecuencia que parecer otro vehículo válido. Esta capacidad calcula ese dígito de control a partir de una carga útil de once dígitos, o valida un número completo de doce e indica si el dígito final almacenado coincide con el valor recalculado.
Cómo se calcula el dígito de control UIC
Las reglas UIC y de numeración europea de vehículos definen un dígito de control determinista sobre los once primeros dígitos del número de vehículo de doce. Numere esas posiciones de carga útil de izquierda a derecha empezando en el índice cero: cada dígito se multiplica por peso dos cuando el índice es par y por peso uno cuando es impar; a continuación, todo producto mayor que nueve se pliega sumando sus dígitos decimales (el mismo pliegue al estilo Luhn de esquemas mod-10 afines). Se suman los once valores plegados.
El dígito de control es diez menos esa suma módulo diez, tomado de nuevo módulo diez, de forma que una suma ya divisible por diez produce dígito de control cero. Al añadir ese único dígito se obtiene el número completo de doce que aparece en el costado del vagón y en las bases de flota, a menudo impreso con espacios de agrupación y un guion antes del dígito de control.
La validación es la operación inversa: se recalcula el dígito esperado a partir de los once primeros caracteres y se compara con el duodécimo. *
Cómo calcular un dígito de control o validar un número completo
Envíe un campo number con los dígitos de la carga útil o del vehículo completo. El modo validate espera exactamente doce dígitos tras la limpieza. Esa forma facilita mostrar «usted escribió X, se esperaba Y» en una interfaz de flota sin una segunda petición.
Cadenas vacías, number ausente, valores de mode inválidos y longitudes incorrectas (por ejemplo diez o trece dígitos) fallan antes de cualquier suma ponderada y no se facturan. Prefiera compute al crear o completar un bloque de serie nuevo; prefiera validate cuando reciba un número completo de un escáner, un CSV o un formulario de cambio de keeper y necesite una puerta booleana antes de guardar el activo.
Dónde encajan los dígitos de control UIC en flujos ferroviarios reales
Los propietarios y keepers de material rodante asignan series dentro de una clase y un código de país; antes de actualizar pintura, placas y registros TAF/TSI deben añadir el dígito de control correcto para que socios y sistemas de vía acepten la identidad en la primera lectura. Los sistemas de taller y mantenimiento importan CSV de keepers con números de doce dígitos y deben rechazar filas cuyo dígito de control ya no coincida, lo que detecta tanto ediciones humanas como errores de uno en generadores previos.
Las aplicaciones de terminal e intermodal que permiten al personal teclear un número de vagón pueden validar al perder el foco y bloquear movimientos hasta que valid sea true, reduciendo intercambios EDI fallidos y desajustes en patio. No trate un dígito de control válido como prueba de asignación, derechos de keeper ni corrección de código de tipo: solo demuestra que la cadena de doce dígitos es aritméticamente correcta bajo la regla UIC de pesos alternos dos-uno, el mismo criterio de honestidad que aplica a cualquier suma de control industrial.
Qué puede hacer con ella
Auditar archivos de keeper e intercambio RIV
Valide por lotes cada número de vehículo de doce dígitos en un CSV de socio o una exportación EDI y ponga en cuarentena las filas cuyo dígito de control ya no coincida con el valor esperado recalculado.
Preguntas frecuentes
¿Qué es el dígito de control de un número de vagón UIC?
Es el duodécimo dígito de un número europeo de vehículo ferroviario, calculado a partir de los once primeros con pesos alternos 2 y 1 y un pliegue de suma de dígitos al estilo Luhn, de modo que un error de un solo dígito falla con mucha más frecuencia que parecer otro vehículo.
¿Qué ocurre con letras, longitudes incorrectas o separadores inválidos?
Las tareas de validación fallidas no se facturan.
¿Es gratuita la herramienta de dígito de control UIC de vagón?
La herramienta del navegador es gratuita y se ejecuta en local.
¿Cómo se calcula el dígito de control de un vagón UIC?
Desde la izquierda, las once cifras se multiplican por 2, 1, 2, 1 y así sucesivamente. Si un producto pasa de 9 se sustituye por la suma de sus dos cifras, se suma todo y el dígito es lo que falta para llegar a la siguiente decena (0 si ya es una).
¿Un dígito de control válido prueba que el vagón está registrado?
No. Solo demuestra que las doce cifras son coherentes entre sí. No dice si el número fue asignado, quién es el titular del vagón ni si el código de tipo es correcto.
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/enc/uic-wagon \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"number":"21812471217"}'const res = await fetch("https://api.kit.forhosting.com/enc/uic-wagon", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"number": "21812471217"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/uic-wagon",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"number": "21812471217"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/uic-wagon", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"number":"21812471217"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"number":"21812471217"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/uic-wagon", 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
{
"number": "21812471217"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.uic_wagon",
"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
Espacios, guiones y puntos del formato impreso habitual se eliminan antes de la aritmética; letras y otros no dígitos se rechazan con un error invalid_input claro. Ejecútela gratis en el navegador o llame a la API de KIT al precio publicado; ambos caminos usan el mismo algoritmo entero puro, sin red y sin registros de vehículos almacenados.
Cómo se calcula el dígito de control UIC
Como el algoritmo es aritmética entera pura con pesos fijos, la misma carga útil produce siempre el mismo dígito de control en cada plataforma — navegador, Worker o arnés de pruebas sin red —, por eso la capacidad se entrega como motor parse de tier A y no como llamada a un modelo.
Cómo calcular un dígito de control o validar un número completo
Espacios, guiones y puntos opcionales se eliminan para que los formularios acepten el formato de visualización habitual con grupos y un guion final antes del dígito de control; letras y otros símbolos se rechazan como entrada no numérica con invalid_input, de modo que un formulario nunca acepte un valor limpiado en silencio que siga siendo incorrecto. El modo compute es el predeterminado: proporcione exactamente once dígitos de carga útil tras la limpieza; el motor devuelve check_digit como cadena de un carácter, vehicle_number como esos once dígitos más el de control, y length doce. La respuesta indica valid true cuando el dígito final coincide con el expected_check_digit recalculado, e incluye siempre payload (los once primeros dígitos), check_digit tal como se envió, expected_check_digit y el vehicle_number canónico formado con payload más el dígito esperado. Como la ruta es parse puro, sin reloj, fuente aleatoria ni red, la misma entrada produce siempre el mismo JSON en la herramienta gratuita del navegador y en la API. A $0.002 por solicitud correcta puede proteger importaciones masivas de flota, archivos de intercambio RIV y auditorías EDI de socios sin negociar un nivel personalizado.
Dónde encajan los dígitos de control UIC en flujos ferroviarios reales
Las pruebas de integración y los trabajos de calidad de datos recalculan expected_check_digit en cada columna de vehículo de una exportación y ponen en cuarentena las discrepancias antes de que lleguen a registros nacionales o internacionales. Las impresoras de etiquetas que componen plantillas a partir de cargas útiles de once dígitos llaman al modo compute una vez por vehículo y colocan vehicle_number bajo el gráfico de marcado. En todo flujo el contrato es el mismo: dígitos tras la limpieza opcional de separadores, once para compute o doce para validate, JSON estructurado comprobable con goldens, comportamiento idéntico gratis en el navegador o con saldo prepago de KIT, y fallo honesto cuando la entrada no es una cadena UIC bien formada.
Casos de integración
Completar una carga útil de once dígitos para placas y pintura
Tome los dígitos de tipo, país y serie (once en total), llame al modo compute e imprima vehicle_number en el vagón para que el marcado lleve un dígito de control UIC válido para el socio.
Validar números de vagón escaneados o tecleados al entrar
Cuando un escáner de mano o un formulario envíe doce dígitos, llame al modo validate y bloquee actualizaciones de flota o patio si valid es false, mostrando expected_check_digit para corregir un error de tecleo.
Preguntas técnicas
¿Cómo calculo un dígito de control UIC con esta API?
Haga POST con number de exactamente once dígitos (espacios, guiones y puntos opcionales) y mode compute (u omita mode). La respuesta incluye check_digit y vehicle_number (el código completo de doce dígitos).
¿Cómo valido un número de vehículo completo de doce dígitos?
Haga POST con la cadena de doce dígitos y mode validate. La respuesta incluye valid, check_digit, expected_check_digit, payload y el vehicle_number canónico.