Migrar desde mensajería programable a Verify

June 03, 2021
Redactado por
Revisado por

 

La API de Verify es una solución creada especialmente para enviar códigos de acceso de un solo uso (OTP) para la verificación y autenticación de usuarios a través de SMS, voz, correo electrónico, push y TOTP. La API de mensajería programable de Twilio proporciona a muchas empresas la base para construir sus propias soluciones de OTP. Sin embargo, mantener una solución OTP interna puede ser complejo y pude requerir muchos recursos, sobre todo porque el panorama de la mensajería y los requisitos de cumplimiento siguen cambiando. Muchas empresas están migrando a Verify para obtener la misma fiabilidad global y la entrega inigualable a escala que la mensajería programable de Twilio, con las ventajas agregadas de:

  • Administración regulatoria y de cumplimiento, incluido A2P 10DLC
  • Se incluye un conjunto de números de teléfono de envío administrado, incluidos los códigos cortos, los códigos largos, los números de teléfono gratuitos y los identificadores de remitente alfa globales*.
  • Se administra la entrega en todo el mundo, como tipos de remitente y cumplimiento a escala global.
  • API sin estado para la administrar la generación y comprobación de tokens (con la opción de traer su propio código).
  • Traducciones de mensajes OTP con plantillas en docenas de idiomas.
  • Soporte multicanal para SMS, voz, correo electrónicopush y TOTP.

Esta guía proporciona una introducción a la API de Verify y un conjunto de pautas para migrar su aplicación de mensajería programable a Verify.

*Se requiere un registro previo para los identificadores de remitente alfa en determinados países. Obtenga más información.

Requisitos de migración para el envío de tokens con Verify

El proceso de migración requiere una configuración inicial de una sola vez y luego el cambio de una llamada a la API. Asumiendo que ya tiene una experiencia de usuario con OTP, el diseño de su producto se puede reutilizar. También conseguirá eliminar una cantidad decente de código, lo que siempre es satisfactorio.

Con la mensajería programable, como mínimo necesita:

  1. Comprar un número(s) de teléfono.
  2. Generar un código numérico aleatorio
  3. Almacenar el código en su base de datos para asociarlo con el usuario final.
  4. Enviar el código SMS.
  5. Comprobar el código.

Con Verify, no es necesario realizar los pasos 1, 2 o 3. En su lugar, necesita:

  1. Crear un servicio de Verify (configuración única)
  2. Enviar el código SMS.
  3. Comprobar el código.

A continuación, se muestra un ejemplo del código de mensajería programable necesario para enviar un OTP:

const accountSid = process.env.TWILIO_ACCOUNT_SID;
const authToken = process.env.TWILIO_AUTH_TOKEN;
const client = require("twilio")(accountSid, authToken);

const from = "YOUR TWILIO NUMBER";
const to = "+15558675310";

// generate a 6 digit token
const token = Math.floor(Math.random() * (999999 - 100000) + 100000);
const message = `Your Example App verification code is: ${token}`;

function storeToken(to, token) {
 /*
  * Required:
  *   - Store token with the user's phone number in your database
  *   - Set token expiration
  */
}

// send OTP
client.messages.create({ body: message, from, to }).then((message) => {
 storeToken(to, token);
 console.log(message.sid);
 // prompt user for token
});

La versión de Verify del mismo código (a continuación) elimina la necesidad de:

  1. un número from
  2. generar un token
  3. la función storeToken 
const accountSid = process.env.TWILIO_ACCOUNT_SID;
const authToken = process.env.TWILIO_AUTH_TOKEN;
const client = require("twilio")(accountSid, authToken);

const to = "+15558675310";

// send OTP
client.verify
 .services("YOUR VERIFY SERVICE SID")
 .verifications.create({ to, channel: "sms" })
 .then((verification) => {
   console.log(verification.status);
   // prompt user for token
 });

Servicios de Verify

Verify utiliza servicios para la configuración. Para enviar una solicitud a la API de Verify necesitará sus credenciales de Twilio y un SID de servicio. Puede crear y actualizar un servicio de dos maneras:

  1. Con la API de Verify
  2. En la consola de Verify

Los servicios se pueden utilizar para editar el nombre (que aparece en la plantilla del mensaje), establecer la longitud del código (4-10 caracteres), habilitar la configuración como la “advertencia de no compartir” y más.

Aportar su propio código personalizado

Lo animamos a utilizar la generación de código de Verify, pero siempre puede utilizar su propia lógica, proporcionando el parámetro customCode en la llamada a la API que se muestra arriba. Consulte las opciones de personalización y comuníquese con nosotros para que podamos habilitar esta función para usted. Si utiliza códigos de verificación personalizados, le solicitamos que nos proporcione comentarios que nos permita saber si el usuario ha verificado o no el código. Esto nos permite supervisar de forma proactiva nuestro enrutamiento global y mantenernos operativos.

