¿La verificación rechazó tu número? Revisa cómo lo escribiste

¿La verificación rechazó tu número? Revisa cómo lo escribiste

Escribes tu número, el formulario lo rechaza y no hay ninguna pista sobre qué parte le ha disgustado. Lo pruebas con el cero. Lo pruebas sin él. Lo pruebas con un signo más, después con dos ceros. Alguno acaba funcionando, o ninguno lo hace, y en cualquier caso terminas sin idea de qué ha pasado.

En resumen: Un rechazo, por sí solo, no te dice con qué número se quedó el servicio, así que adivinar el valor guardado a partir de un mensaje de error no es un método sólido. Mira lo que el formulario sí te está mostrando: el selector de país, la propia indicación del campo y cualquier confirmación que te devuelva en pantalla. No hay una regla universal para quitar el cero inicial ni para cambiar el signo más por dos ceros; ambas cosas varían según el país. Y un número que parece bien formateado sigue sin ser prueba de que se pueda alcanzar ni de que un servicio concreto vaya a aceptarlo.

Un rechazo no te dice qué guardó el servicio

Esta es la parte a la que conviene resistirse, porque parece trabajo detectivesco y en su mayor parte es adivinar.

Un rechazo genérico no acredita cómo se interpretó lo que escribiste, si se llegó a guardar algo, ni por qué falló. Algunos formularios comprueban la forma en el navegador y rechazan antes de enviar o guardar nada. Algunos te devuelven lo que leyeron. Otros dicen únicamente que el número no es válido. El mismo mensaje escueto es compatible con un número registrado exactamente como pretendías y rechazado por un motivo ajeno, con uno al que le falta un dígito, y con uno leído contra otro país. Cuál de esos casos se aplica no es algo que el mensaje por sí solo resuelva.

Lo que sí puedes hacer es mirar las cosas que el formulario sí muestra.

Dónde mirar en su lugar

El selector de país. Los formularios internacionales suelen partir el número en dos: un control de país o de prefijo, y un campo para el resto. Son entradas distintas, y es perfectamente posible tener los dígitos correctos contra el país equivocado. El país que eliges cambia cómo se leen los dígitos restantes, y las preguntas frecuentes del proyecto libphonenumber describen exactamente esa dependencia: la región suministrada gobierna cómo se interpretan los dígitos iniciales, incluido si se toman o no como un prefijo de país.

La indicación del propio campo. El texto de ejemplo y los formatos de muestra señalan qué forma espera ese formulario. Esto es una orientación observable, no una prueba de que la interfaz coincida con lo que el servicio guarda, y no acredita que el ejemplo sea correcto para tu país. Cuando falta una indicación o parece inconsistente, la ayuda del propio servicio y la forma internacional del número tal como la indica tu proveedor son mejores referencias que una regla recordada.

Cualquier confirmación que te devuelvan. Algunos servicios muestran el número que van a usar, a menudo enmascarado en parte. Léelo. Mostrado completo es una evidencia fuerte de lo que tiene la interfaz; enmascarado, unos últimos dígitos coincidentes son una pista y no una identificación única. En cualquier caso refleja lo que el formulario está mostrando, que no es por sí solo una garantía sobre lo que se guarda detrás.

Los propios ajustes de la cuenta, cuando puedas llegar a ellos. Si estás iniciando sesión o recuperando la cuenta en lugar de registrarte, una pantalla de seguridad o de perfil puede mostrar el número que consta, y esa es mejor fuente que nada inferido a partir de un error. Solo está disponible cuando la cuenta existe y todavía puedes entrar en ella.

El cero inicial no tiene una regla universal

El consejo que la gente repite —quita el cero inicial cuando añadas el prefijo de país— es cierto en muchos países y falso en otros, y aplicarlo como ley produce números equivocados.

El proyecto libphonenumber mantiene una lista de falsedades que los programadores creen sobre los números de teléfono, y una de ellas es precisamente la creencia de que un cero inicial de un número nacional siempre puede descartarse al marcar desde el extranjero. Italia aporta su contraejemplo: describe un número que desde 1998 lleva su prefijo como parte del número, ilustrado como 012345 en el ámbito nacional y +39012345 en el internacional, con el cero conservado. Esos dígitos son una ilustración de ese documento y no un número al que llamar, y lo que se quiere decir es que tales números existen — no que todos los números italianos se comporten así.

