¡Hagamos que vivas con OTP ultrarrápidas!

Pasarás de «recién registrarte» a «enviar OTP como un profesional» en unos pocos pasos rápidos.

Verify Now API

Documentación de la API OTP SMS

Versión — 3.0
tick-icon

Paso 1: Registrarse e iniciar sesión

  1. Ir al registro de Message Central
  2. Crea tu cuenta gratuita
  3. Usa tus créditos gratuitos para probar y jugar con las OTP
📌 Consejo: Usa tus créditos gratuitos para enviar las OTP de prueba inmediatamente antes de lanzarlas.
tick-icon

Paso 2: Integración de API (¡desarrolladores, ensamblados!)

Hemos mantenido las cosas muy sencillas. Copia algunos fragmentos de código y lo probarás en poco tiempo.

¿Prefieres ver antes que programar? ¿Nuestro guía rápida de vídeo lo tiene todo cubierto.

Parámetro de API para Verify Now

Los siguientes parámetros deben enviarse al usar las API VerifyNow.

Parámetro de API
Tipo
Valor
Tipo de flujo
Cuerda
SMS/WHATSAPP/
RCS/SAUTH
tipo
Cuerda
PARTE SUPERIOR

URL base de API Rest

Todos los puntos finales de la API de la plataforma que aparecen a continuación deben tener como prefijo la siguiente URL:

https://cpaas.messagecentral.com

Generar token

Al usar la API de verificación por SMS de Verify Now para enviar códigos de verificación por SMS, la llamada inicial debe ser a la API de generación de tokens.

Esta API devuelve un token que debe incluirse en todas las llamadas posteriores. Se necesita un token de autenticación para validar al usuario y debe incluirse en la sección de encabezado de cada solicitud.

Campo
Tipo
¿Obligatorio?
Descripción
ID de cliente
Cuerda
Identificador de cliente (es necesario regístrate para obtener tu identificador de cliente)
campo
Cuerda
no
Código de país al que enviar OTP
correo electrónico
Cuerda
no
Correo electrónico
clave
Cuerda
Contraseña cifrada en base 64
alcance
Cuerda
no
Usa «NUEVO» por primera vez

Ruta URL de solicitud:

/auth/v1/authentication/token

cURL

1curl --location 'https://cpaas.messagecentral.com/auth/v1/authentication/token? 
2customerId=%3CCustomerId%3E&key=%3CBase64%20Encrypted%20password%3E&scope=NEW&country=91
3&email=test%40messagecentral.com' \
4--header 'accept: */*'

NOTA: Para convertir un comando cURL en código con Postman, abre Postman, importa el comando cURL mediante el botón «Importar» y, a continuación, genera el código en tu idioma preferido haciendo clic en el botón «Código» situado a la derecha de la solicitud.

Respuesta JSON

1{
2  "status": Integer,
3  "token": "String"
4}

Ejemplo de código

OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
  .url("https://cpaas.messagecentral.com/auth/v1/authentication/token?customerId=<CustomerId>&key=<Base64 Encrypted password>&scope=NEW&country=91&email=test@messagecentral.com")
  .method("GET", body)
  .addHeader("accept", "*/*")
  .build();