Localización de mensajes de verificación

La API de verificación administra la localización y la traducción en docenas de idiomas, desde el afrikáans hasta el vietnamita. Obtenga más información sobre cómo establecemos los idiomas predeterminados y cómo enviar un mensaje localizado en la documentación.

Requisitos de migración para la comprobación de tokens con Verify

Si bien la comprobación de un token no es difícil, la API de Verify elimina la necesidad de obtener un token almacenado de su almacén.

En la mensajería programable, la comprobación de un token podría tener este aspecto:

const to = "+15558675310";
const token = "123456"; // acquired from UI

function fetchToken(to) {
 /*
  * Required:
  *   - Fetch the token stored with the user's phone number
  *   - Ensure the token is not expired
  */
}

// check OTP
const validToken = fetchToken(to);
if (token === validToken) {
 // successful
} else {
 // failed
}

Con Verify, la comprobación de un token requiere una llamada adicional a la API, pero elimina la necesidad de almacenar el token y recuperarlo:

const accountSid = process.env.TWILIO_ACCOUNT_SID;
const authToken = process.env.TWILIO_AUTH_TOKEN;
const client = require("twilio")(accountSid, authToken);

const to = "+15558675310";
const token = "123456"; // acquired from UI

// check OTP
client.verify.services("YOUR VERIFY SERVICE SID")
 .verificationChecks
 .create({to, code: token})
 .then(check => {
   if (check.status === "approved") {
     // successful
   } else {
     // failed
   }
 });

Administración de errores

Los códigos de error de Verify son diferentes de los códigos de error de la mensajería programable y se pueden encontrar en la documentación. Los errores más frecuentes son:

Número de teléfono con formato E.164 estricto

En Verify, las verificaciones se inician con números de teléfono con formato E.164 como este: +15552317654. La mensajería programable es más indulgente con el parámetro del número de teléfono, por lo que se permitieron cosas como los espacios. Consulte la API de Lookup y esta publicación de blog para ver ejemplos sobre cómo formatear los números en E.164.

Prácticas recomendadas

Utilizar la API Lookup para convertir los números de teléfono al formato E.164

La llamada gratuita a la API de formato Lookup le proporcionará dos datos útiles:

  1. El número de teléfono en formato E.164. Formato necesario para la verificación en curso.
  2. El código de país en formato ISO 3166 alpha-2 (p. ej. US, CA, BR, etc.). Esto es necesario para construir una lista de países permitidos o bloqueados.

Almacene tanto el número de teléfono con formato E.164 como el país en su base de datos para su uso futuro.

Obtenga más información en la documentación de Lookup.

Definir los países permitidos

Si tiene una base de usuarios global, puede permitir todos los países. Si solo espera tráfico de varios países, puede crear una lista de países permitidos para poder mitigar el fraude de peaje. Por otro lado, también puede crear una lista de países bloqueados si hay países de los que no espera tráfico.

Preguntas frecuentes

¿Por qué recibo el mismo código con nuevas solicitudes de verificación cuando utilizo Verify?

Los tokens de Verify son válidos durante 10 minutos y durante ese periodo el código de acceso no cambiará. Para forzar un nuevo código de acceso, complete el ciclo de vida de la verificación.

¿Los límites de tarifa son diferentes en Verify?

Los límites de velocidad para los SMS de Verify incluyen:

  • 5 intentos de verificación de envío en 10 minutos por número de teléfono único [más información].
  • 5 intentos de verificación por número de teléfono único [más información].

Comuníquese con el equipo de ventas o de soporte técnico para obtener más información sobre los límites de tarifa. La mayoría de los clientes consideran que los límites de tarifa predeterminados para Verify son suficientes, pero también puede proteger su aplicación con límites de tarifa de servicio adicionales.

¿Cómo puedo probar Verify sin que me limiten las tarifas?

Consulte la publicación de blog sobre cómo probar Twilio Verify sin obtener una tasa limitada.

¿Cuál es el precio de Verify?

El precio base de Verify es de $0,05/verificación comprobada. Recuerda que Verify incluye el costo de los números de teléfono globales. Obtenga más información en la página de precios de Verify o comuníquese con nosotros para conocer los precios por volumen.

¿Qué otros métodos de verificación admite Verify?

Verify incluye compatibilidad para SMS, voz, correo electrónicopush y TOTP.

Este artículo ha sido traducido del original "Migrate from Programmable Messaging to Verify". Mientras continuamos con los procesos de traducción, nos encantaría recibir sus comentarios en help@twilio.com - Buenas contribuciones pueden generar regalos de Twilio.