La misma lista aborda la otra mitad del folclore. El signo más de un número internacional no siempre puede sustituirse por 00, porque el prefijo de llamada internacional varía según el país: el de Japón es 010, no 00.

La consecuencia práctica no es que tengas que aprenderte las reglas de todos los países. Es que una regla recordada es un mal sustituto de dos referencias mejores: las instrucciones que da el propio campo, y la forma en que el proveedor de tu número indica ese número en formato internacional. Introducir lo que indica el proveedor, en lugar de una versión que has transformado, evita inventar un número que nunca fue tuyo.

Hacia dónde apunta el síntoma

Lo que observas Con qué es compatible Qué inspeccionar
El formulario rechaza el número de inmediato Posiblemente una forma que este formulario no acepta; no acredita que no se enviara nada La indicación o el texto de ejemplo del campo, y el selector de país
El formulario lo acepta, pero nunca llega un código Cualquier cantidad de cosas, incluido un número guardado que no es el tuyo El destino que muestra el servicio, y si esa línea puede recibir mensajes
Rechazo solo cuando incluyes el prefijo de país Puede que el campo ya esté gestionando el país por separado Si existe un control de país junto al campo
Aceptado tras corregir el selector La corrección abordó un problema observable Si ahora llega un código; la corrección por sí sola no lo zanja
Rechazo solo cuando omites el cero inicial Puede ser un país donde el cero se conserva El ejemplo del propio formulario, no una regla general
Aceptado, llega el código, pero un intento posterior falla No necesariamente un problema de formato Lo que diga el servicio sobre la validez de ese código

Dos situaciones que vale la pena repasar

Las dos son hipotéticas, escritas para mostrar el razonamiento y no para informar de un caso real.

El país que nunca se cambió. Alguien que está de viaje introduce su número de teléfono en un formulario cuyo selector de país muestra el país en el que se encuentra y no el país al que pertenece el número. Los dígitos son correctos. El formulario puede rechazarlos, o puede aceptarlos y leerlos contra ese otro país. Ninguno de los dos desenlaces revela por sí solo cómo se normalizaron los dígitos. Lo que sí es inspeccionable es el selector que está junto al campo y cualquier confirmación mostrada antes de enviar. Poner el selector en el país del propio número y releer la confirmación es la corrección que hay que hacer; si eso resuelve el problema entero es algo que muestra el siguiente intento, no algo que la corrección garantice.

El cero que se quitó por principio. Alguien tiene un número italiano cuyo cero inicial forma parte de verdad de su forma internacional, y quita ese cero al añadir +39 porque el consejo de siempre dice que hay que hacerlo. Lo que ha introducido ya no es el mismo número. Si el formulario lo rechaza, puede pasarse un rato probando más transformaciones de los dígitos alterados. Si el formulario lo acepta, la aceptación no revela qué hizo el servicio con él, y puede que le llegue un código o puede que no. La comprobación es la misma en ambos casos: leer lo que el servicio muestre y compararlo con el número tal como su propio proveedor lo indica en formato internacional, y no con una regla aproximada.

Por qué un formato correcto no es una garantía

De un número bien formado se leen dos cosas distintas, y ninguna de las dos se deduce de él.

Un formato válido no significa que el número sea alcanzable. Las preguntas frecuentes de libphonenumber son explícitas en que un rango válido es aquel del que los operadores pueden asignar números, y dicen claramente que no hay que apoyarse en la biblioteca para determinar si un número está actualmente asignado a una persona concreta y es alcanzable. Un número puede estar perfectamente bien formado y sencillamente no estar en servicio.

Un número correcto no significa que un servicio vaya a aceptarlo. Las plataformas aplican sus propias reglas por encima del formato. Un número que un servicio admite sin comentarios puede ser rechazado por otro, y la política de la plataforma es una razón posible entre varias y no una explicación de cada diferencia entre servicios. Cuando un servicio devuelve un mensaje concreto sobre un número que no se puede usar, qué significa y qué no significa ese tipo de rechazo conviene leerlo antes de cambiar nada.

También se cumple lo contrario, lo cual es poco intuitivo: la misma lista de falsedades señala que un número inválido no necesariamente dejará de alcanzar un destino, y da casos de marcación en los que ciertos dígitos de más se ignoran en algunas jurisdicciones. Así que el hecho de que una llamada conecte no es prueba de que el número fuera correcto. Ese ejemplo trata de marcación, y esta guía no lo extiende a cómo encamina un servicio concreto un mensaje de texto.