Response response = client.newCall(request).execute();
var request = require('request');
var options = {
  'method': 'GET',
  'url': 'https://cpaas.messagecentral.com/auth/v1/authentication/token?customerId=<CustomerId>&key=<Base64 Encrypted password>&scope=NEW&country=91&email=test@messagecentral.com',
  'headers': {
    'accept': '*/*'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://cpaas.messagecentral.com/auth/v1/authentication/token?customerId=<CustomerId>&key=<Base64 Encrypted password>&scope=NEW&country=91&email=test@messagecentral.com');
$request->setMethod(HTTP_Request2::METHOD_GET);
$request->setConfig(array(
  'follow_redirects' => TRUE
));
$request->setHeader(array(
  'accept' => '*/*'
));
try {
  $response = $request->send();
  if ($response->getStatus() == 200) {
    echo $response->getBody();
  }
  else {
    echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
    $response->getReasonPhrase();
  }
}
catch(HTTP_Request2_Exception $e) {
  echo 'Error: ' . $e->getMessage();
}
import requests

url = "https://cpaas.messagecentral.com/auth/v1/authentication/token?customerId=<CustomerId>&key=<Base64 Encrypted password>&scope=NEW&country=91&email=test@messagecentral.com"

payload = {}
headers = {
  'accept': '*/*'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
require "uri"
require "net/http"

url = URI("https://cpaas.messagecentral.com/auth/v1/authentication/token?customerId=<CustomerId>&key=<Base64 Encrypted password>&scope=NEW&country=91&email=test@messagecentral.com")

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

request = Net::HTTP::Get.new(url)
request["accept"] = "*/*"

response = https.request(request)
puts response.read_body

var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://cpaas.messagecentral.com/auth/v1/authentication/token?customerId=<CustomerId>&key=<Base64 Encrypted password>&scope=NEW&country=91&email=test@messagecentral.com");
request.Headers.Add("accept", "*/*");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());

Enviar OTP

Para enviar OTP a un número de teléfono móvil, a continuación se muestran los parámetros de solicitud. El token de autenticación es necesario para enviar la OTP, que es generada por la API de tokens generada (que puedes encontrar más arriba en la sección Introducción).

Parámetro de API
Tipo
¿Obligatorio?
Token de autenticación
Cuerda

Ruta URL de solicitud:

Una respuesta correcta devolverá un código de estado 200.

/verification/v3/send

Parámetros de URL de solicitud:

Campo
Tipo
¿Obligatorio?
Descripción
ID de cliente
Cuerda
Código de país
Longitud máxima
Entero
no
Envía un número entre 4 y 8. El valor predeterminado es 4
Número de móvil
Cuerda
Número de teléfono móvil para texto único
Tipo de flujo
Cuerda
Enviamos OTP utilizando varios medios como SMS, WhatsApp, correo electrónico, etc. Por ahora, usa SMS o WhatsApp

cURL

1curl --location --request POST 'https://cpaas.messagecentral.com/verification/v3/send? 
2countryCode=91&flowType=SMS&mobileNumber=9999999999' \
3--header 'authToken: 
4eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJDLTMzNDMyQTVGNDIGNzQwNCI6ImIhdCI6MTcxMjExOTA0MCwiZXhwIjo'

NOTA: Para convertir un comando cURL en código con Postman, abre Postman, importa el comando cURL mediante el botón «Importar» y, a continuación, genera el código en tu idioma preferido haciendo clic en el botón «Código» situado a la derecha de la solicitud. Puedes cambiar el FlowType según el canal que elijas.

Respuesta JSON

1{
2  "responseCode": 200,
3  "message": "SUCCESS",
4  "data": {
5    "verificationId": "xxxx",
6    "mobileNumber": "xxxx",
7    "responseCode": "200",
8    "errorMessage": null,
9    "timeout": "60",
10    "smCLI": null,
11    "transactionId": "xxxx"
12  }
13}

Ejemplo de código

OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
  .url("https://cpaas.messagecentral.com/verification/v3/send?countryCode=91&flowType=SMS&mobileNumber=9999999999")
  .method("POST", body)
  .addHeader("authToken", "eyJhbGciOiJIUzUxMiJ9.eyJzdWOiJDLTMzNDMyQTVGNDlGNzQwNCIsImlhdCI6MTcxMjExOTA0MCwiZXhw")
  .build();
Response response = client.newCall(request).execute();
var request = require('request');
var options = {
  'method': 'POST',
  'url': 'https://cpaas.messagecentral.com/verification/v3/send?countryCode=91&flowType=SMS&mobileNumber=9999999999',
  'headers': {
    'authToken': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWOiJDLTMzNDMyQTVGNDlGNzQwNCIsImlhdCI6MTcxMjExOTA0MCwiZXhw'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://cpaas.messagecentral.com/verification/v3/send?countryCode=91&flowType=SMS&mobileNumber=9999999999');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
  'follow_redirects' => TRUE
));
$request->setHeader(array(
  'authToken' => 'eyJhbGciOiJIUzUxMiJ9.eyJzdWOiJDLTMzNDMyQTVGNDlGNzQwNCIsImlhdCI6MTcxMjExOTA0MCwiZXhw'
));
try {
  $response = $request->send();
  if ($response->getStatus() == 200) {
    echo $response->getBody();
  }
  else {
    echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
    $response->getReasonPhrase();
  }
}
catch(HTTP_Request2_Exception $e) {
  echo 'Error: ' . $e->getMessage();
}
import requests

url = "https://cpaas.messagecentral.com/verification/v3/send?countryCode=91&flowType=SMS&mobileNumber=9999999999"

payload = {}
headers = {
  'authToken': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWOiJDLTMzNDMyQTVGNDlGNzQwNCIsImlhdCI6MTcxMjExOTA0MCwiZXhw'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
require "uri"
require "net/http"

url = URI("https://cpaas.messagecentral.com/verification/v3/send?countryCode=91&flowType=SMS&mobileNumber=9999999999")

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

request = Net::HTTP::Post.new(url)
request["authToken"] = "eyJhbGciOiJIUzUxMiJ9.eyJzdWOiJDLTMzNDMyQTVGNDlGNzQwNCIsImlhdCI6MTcxMjExOTA0MCwiZXhw"

response = https.request(request)
puts response.read_body
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://cpaas.messagecentral.com/verification/v3/send?countryCode=91&flowType=SMS&mobileNumber=9999999999");
request.Headers.Add("authToken", "eyJhbGciOiJIUzUxMiJ9.eyJzdWOiJDLTMzNDMyQTVGNDlGNzQwNCIsImlhdCI6MTcxMjExOTA0MCwiZXhw");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());

Validar OTP

El método validateOTP es un punto final de la API REST para validar una contraseña de un solo uso (OTP) para los clientes.

Encabezado de solicitud
Tipo
¿Obligatorio?
Token de autenticación
Cuerda

Ruta URL de solicitud:

Una respuesta correcta devolverá un código de estado 200.

/verification/v3/validateOtp/
Campo
Tipo
¿Obligatorio?
Descripción
ID de verificación
Larga
ID de verificación de la respuesta de la API /send
código
Cuerda
parte superior
lánguido
Cuerda
no
Número de teléfono móvil para texto único
Tipo de flujo
Cuerda
  • Para soporte en varios idiomas
  • por defecto es inglés
  • Por ahora, solo admitimos inglés

cURL

1curl --location 'https://cpaas.messagecentral.com/verification/v3/validateOtp? 
2&verificationId=2949&code=1476' \
3--header 'authToken: 
4eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJDLTMzNDMyQTVGNDIGNzQwNCI6ImIhdCI6MTcxMjExOTA0MC'

NOTA: Para convertir un comando cURL en código con Postman, abre Postman, importa el comando cURL mediante el botón «Importar» y, a continuación, genera el código en tu idioma preferido haciendo clic en el botón «Código» situado a la derecha de la solicitud.

Respuesta JSON

Una respuesta correcta devolverá un código de estado 200.

1{
2  "responseCode": 200,
3  "message": "SUCCESS",
4  "data": {
5    "verficationId": "xxxx",
6    "mobileNumber": "xxxx",
7    "responseCode": "200",
8    "errorMessage": null,
9    "verificationStatus": "VERIFICATION_COMPLETED",
10    "authToken": null,
11    "transactionId": "xxxx"
12  }
13}

Ejemplo de código

OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
  .url("https://cpaas.messagecentral.com/verification/v3/validateOtp?&verificationId=2949&code=1476")
  .method("GET", body)
  .addHeader("authToken", "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJDLTMzNDMyQTVGNDlGNzQwNCIsImlhdCI6MTcxMjExOT")
  .build();
Response response = client.newCall(request).execute();
var request = require('request');
var options = {
  'method': 'GET',
  'url': 'https://cpaas.messagecentral.com/verification/v3/validateOtp?&verificationId=2949&code=1476',
  'headers': {
    'authToken': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJDLTMzNDMyQTVGNDlGNzQwNCIsImlhdCI6MTcxMjExOT'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://cpaas.messagecentral.com/verification/v3/validateOtp?&verificationId=2949&code=1476');
$request->setMethod(HTTP_Request2::METHOD_GET);
$request->setConfig(array(
  'follow_redirects' => TRUE
));
$request->setHeader(array(
  'authToken' => 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJDLTMzNDMyQTVGNDlGNzQwNCIsImlhdCI6MTcxMjExOT'
));
try {
  $response = $request->send();
  if ($response->getStatus() == 200) {
    echo $response->getBody();
  }
  else {
    echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
    $response->getReasonPhrase();
  }
}
catch(HTTP_Request2_Exception $e) {
  echo 'Error: ' . $e->getMessage();
}
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://cpaas.messagecentral.com/verification/v3/validateOtp?&verificationId=2949&code=1476");
request.Headers.Add("authToken", "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJDLTMzNDMyQTVGNDlGNzQwNCIsImlhdCI6MTcxMjExOT");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());

require "uri"
require "net/http"

url = URI("https://cpaas.messagecentral.com/verification/v3/send?countryCode=91&flowType=SMS&mobileNumber=9999999999")

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

request = Net::HTTP::Post.new(url)
request["authToken"] = "eyJhbGciOiJIUzUxMiJ9.eyJzdWOiJDLTMzNDMyQTVGNDlGNzQwNCIsImlhdCI6MTcxMjExOTA0MCwiZXhw"

response = https.request(request)
puts response.read_body
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://cpaas.messagecentral.com/verification/v3/send?countryCode=91&flowType=SMS&mobileNumber=9999999999");
request.Headers.Add("authToken", "eyJhbGciOiJIUzUxMiJ9.eyJzdWOiJDLTMzNDMyQTVGNDlGNzQwNCIsImlhdCI6MTcxMjExOTA0MCwiZXhw");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());

