¿Qué es el formato de número de teléfono E.164?

E.164 es el plan de numeración internacional que escribe cualquier número de teléfono como un código de país seguido del número nacional.

Un número de teléfono escrito para alguien dentro del mismo país es ambiguo en cualquier otro lugar. Los mismos dígitos significan un número distinto dependiendo de si hay un cero inicial o un código de país. E.164 elimina la ambigüedad fijando una única forma escrita.

¿Qué define realmente el estándar?

La estructura de los números internacionales, en ocho categorías separadas.

La Recomendación ITU-T E.164, de la Unión Internacional de Telecomunicaciones, la agencia de la ONU que administra el plan de numeración, fija tanto la estructura de dígitos como el análisis de encaminamiento para cada categoría de número internacional:

Recommendation ITU-T E.164 provides the number structure and functionality for the eight categories of numbers used for international public telecommunication:

Esas categorías abarcan más que números de país. Las áreas geográficas son una de las ocho, junto con servicios globales, otros servicios globales, servicios globales por satélite, redes, grupos de países, recursos para pruebas, y servicios y aplicaciones para el Internet de las cosas y tráfico máquina a máquina. También proporciona el nombre de los propios números:

Annex A provides additional information on the structure and function of international public telecommunication numbers (hereafter referred to as "international E.164 numbers").

¿Cómo se ve un número correctamente escrito?

Un código de país, luego el número nacional, y nada más.

+31612345678 es un número móvil neerlandés. El 31 es el código de país y 612345678 es el número nacional. Lo que está ausente importa tanto como lo que está presente: sin espacios, sin guiones, sin paréntesis, sin el cero inicial de la convención de marcación nacional y sin prefijo de acceso internacional como 011 o 00.

El + inicial es notación, no un dígito. Le indica a lo que lee la cadena que sigue un número internacional. Nadie lo marca. Así que almacena los dígitos. Trata la puntuación como presentación.

¿Qué longitud puede tener un número?

Suficiente para que no debas comprobarlo.

La fuente legible lo formula de manera más acotada de lo que suele citarse la regla. Las preguntas frecuentes de libphonenumber de Google aplican la cifra de quince dígitos solo a la parte nacional, y señalan que no todos los países la respetan:

We support parsing and storing numbers from a minimum length of two digits to a maximum length of 17 digits currently (excluding country calling code). The ITU standard says the national significant number should not be longer than fifteen digits, but empirically this has been proven not to be followed by all countries.

Así que un validador que rechace cualquier cosa por encima de quince dígitos rechazará números reales.

La regla práctica es analizar en lugar de medir. Una biblioteca o una consulta responde si un número está en un rango asignable, algo que una comparación de longitud no puede hacer. Qué comprueba la validación de números de teléfono cubre lo que establece cada tipo de verificación.

¿Qué formas acepta Bird?

El código de país y el número nacional, con la puntuación opcional.

Envías el código de país seguido del número nacional. La forma en que marcas la parte internacional es deliberadamente flexible. El + inicial es opcional y 00 funciona en su lugar, así que +31612345678, 31612345678 y 0031612345678 designan el mismo número.

Lo que no hará es adivinar. Un número escrito para marcar dentro de un país, sin código de país, se rechaza en lugar de asumir que pertenece a un país en particular. Un formulario que recoge un número nacional sin recoger también el país produce exactamente ese rechazo. Captura ambos juntos.

Cuando compras un número, el valor que debes enviar es exactamente el que devolvió el inventario, no una copia reformateada. La guía de consulta cubre las formas aceptadas, y qué es un número de teléfono virtual cubre lo que un número puede hacer una vez que lo tienes.

En resumen

  1. Es una recomendación de la ITU, no una convención de formato.

    ITU-T E.164 define la estructura de numeración para ocho categorías de números internacionales, incluida una para servicios máquina a máquina.

  2. El signo más es notación, no un dígito.

    Indica que lo que sigue es un número internacional y no algo que se marca, por eso los dígitos son la parte que tiene que estar bien.

  3. No valides por longitud.

    La biblioteca de números de Google reporta una orientación de quince dígitos del estándar de la ITU y señala que no todos los países la respetan.

  4. Un número sin código de país no es un número E.164.

    Bird rechaza un número solo nacional en lugar de adivinar a qué país pertenece. Almacena el código de país junto con él.

Ponlo en práctica.

Continúa con la documentación, guías y ejemplos de este tema.

Obtener un resumen de implementación

Construye sobre la misma red.

Obtén una clave API de prueba de inmediato. El acceso a producción se desbloquea cuando añades un método de pago y verificas un remitente.

Tu próxima idea. Lista para conectar.