Cuando el formato no era el problema

Si el número está escrito correctamente y confirmado, y aun así no llega un código, la pregunta ya es otra.

Puede que la línea a la que se dirigió no pueda recibir mensajes en absoluto, que es el caso de un plan de solo datos. Puede que el código fuera por una vía distinta del SMS, ya que una pantalla que muestra tu número no te dice el canal. Puede que el código llegara y no entrara en el campo, que es un problema aparte con sus propias comprobaciones. O puede que el código llegara y caducara, en cuyo caso qué puede hacer un número temporal con un segundo código es la lectura pertinente.

Límites de esta guía

Esto usa el material publicado por el proyecto libphonenumber para mostrar que las transformaciones habituales de números no son universales. No usa ese proyecto como descripción de cómo valida números un servicio cualquiera, y nada de lo aquí escrito implica que nosotros usemos esa biblioteca.

Las reglas de numeración de cada país no se enumeran aquí, y es deliberado: esto no es un catálogo de planes de numeración nacionales. Cuando no esté clara cuál es la forma internacional correcta de tu propio número, el proveedor que lo emitió y la ayuda del propio servicio son los sitios donde resolverlo.

Esta guía no puede decirte qué guardó un servicio concreto. Lee lo que el servicio muestra como orientación útil, no como prueba de su almacenamiento interno, y no deduzcas ese almacenamiento a partir de un rechazo.

Nuestras respuestas de ayuda cubren la parte del pedido, y un ticket de soporte es la vía para cualquier cosa concreta de un pedido que hayas hecho con nosotros.

FAQ

¿Puedo deducir del mensaje de error qué número guardó el servicio?

No a partir de un rechazo genérico, y eso es lo principal que conviene llevarse. Un mensaje así no te dice cómo se leyó lo que escribiste, si se guardó, ni qué falló. Algunos formularios sí devuelven lo que interpretaron, y donde eso ocurre resulta útil. Donde no, lee el destino que muestra el servicio, o el número en la pantalla de ajustes de la cuenta si puedes llegar a ella, en lugar de deducirlo del error.

¿Debo quitar el cero inicial cuando añado mi prefijo de país?

A veces, y no hay una regla que se cumpla siempre. El proyecto libphonenumber incluye entre las falsedades la creencia de que un cero inicial siempre puede descartarse, y pone a Italia como contraejemplo donde el cero se conserva en la forma internacional. Sigue el ejemplo que muestre el propio formulario en lugar de aplicar una regla recordada.

¿00 es lo mismo que un signo más?

No en todas partes. 00 es un prefijo de llamada internacional frecuente, pero varía según el país: Japón usa 010. Si un campo pide formato internacional, la forma con el signo más es lo más seguro que puedes escribir.

El formulario aceptó mi número, así que tiene que ser correcto. ¿Es así?

Que lo acepte significa que el número superó las comprobaciones de ese formulario. No acredita que el número sea tuyo, que esté asignado actualmente ni que pueda recibir mensajes. Las propias preguntas frecuentes de libphonenumber advierten contra tratar la validez como evidencia de que un número está asignado y es alcanzable.

Mi número funciona para llamadas pero un servicio lo rechaza. ¿Por qué?

Los servicios aplican sus propias políticas por encima del formato, y esas políticas son independientes de que un número esté bien formado. La política es una razón posible de que un número aceptado en otro sitio se rechace aquí; no es un diagnóstico de cada diferencia de ese tipo. Lee el mensaje concreto que da el servicio, porque algunos de ellos distinguen situaciones bastante distintas.

Escribí mal el número y me lo aceptaron. ¿Y ahora qué?

Corrígelo donde el servicio lo pida: en el flujo en el que estás si te lo ofrece, o en los ajustes de la cuenta si puedes llegar a ellos, y después inicia un envío nuevo. Si el servicio no te deja cambiar el número sin superar una comprobación que no puedes superar, eso se ha convertido en un problema de recuperación para ese servicio y no en uno de formato.

¿Listo para probar SMSCode?

Crea una cuenta y obtén tu primer número virtual en menos de dos minutos.

Comenzar →