Envío de OTP personalizado

Si desea generar el código de verificación por su cuenta en lugar de hacerlo a través de la plataforma EngageLab, puede llamar a esta interfaz.

Esta interfaz se utiliza exclusivamente para enviar códigos de verificación pregenerados y no genera el código de verificación por sí misma. Tras enviar el código de verificación, no es necesario llamar a la interfaz de verificación para validarlo.

Si desea que la plataforma EngageLab genere el código de verificación, puede llamar a la interfaz Envío de OTP de EngageLab.

Dirección de la llamada

POST https://otp.api.engagelab.cc/v1/codes

Autenticación de llamadas

Consulte Autenticación de llamadas para saber cómo autenticar la API.

Ejemplo de solicitud

Encabezados de la solicitud

POST /v1/codes HTTP/1.1 Content-Type: application/json Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
              
              POST /v1/codes  HTTP/1.1  
Content-Type: application/json  
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0

            
Este bloque de código se muestra en una ventana flotante

Cuerpo de la solicitud

{ "to": "+6591234567", "code":"398210", "template":{ "id":"test-template-1", "language": "default", "params": { "key1": "value1", "key2": "value2" } } }
              
              {
    "to": "+6591234567",
    "code":"398210",
    "template":{
      "id":"test-template-1",
      "language": "default",
        "params": {
        "key1": "value1",
        "key2": "value2"
        }
    }
}

            
Este bloque de código se muestra en una ventana flotante

Parámetros de la solicitud

Un objeto de solicitud se expresa en formato JSON, por lo que el encabezado de la solicitud debe incluir Content-Type: application/json.

Parámetro Tipo Opción Descripción
to String Obligatorio Destino del envío, número de teléfono o dirección de correo, +6598765432, support@engagelab.com
code String Obligatorio El código de verificación personalizado que se va a enviar
template JSON Object Obligatorio Información de la plantilla; los parámetros de segundo nivel que contiene se indican a continuación
|_ id String Obligatorio ID de la plantilla
|_ language String Opcional Idioma de la plantilla; se admiten los siguientes idiomas:
default idioma predeterminado
zh_CN chino simplificado
zh_HK chino tradicional
en inglés
ja japonés
th tailandés
es español
si no se pasa, el valor predeterminado es default (idioma predeterminado)
|_ params JSON Object Opcional Valor de la Key de variable personalizada de la plantilla
Si definió variables personalizadas al crear la plantilla, asígneles aquí su valor; si no se pasa, se enviará directamente con la Key de la variable, como {{var}}

Acerca de params

  1. Para los campos preestablecidos de la plantilla, como from_id, si no se pasa el valor del campo params, al enviar el mensaje se usa el from_id preestablecido de la plantilla;
  2. Si se pasa el valor del campo params, como params:{"from_id":"12345"}, al enviar el mensaje el from_id de la plantilla se sustituirá por 12345;
  3. Asimismo, para los campos de variables personalizadas del contenido de la plantilla definidos al crearla, también se asignan sus valores mediante params; por ejemplo, si el contenido de la plantilla es Hi {{name}}, your verify code is {{code}}, deberá asignar el parámetro params:{"name":"Bob"}
  4. Variables especiales del canal Email: para el canal Email, se admite sobrescribir dinámicamente mediante params el asunto del correo (subject), el nombre del remitente (from_name), el correo del remitente (from_mail), etc. Para el uso avanzado detallado, consulte Crear plantilla - Uso avanzado de las variables de plantilla de Email.

Parámetros de la respuesta

Respuesta exitosa

Campo Tipo Opción Descripción
message_id String Obligatorio ID del mensaje, identifica de forma única un mensaje
send_channel String Obligatorio Indica el canal de envío actual; los valores posibles son whatsapp/sms/email/voice
{ "message_id": "1725407449772531712", "send_channel": "sms" }
              
              {
    "message_id": "1725407449772531712",
    "send_channel": "sms"
}

            
Este bloque de código se muestra en una ventana flotante

Tenga en cuenta que el valor de**send_channel**devuelto no representa el canal final por el que se entrega al usuario, sino únicamente el canal usado en la etapa actual; por ejemplo, si en la estrategia configurada en la plantilla se establece que, ante un fallo de entrega por el canal WhatsApp, se reenvíe automáticamente por el canal SMS, la interfaz devolverá el valor whatsapp y, tras detectar el fallo de entrega pasado un tiempo, el sistema enviará por el canal SMS.

Respuesta de error

El código de estado HTTP es 4xx o 5xx, y el cuerpo de la respuesta contiene los siguientes campos:

Campo Tipo Opción Descripción
code int Obligatorio Código de error; véase la descripción de los códigos de error
message String Obligatorio Detalles del error
{ "code": 5001, "message": "sms send fail" }
              
              {
    "code": 5001,
    "message": "sms send fail"
}

            
Este bloque de código se muestra en una ventana flotante

Códigos de error

Código de error http code Descripción
1000 500 Error interno
2001 401 Error de autenticación; no se incluyó un token correcto
2002 401 Error de autenticación; el token ha expirado o ha sido deshabilitado
2004 403 Sin permiso para llamar a esta API
3001 400 Formato de los parámetros de la solicitud no válido; compruebe que el contenido JSON cumple el formato de los parámetros
3002 400 Parámetros de la solicitud incorrectos; compruebe que los parámetros de la solicitud cumplen los requisitos
3003 400 Parámetros de la solicitud incorrectos; falló la validación de negocio correspondiente; consulte la descripción del error en el campo message
3004 400 Se superó el límite de frecuencia; para la misma plantilla y el mismo usuario de destino, no se puede volver a enviar dentro del periodo de validez del código de verificación
4001 400 El recurso correspondiente no existe; por ejemplo, se usó una plantilla inexistente al enviar el mensaje de plantilla
5001 400 Error de envío (genérico/otros)
5011 400 Formato del número de teléfono no válido
5012 400 Destino inalcanzable
5013 400 El número está en la lista negra
5014 400 El contenido no cumple las normas
5015 400 Mensaje interceptado/rechazado
5016 400 Error interno de envío
5017 400 Sin permiso de envío a la región de China
5018 400 Teléfono averiado (apagado/suspendido)
5019 400 El usuario ha cancelado la suscripción
5020 400 Número no registrado/inexistente
Icon Solid Transparent White Qiyu
Contacto