S10 (estándar UPU)
La norma técnica u estándar S10 UPU (Unión Postal Univesal) define un sistema para asignar identificadores de 13 caracteres a objetos postales con el propósito de seguimiento y localización durante el envío.
Emisión y gestión de identificadores S10
[editar]Con el aumento en la liberalización y la posibilidad de múltiples servicios postales operando en el mismo país, el uso de códigos de país para designar el servicio postal es un problema. Para solucionar esto, cada país tiene un servicio postal designado que controla todos los identificadores S10 de aquel país; cualquier competidor por los servicios postales tendrá que cooperar con el dueño designado. La organización asignada por el país miembro de UPU dirigirá la creación y uso de identificadores S10, de entre todos los operadores bajo la autoridad de aquel país miembro de UPU, de tal manera que asegure que no ningún identificador S10 es reutilizado dentro de un periodo de 12 meses de calendario. La UPU recomienda un período de 24 meses calendario o más. [1]
Formato
[editar]Los identificadores constan de un código indicador del servicio de dos letras, un número de serie de ocho dígitos (en el rango de 00000000 a 99999999), un único dígito de control y un código de país ISO de dos letras que identifica a la administración postal del país emisor[1]
Formato S10 (S10 format) | |||
---|---|---|---|
1 | 2 | 3 | 4 |
AA | 00000000 | 9 | BB |
|
Código indicador del servicio (Service indicator code)
[editar]Código | Interpretación[2] |
---|---|
AV-AZ | Doméstico, bilateral, sólo para uso multilateral, identificando elementos con seguimiento RFIDde comercio electrónico |
BA-BZ | Para doméstico, bilateral, sólo para uso multilateral |
CA-CZ | Paquete de correo; el uso de CZ requiere acuerdo bilateral. No es obligatorio utilizar CV para paquetes asegurados pero si el indicador de servicio CV se usa, entonces se recomienda usarlo sólo para paquetes asegurados. |
DA-DZ | Para doméstico, bilateral, sólo para uso multilateral |
EA-EZ | EMS; el uso de EX@–EZ requiere acuerdo bilateral |
GA | Para doméstico, bilateral, sólo para uso multilateral |
GD | Para doméstico, bilateral, sólo para uso multilateral |
HA-HZ | Paquetes de comercio electrónico; el uso de HX–HY requiere acuerdo multilateral; el uso de HZ requiere acuerdo bilateral |
JA-JZ | Reservado; no puede ser asignado como valores de indicador de servicio válidos |
KA-KZ | Reservado; no puede ser asignado como valores de indicador de servicio válidos |
LA-LZ | Carta urgente de correo; el uso de LZ requiere acuerdo bilateral |
MA-MZ | Correo de letra: bolsas M |
NA-NZ | Para doméstico, bilateral, sólo para uso multilateral |
PA-PZ | Para doméstico, bilateral, sólo para uso multilateral |
QA-QM | Carta de correo: IBRS (Servicio de Respuesta Empresarial Internacional) |
RA-RZ | Carta de correo: certificada, pero sin entrega asegurada. El uso de RZ requiere acuerdo bilateral. |
SA-SZ | Reservado; no puede ser asignado como valores de indicador de servicio válidos |
TA-TZ | Reservado; no puede ser asignado como valores de indicador de servicio válidos |
UA-UZ | Carta de correo: otros elementos que no sean LA–LZ (urgente), MA–MZ (bolsas M), QA–QM (IBRS), RA–RZ (certificados), VA–VZ (asegurados), sujetos a control de aduanas, es decir, portando un CN 22 o CN 23 |
VA-VZ | Carta de correo asegurada; el uso de VZ requiere acuerdo bilateral |
WA-WZ | Reservado; no puede ser asignado como valores de indicador de servicio válidos |
ZA-ZZ | Para doméstico, bilateral, sólo para uso multilateral |
Cálculo del dígito de control (Check-digit calculation)
[editar]1) Ignore el código indicador de servicio y el código de país (ambos letras)
2) Asigne los pesos 8, 6, 4, 2, 3, 5, 9, 7 a los 8 dígitos, de izquierda a derecha
3) Calcular "S", que es la suma de cada dígito multiplicado por su peso.
Por ejemplo, para el número 47312482:
4) Calcula el dígito de control, "C", según su definición:
C = 11 - (S mod 11) Si C = 10, cambia a C = 0 Si C = 11, cambia a C = 5
Para el ejemplo:
47312482 C = 11 - (200 mod 11) = 11 - 2 = 9
Códigos para el cálculo en lenguaje de programación
[editar]Para Python 3.6 o posterior:
def get_check_digit(num: int) -> int: """Get S10 check digit.""" weights = [8, 6, 4, 2, 3, 5, 9, 7] sum = 0 for i, digit in enumerate(f"{num:08}"): sum += weights[i] * int(digit) sum = 11 - (sum % 11) if sum == 10: sum = 0 elif sum == 11: sum = 5 return sum
Código JavaScript para el cálculo del dígito de control
[editar]function getCheckDigit(num) { const weights = [8, 6, 4, 2, 3, 5, 9, 7]; const numArr = Array.from(String(num), Number); let sum = 0; numArr.forEach((n, i) => sum = sum + (n * weights[i])); sum = 11 - (sum % 11); if (sum == 10) sum = 0; else if (sum == 11) sum = 5; return sum; }
checkDigit :: [Int] -> Int checkDigit ns | c == 11 = 5 | c == 10 = 0 | otherwise = c where weights = [8, 6, 4, 2, 3, 5, 9, 7] s = sum $ zipWith (*) weights ns c = 11 - (s `mod` 11)
Véase también
[editar]- Código Serial del Contenedor de Envío (SSCC), un estándar relacionado.
- UPU
- ISO 3166-1 alfa-2
Referencias
[editar]- ↑ a b UPU, Standards Programme (17 de octubre de 2017). «S10 Identification of postal items – 13-character identifier» (PDF). Universal Postal Union: S10 Identification of postal items – 13-character identifier (2018). Consultado el 07.11.2023.
- ↑ http://www.upu.int, Service Indicator Codes Archivado el 20 de abril de 2010 en Wayback Machine.
Enlaces externos
[editar]- Borrador del S10 (en inglés):
- Parte A: principios de estructuras de identificador y codificado Archivado el 27 de septiembre de 2011 en Wayback Machine.
- Parte B: elementos de EMS Archivado el 27 de septiembre de 2011 en Wayback Machine.
- Parte C: productos de letra especial Archivado el 29 de abril de 2011 en Wayback Machine.
- Parte D: paquetería Archivado el 27 de septiembre de 2011 en Wayback Machine.
- Parte E: uso bilateral/doméstico Archivado el 27 de septiembre de 2011 en Wayback Machine.
- Lista de código de indicadores de servicio UPU, lista 124
- Códigos de país, S31 códigos de editores e identificadores de 13 caracteres para elementos postales S10, 2 de septiembre de 2004 Archivado el 27 de septiembre de 2011 en Wayback Machine.
- Validador en línea para números de seguimiento S10