Códigos de respuesta

Código
Mostrar texto
200
ÉXITO
400
SOLICITUD INCORRECTA
409
RECURSO_DUPLICADO
500
ERROR_SERVIDOR
501
ID_DE CLIENTE NO VÁLIDO
505
ID_DE VERIFICACIÓN NO VÁLIDO
506
LA SOLICITUD YA EXISTE
511
CÓDIGO_DE_PAÍS NO VÁLIDO
700
VERIFICACIÓN_FALLIDA
702
WRONG_OTP_PROVIDED
703
YA_VERIFICADO
705
VERIFICACIÓN_CADUCADA
800
LÍMIT_MÁXIMO_ALCANZADO

¿Necesitas ayuda?

¿Necesitas una mano? Nuestros expertos están disponibles las 24 horas del día, los 7 días de la semana para guiarlo en cualquier momento y en cualquier momento.

Correo electrónico de soporte: support@messagecentral.com

Preguntas frecuentes

1. ¿Cómo puedo implementar con código personalizado?

Puedes usar postman para reescribir las llamadas a la API en tu lenguaje de programación preferido. Tendrías que usar: -

  • Método POST para enviar SMS
  • Método GET para validar SMS OTP

2. ¿Por qué aparece el error «Método no permitido» o el código de error 405?

