8 de abril de 2024 • 14 min de lectura
Especialista en IA y Automatización
Diseño sistemas de comunicación impulsados por IA. Mi trabajo se centra en agentes de voz, chatbots de WhatsApp, asistentes de IA y automatización de flujos, construidos principalmente sobre Twilio, n8n y LLM modernos como OpenAI y Claude. En los últimos 7 años he entregado más de 30 proyectos de automatización que manejan más de 250 000 interacciones mensuales.
Si te gusta el contenido que hago, puedes suscribirte y recibir información valiosa por correo. No se envía spam, solo novedades sobre publicaciones interesantes o contenido especializado del que hablo.
Si tu empresa necesita implementar un servicio de mensajería, vas a necesitar una solución de comunicaciones en la nube. Sirve para mandar recordatorios de turnos por SMS, confirmaciones de reserva o cualquier otro tipo de mensaje. Sea una marca conocida como Twilio o cualquier otro proveedor externo, todos piden lo mismo: vas a tener que pasar por la verificación de campaña A2P 10DLC si querés mandar SMS desde un número estadounidense de 10 dígitos a otros números de Estados Unidos.
Cada plataforma puede tener pasos distintos, o incluso otra interfaz para completar el formulario, pero el concepto es el mismo:
Tené en cuenta que estos pasos recién hacen falta cuando terminaste el desarrollo o la integración, o cuando se te acabaron los créditos gratis de la plataforma que elegiste. Mientras integrás Twilio en tu proyecto, te dan un número 10DLC de prueba para experimentar.
A2P quiere decir Application-to-Person: cualquier mensaje que tu software le manda a una persona, a diferencia de alguien escribiendo desde un teléfono. 10DLC quiere decir 10-Digit Long Code, que no es otra cosa que un número estadounidense común. Juntos, A2P 10DLC es el marco que usan las carriers de Estados Unidos para registrar la mensajería de empresas que sale por números locales comunes.
Por qué existe: el sistema de SMS/MMS de Estados Unidos no fue diseñado para el uso que se le da ahora. Antes de este marco de compliance, las empresas mandaban tráfico de aplicaciones por números pensados para conversaciones entre personas. Las carriers no tenían forma confiable de distinguir un recordatorio de turno legítimo de una estafa. Los spammers inundaron el canal con mensajes falsos e intentos de phishing, y las carriers necesitaban proteger a sus clientes sin que la red se degradara.
El registro resuelve eso atando cada mensaje a una identidad de empresa verificada. Una vez que tu tráfico está registrado, las carriers saben quién lo manda. Por eso el tráfico registrado consigue mejor throughput y deliverability, mientras que el no registrado termina filtrado o directamente bloqueado.
¿Querés saber más? Mirá la explicación de Twilio acá.
Necesitás el registro A2P 10DLC si mandás SMS o MMS a números de Estados Unidos desde un número estadounidense de 10 dígitos. Ese es el caso puntual que cubre. Hay algunas situaciones que la gente suele confundir con esta:
Sobre el timing: mientras estás construyendo no necesitás nada de esto. Twilio te da un número de prueba y créditos gratis para desarrollar. El registro se vuelve necesario cuando salís del plan de prueba y empezás a mandar a clientes reales. Lo práctico es armar la integración primero. Después arrancás el papeleo, cuando ya sabés qué programa de mensajería vas a describir en el formulario.
Explicaciones aparte, vamos a la Twilio Console a registrar la Brand y la Campaign. Tené en cuenta que para arrancar la verificación de campaña A2P 10DLC, tu cuenta tiene que estar fuera del plan gratuito o de prueba.
Andá a la consola de Twilio e iniciá sesión con tus credenciales.
Ya adentro del portal, andá a Messaging > Regulatory Compliance > Onboarding. Ahí te va a pedir que crees un Customer Profile, si todavía no tenés uno.
El Customer Profile es lo que Twilio usa para su KYC. Te pide información general de la empresa, datos de contacto y el EIN. Es el primer paso, y es obligatorio para poder crear una Brand a partir de ese Profile. Algunos de los campos que hay que completar:
Información general
Información del negocio
Información de contacto
Cuando completaste todo, el Customer Profile te tiene que quedar así:

El paso siguiente es registrar una Brand. Las Brands en Twilio se definen por 2 cosas: tu Customer Profile y el message throughput que necesitás, o sea los mensajes que procesás por segundo. Mirá el diagrama de abajo para ver qué tipo de brand te conviene

Ya en la sección Brand del formulario, elegí la que mejor le va a tu caso de uso. Según el tipo de brand, Twilio te cobra un cargo único para registrarla. Ojo con esto: si el registro falla por cualquier motivo, por ejemplo datos mal cargados, y tenés que volver a registrarla, te vuelven a cobrar lo mismo.

