Envío de código OTP personalizado

Si quieres generar tú mismo los códigos de verificación, en lugar de que los genere la plataforma EngageLab, puedes llamar a esta API.

Esta API se utiliza específicamente para enviar códigos de verificación pregenerados y no genera códigos de verificación por sí sola. Después de enviar un código de verificación, no es necesario llamar a una API de verificación para validarlo.

Si quieres que la plataforma EngageLab genere los códigos de verificación, puedes llamar a la API EngageLab OTP Verification Code Delivery.

Endpoint

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

Autenticación

Utiliza autenticación básica HTTP añadiendo Authorization a la cabecera HTTP:

Authorization: Basic ${base64_auth_string}
              
              Authorization: Basic ${base64_auth_string}

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

El algoritmo de generación de base64_auth_string anterior es: base64(dev_key:dev_secret).

Ejemplo de solicitud

Cabecera 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 la cabecera de la solicitud debe incluir Content-Type: application/json.

Parameter Type Required Description
to String Required Destino de entrega: un número de teléfono o una dirección de correo electrónico, como +6598765432 o support@engagelab.com
code String Required El código de verificación personalizado que se va a enviar
template JSON Object Required Información de la plantilla. Consulta los parámetros de segundo nivel a continuación
|_ id String Required ID de la plantilla
|_ language String Optional 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 proporciona, el valor predeterminado es default (el idioma predeterminado).
|_ params JSON Object Optional Valores para las claves de variables personalizadas de la plantilla. Si definiste variables personalizadas al crear la plantilla, asigna aquí sus valores. Si no se proporciona, la clave de variable se enviará directamente, como {{var}}.

Descripción de params

  1. Para campos de plantilla predefinidos como from_id, si no se proporciona el valor del campo param_vars, se utilizará el from_id predefinido en la plantilla cuando se envíe el mensaje.
  2. Si se proporciona el valor del campo param_vars, como param_vars:{"from_id":"12345"}, entonces el from_id de la plantilla se sustituirá por 12345 cuando se envíe el mensaje.
  3. Los campos de variables personalizadas en el contenido de la plantilla creados durante la creación de la plantilla también reciben valores mediante param_vars. Por ejemplo, si el contenido de la plantilla es Hi {{name}}, your verify code is {{code}}, entonces se requiere el parámetro de asignación param_vars:{"name":"Bob"}.

Parámetros de respuesta

Respuesta correcta

Field Type Required Description
message_id String Required ID del mensaje, que identifica de forma única un mensaje
send_channel String Required Indica el canal de entrega actual. Valores posibles: 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

Ten en cuenta que el valor send_channel devuelto no representa el canal final utilizado para entregar el mensaje al usuario; solo representa el canal que se está utilizando actualmente. Por ejemplo, si la estrategia de la plantilla está configurada para que el envío a través del canal de WhatsApp vuelva a intentarse automáticamente a través del canal SMS en caso de fallo, la respuesta de la API devolverá el valor whatsapp. Tras un determinado periodo de tiempo, si se detecta un fallo en la entrega, el sistema enviará el mensaje a través del canal SMS.

Respuesta fallida

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

Field Type Required Description
code int Required Código de error. Para más detalles, consulta Códigos de error
message String Required 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

Error Code HTTP Code Description
1000 500 Error interno
2001 401 Error de autenticación. No se ha proporcionado el token correcto.
2002 401 Error de autenticación. El token ha caducado o ha sido deshabilitado.
2004 403 No tienes permiso para llamar a esta API
3001 400 Formato de parámetro de solicitud no válido. Comprueba si el contenido JSON coincide con el formato de parámetro requerido.
3002 400 Parámetros de solicitud no válidos. Comprueba si los parámetros de la solicitud cumplen los requisitos.
3003 400 Parámetros de solicitud no válidos. La validación de negocio relacionada ha fallado. Consulta la descripción del error en el campo message para más detalles.
3004 400 Límite de frecuencia superado. Para la misma plantilla y el mismo usuario de destino, no se puede volver a realizar el envío dentro del periodo de validez del código de verificación.
4001 400 El recurso relacionado no existe, por ejemplo, usar una plantilla inexistente al enviar un mensaje de plantilla.
5001 400 Error de envío (general/otro)
5011 400 Formato de número de teléfono no válido
5012 400 Destino inalcanzable
5013 400 El número ha sido incluido en la lista negra
5014 400 El contenido no cumple las especificaciones
5015 400 Mensaje interceptado/rechazado
5016 400 Error interno de envío
5017 400 Sin permiso de envío para China continental
5018 400 Mal funcionamiento del teléfono (apagado/servicio suspendido)
5019 400 El usuario se ha dado de baja
5020 400 Número no registrado/número no válido
Icon Solid Transparent White Qiyu
Contacto