Debes asegurarte de que la URL del punto final de la API de token coincida con la definida en la documentación. Lo mismo se menciona a continuación: -

a. API de token mediante el método GET

b. Enviar API mediante el método POST

c. Validar la API mediante el método GET



3. ¿Cómo pruebo las API de verificación por SMS?

Puedes usar Postman para probar las API de verificación de SMS de Message Central.

4. ¿Por qué aparece la página «Error de etiqueta blanca»?

Si aparece la página de error de etiqueta blanca, debe comprobar si hay los siguientes errores: -

a. Estás utilizando un paquete de API incorrecto

b. No ha sustituido los marcadores de posición por los valores reales

c. La curva de la API es incorrecta

d. La ubicación de Curl no se ha cambiado a «producción» en lugar de «puesta en escena»

5. ¿Por qué aparece el código de error 401?

Esto puede deberse a que la API o el token son incorrectos. Asegúrese de haber seguido nuestra documentación de API para conocer los valores correctos de los tokens.

6. ¿Por qué aparece el código de error 400 o «Solicitud incorrecta» en Postman?

Hay varias razones para una «solicitud incorrecta» en Postman. Puedes comprobar los siguientes motivos probables: -

a. Compruebe si el AuthToken es correcto

b. Compruebe si falta algún parámetro en la API

c. El encabezado debe pasarse en este formato: application-x-www-form-urlencoded

7. ¿Cómo puedo generar AuthToken?

Para generar el AuthToken en Postman, debes: -

a. Busque una «clave» en la API GET

b. Tendrías que copiar esa clave y codificar la misma usando Base64 - https://www.base64encode.org/

c. Coloque la contraseña codificada en el marcador de posición «Clave»

d. Pulsa la API GET

Obtendrías un AuthToken.

8. ¿Dónde uso el AuthToken?

Deberás poner el authToken en el encabezado de la API SEND.

9. ¿Qué marcadores de posición debo cambiar en la API GET para generar el token?

Deberás cambiar el país, la identificación del cliente, el correo electrónico y la clave. El alcance siempre será igual a = «NUEVO»

Campo
Tipo
¿Obligatorio?
Descripción
ID de cliente
Cuerda
Identificador de cliente (es necesario regístrate para obtener tu identificador de cliente)
clave
Cuerda
Contraseña cifrada en base 64

10. ¿Qué marcadores de posición debo cambiar en la API SEND?

Deberás cambiar el código de país, la identificación del cliente, la longitud del límite y el número de teléfono móvil.