La verificación de la brand puede tardar hasta 48 horas, y hay que esperar a que quede registrada para poder crear una campaña.
Con la brand aprobada, el último paso es crear la campaña que te habilita a mandar SMS a cualquier número de Estados Unidos. Podés crear todas las campañas que quieras para una misma brand, no hay límite. Yo te recomiendo hacerlo, porque después seguís el costo de cada una por separado en el panel de facturación.
El caso de uso que elegís le dice a las carriers qué tipo de programa de mensajería es este, y se chequea contra los mensajes de ejemplo que cargás. Elegir uno que no coincida con lo que mandás de verdad es un motivo frecuente de rechazo. Y también te puede hacer filtrar tráfico más adelante, ya con la campaña aprobada.
El desplegable trae un conjunto de categorías estándar. Las que más aparecen en la práctica:
Dos notas prácticas. Primero, podés registrar más de una campaña bajo la misma brand, y no hay límite. Separar programas de mensajería distintos en campañas propias hace que cada una le cierre al revisor. Y a su vez te deja ver los costos claros en el panel de facturación. Segundo, no elijas Marketing como cajón de sastre porque suena amplio. Que el caso de uso declarado sea más estricto que tus mensajes reales no es problema; que sea más laxo es justo lo que te hace rechazar.
El formulario de campaña tiene un montón de campos, así que vamos uno por uno. Te cuento desde mi experiencia cuáles son los más importantes (y cuáles me hicieron reenviar el formulario varias veces 😅)

Vamos a la segunda parte del formulario:

Vamos a la última parte del formulario:

Dejé a propósito la parte de "Did you know?".
El campo de cómo consienten los usuarios finales en recibir mensajes es probablemente el más importante de todo el formulario. Tenés que ser muy descriptivo en cómo aceptan recibir tus SMS: si completaron un formulario en tu CRM, si llamaron a tu oficina, o cualquier otro escenario. A mí me rechazaron unas 3 veces por este campo en los primeros días de la normativa. De nuevo, en el link de Learn more vas a encontrar ejemplos de textos aprobados que te sirven de inspiración. Subir una captura pública de cómo capturás el teléfono de tus clientes ayuda bastante a que aprueben la campaña. Ojo: si la subís a tu propio servidor en vez de a un storage, conviene usar el servidor donde está el sitio de la empresa. Así Twilio ve que coincide con el resto de la información que cargaste.
Por último, Opt-in Keywords y Message son ejemplos opcionales. Yo nunca los completé, porque Twilio ya manda una respuesta automática estándar para esos casos.
Con todo listo, tocás Submit y arranca el proceso de revisión. Suele tardar entre 5 y 7 días hábiles, y la respuesta no llega por correo ni por SMS. Tenés que entrar a la consola y chequear el estado de la campaña cada tanto.
La aprobación no es el final. Toda campaña registrada tiene que respetar las palabras de opt-out que exigen las carriers, y Twilio maneja las estándar por vos en los números 10DLC registrados.
Acá hay una trampa que conviene conocer, porque pega en producción. Como Twilio intercepta estas palabras a nivel plataforma, tu aplicación puede no recibir nunca el mensaje entrante. Twilio deja de entregar a ese número, pero en tu base el contacto sigue marcado como suscripto. Tu sistema sigue encolando mensajes que no llegan a ningún lado, y tus reportes muestran envíos que nunca aterrizaron. Si guardás el estado de suscripción en tu propia base, escuchá el opt-out en el webhook entrante y replicalo, o reconciliá contra Twilio cada tanto.
Es también el motivo por el que los mensajes de ejemplo del formulario tienen que referenciar el opt-out. Una línea tan simple como "Reply STOP to unsubscribe" es lo que busca el revisor, y su ausencia es un rechazo fácil.
En todas las campañas que registré, los rechazos vienen casi siempre de un puñado de cosas. Más o menos en el orden en que me las crucé:
Volver a registrar una brand después de una submission fallida se cobra de nuevo. Así que conviene ir lento y específico en la primera pasada, en vez de rápido y genérico.
Eso es todo por ahora. Si ya tenés el SDK andando en tu aplicación y solo estás esperando que aprueben el formulario, de tu lado no hace falta nada más. Acordate de mover los números 10DLC al messaging service que indicaste en la campaña una vez aprobada, porque si no los SMS tampoco salen.
Si te aprobaron la campaña y todavía te falta armar el envío, escribí una guía completa de eso: enviar SMS con PHP y Twilio, con código que podés llevarte directo a un proyecto.
Acordate de seguirme en mis redes, que están en el header y en el footer.
¡Gracias!
-Gonza
¿Estás construyendo algo así sobre Twilio? Ayudo a empresas a diseñar y operar estos sistemas en producción. Conoce mi servicio de consultoría y desarrollo Twilio.
Descubre cuánto te está costando tu sistema de comunicaciones.
Obtén la auditoría de comunicaciones