Envío de mensajes personalizados

Si ha creado contenido de plantilla personalizado en la plataforma OTP, llame a esta interfaz para enviar el contenido del mensaje personalizado.

Dirección de la llamada

POST https://otp.api.engagelab.cc/v1/custom-messages

Autenticación de llamadas

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

Formato de la solicitud

Encabezados de la solicitud

POST /v1/custom-messages HTTP/1.1 Content-Type: application/json Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
              
              POST /v1/custom-messages  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", "template":{ "id":"test-template-1", "params": { "code": "codevalue", "var1":"value1" } } }
              
              {
    "to": "+6591234567", 
    "template":{
      "id":"test-template-1",
      "params": {
        "code": "codevalue",
        "var1":"value1"
        }
    }
}

            
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
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
|_ params JSON Object Opcional Parámetros de la plantilla
_ |_ code String Opcional Cuando el tipo de plantilla es código de verificación, este campo es obligatorio.
_ |_ var String 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 {{var1}}

Acerca de params

  1. Para las variables preestablecidas de la plantilla como {{brand_name}}, {{ttl}}, {{pwa_url}}, no es necesario pasarlas; el sistema las sustituirá automáticamente por el contenido especificado al crear la plantilla;
  2. Si el tipo de plantilla es código de verificación, es obligatorio pasar la variable {{code}}; de lo contrario, se producirá un error.;
  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.

Ejemplos de solicitud

1. Enviar un código de verificación personalizado:

{ "to": "+6591234567", "template":{ "id":"code-template", "params": { "code": "123456" } } }
              
              {
    "to": "+6591234567", 
    "template":{
      "id":"code-template",
      "params": {
        "code": "123456"        
        }
    }
}

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

2. Enviar contenido de notificación personalizado:

{ "to": "+6591234567", "template": { "id": "notification-template", "params": { "order": "123456" } } }
              
              {
    "to": "+6591234567",
    "template": {
        "id": "notification-template",
        "params": {
            "order": "123456"
        }
    }
}

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

3. Enviar contenido de marketing personalizado:

{ "to": ["+6591234567"], "template": { "id": "marketing-template", "params": { "name": "EngageLab", "promotion": "30%" } } }
              
              {
    "to": ["+6591234567"],
    "template": {
        "id": "marketing-template",
        "params": {
            "name": "EngageLab",
            "promotion": "30%"
        }
    }
}

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

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