Campo
Tipo
¿Obligatorio?
Descripción
ID de cliente
Cuerda
Código de país
Tipo de flujo
Cuerda
Enviamos OTP utilizando varios medios como SMS, WhatsApp, correo electrónico, etc. Por ahora, usa SMS o WhatsApp

1. ¿Cómo integro la API OTP de VerifyNow con un código personalizado?

Se puede integrar fácilmente Verificar ahora con tu propia base de código usando Cartero o cualquier herramienta de prueba de API. Usa el Método POST para enviar SMS OTP y Método GET para validar las OTP. Puedes generar código de ejemplo en tu lenguaje de programación preferido directamente desde Postman.

2. ¿Por qué aparece el error «Método no permitido» o el código de error 405?

Debes asegurarte de que la URL del punto final de la API de token coincida con la definida en la documentación. Lo mismo se menciona a continuación: -

También puede consultar nuestra vídeo sobre la integración de API que explica en detalle todo el proceso de integración.

  • API de tokens: OBTENER
  • Enviar API: PUBLICAR
  • Validar API: GET
    Consulta la guía oficial en vídeo de integración para ver la configuración paso a paso.

3. ¿Cómo puedo probar las API de verificación por SMS de VerifyNow?

Puede probar todas las API de verificación OTP y SMS de VerifyNow usando Cartero. Importe la colección de API, introduzca sus credenciales y ejecute solicitudes de muestra para simular los envíos y validaciones de OTP antes de pasar a la producción.

4. ¿Por qué aparece una página de «error de etiqueta blanca» al llamar a la API?

Por lo general, esto significa que hay un problema con el paquete de solicitud o con la configuración del entorno. Entre los motivos más comunes se incluyen:

  • Valores incorrectos del cuerpo o del marcador de posición de la API
  • Estructura CURL incorrecta o encabezados faltantes
  • Utilizar el punto final de ensayo en lugar de la producción

Comprueba las URL de tu carga útil y de punto final antes de volver a intentarlo.

5. ¿Por qué aparece el código de error 401 (no autorizado)?

Error 401 No autorizado significa tu Token de autenticación o las credenciales no son válidas. Asegúrese de que su token se haya generado y agregado correctamente al encabezado de la solicitud tal y como se describe en la documentación de la API VerifyNow.

6. ¿Por qué aparece el código de error 400 («solicitud incorrecta») en Postman?

Error 400 Solicitud incorrecta normalmente indica un problema con los parámetros o los encabezados. Compruebe si hay:

  • Faltan parámetros obligatorios en el cuerpo de la API
  • AuthToken incorrecto
  • Tipo de contenido incorrecto (utilice application/x-www-form-urlencoded)

7. ¿Cómo puedo generar un AuthToken en la API VerifyNow?

Puedes generar tu Token de autenticación utilizando el API GET Token:

  • Busca tu clave en la consola de la API
  • Codifica usando Base 64
  • Reemplace el valor del marcador de posición en el campo Clave
  • Pulsa la API GET Token para recibir tu AuthToken

8. ¿Dónde debo usar el authToken en las API de VerifyNow?

El generado Token de autenticación debe añadirse al encabezado de tu ENVIAR API solicitudes. Esto autentica su solicitud de OTP y garantiza una comunicación segura entre su aplicación y VerifyNow.

9. ¿Qué parámetros debo modificar en la API GET Token?

Al generar un AuthToken, actualiza los siguientes campos:

  • campo
  • ID de cliente
  • correo electrónico
  • clave

Al generar un AuthToken, actualiza los siguientes campos:

Campo
Tipo
¿Obligatorio?
Descripción
ID de cliente
Cuerda
Identificador de cliente (es necesario regístrate para obtener tu identificador de cliente)
clave
Cuerda
Contraseña cifrada en base 64

10. ¿Qué parámetros debo cambiar en la API SEND?

Cuando envíes una OTP, asegúrate de reemplazar:

  • código de país
  • ID de cliente
  • longitud superior
  • número de móvil

Esto garantiza que tus OTP se envíen al usuario y la región correctos.

Campo
Tipo
¿Obligatorio?
Descripción
ID de cliente
Cuerda
Código de país
Tipo de flujo
Cuerda
Enviamos OTP utilizando varios medios como SMS, WhatsApp, correo electrónico, etc. Por ahora, usa SMS o WhatsApp

¿Estás listo para empezar?

Proteja sus cuentas de usuario y genere confianza con sus clientes mediante la verificación por SMS. Prueba Verify Now sin ninguna tarjeta de crédito.