API SMS Sending

Si desea automatizar el envío de SMS de notificación y marketing sin generarlos a través de la plataforma EngageLab, se puede llamar a esta API. Especificar el ID de la plantilla de SMS y los destinatarios objetivo, y el sistema enviará automáticamente los SMS según el contenido de la plantilla.

Configuración de la plataforma

Antes de llamar, se deben completar las siguientes configuraciones en la consola de SMS de EngageLab:

Configuración de plantilla de SMS: Antes de llamar a la API, ir a la página de gestión de plantillas para personalizar y enviar plantillas de SMS. La plantilla solo se puede utilizar después de que haya sido aprobada y se haya obtenido el ID de la plantilla.

Configuración de clave de API: Ir a la página de Claves de API para crear una clave de autenticación básica (Basic) de API.

Proceso de llamada

Consultar el siguiente proceso para llamar a la API de envío de SMS. Si tiene alguna pregunta, contactar con atención al cliente.

URL de llamada

POST https://smsapi.engagelab.com/v1/messages

Autenticación de la llamada

Utilizar HTTP Basic Authentication para la verificación. Añadir Authorization en el encabezado 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 del base64_auth_string anterior es: base64(dev_key:dev_secret)

Formato de solicitud

Encabezado de solicitud

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

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

Cuerpo de solicitud

{ "to": [ "923700056581" ], "template": { "id": "1233", "params": { "content": "Verification code: 039487. This code will expire in 5 minutes. You are attempting to create your account." } } }
              
              {
    "to": [
        "923700056581"
    ],
    "template": {
        "id": "1233",
        "params": {
            "content": "Verification code: 039487. This code will expire in 5 minutes. You are attempting to create your account."
        }
    }
}

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

Parámetros de solicitud

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

Nombre Ubicación Tipo Obligatorio Descripción Notas
Authorization header array[string] No
to body array[string] Lista de ID objetivo Números de teléfono objetivo
plan_name body string No Nombre del plan Opcional; el valor predeterminado es "-" si no se proporciona
schedule_time body integer No Hora programada No es obligatorio para envíos no programados; marca de tiempo
template body object
id body string
params body object
custom_args body object No Parámetro personalizado

Si se han personalizado variables al crear la plantilla, se deben pasar aquí sus valores. Si no se pasan, se enviará directamente la clave de la variable, por ejemplo, {{var1}}.

Explicación de params

Para el contenido de plantilla con campos de variables personalizados, asignar valores mediante params. Por ejemplo, si el contenido de la plantilla es Hi {{name}}, welcome to EngageLab, se debe asignar el parámetro como params:{"name":"Bob"}.

Ejemplos de solicitud

1. Envío de contenido de notificación personalizado:

{ "to": ["+8618701235678"], "template": { "id": "notification-template", "params": { "order": "123456" } } }
              
              {
    "to": ["+8618701235678"],
    "template": {
        "id": "notification-template",
        "params": {
            "order": "123456"
        }
    }
}

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

2. Envío de contenido de marketing personalizado:

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

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

Respuesta

El código de estado HTTP es 200 y el cuerpo de la respuesta contiene los siguientes campos:

Campo Tipo Obligatorio Descripción
plan_id string ID del plan
total_count integer Número de destinatarios recibidos
accepted_count integer Número de destinatarios válidos recibidos
message_id string Opcional Se devuelve en envíos individuales con el ID de mensaje correspondiente

Ejemplo de éxito (destinatario único)

{ "plan_id": "1972488990548348928", "total_count": 1, "accepted_count": 1, "message_id": "1972488990804201472" }
              
              {
    "plan_id": "1972488990548348928",
    "total_count": 1,
    "accepted_count": 1,
    "message_id": "1972488990804201472"
}

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

Ejemplo de éxito (múltiples destinatarios)

{ "plan_id": "1972484198153367552", "total_count": 2, "accepted_count": 2 }
              
              {
    "plan_id": "1972484198153367552",
    "total_count": 2,
    "accepted_count": 2
}

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

Ejemplo de éxito (tarea programada)

{ "plan_id": "1972492618659033088", "total_count": 1, "accepted_count": 1, "schedule_info": { "task_id": 1972492621368553472 } }
              
              {
    "plan_id": "1972492618659033088",
    "total_count": 1,
    "accepted_count": 1,
    "schedule_info": {
        "task_id": 1972492621368553472
    }
}

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

Ejemplo de error

{ "plan_id": "1972490061974913024", "total_count": 1, "accepted_count": 1, "message": "err xxxx", "code": 1 }
              
              {
    "plan_id": "1972490061974913024",
    "total_count": 1,
    "accepted_count": 1,
    "message": "err xxxx",
    "code": 1
}

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

Errores de envío

El código de estado HTTP es 200 y el cuerpo de la respuesta contiene los siguientes campos:

Campo Tipo Obligatorio
plan_id string
total_count integer
accepted_count integer
message string
code integer
{ "plan_id": "string", "total_count": 0, "accepted_count": 0, "message": "string", "code": 0 }
              
              {
    "plan_id": "string",
    "total_count": 0,
    "accepted_count": 0,
    "message": "string",
    "code": 0
}

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

Códigos de error

Código de error Código HTTP Descripción
1000 500 Error interno
2001 401 Fallo de autenticación; se proporcionó un token incorrecto
2002 401 Fallo de autenticación; el token ha caducado o está deshabilitado
2004 403 Sin permisos para llamar a esta API
3001 400 Formato de parámetro de solicitud no válido; comprobar si se ajusta al formato JSON
3002 400 Parámetros de solicitud no válidos; comprobar si cumplen los requisitos
3003 400 Parámetros de solicitud no válidos; la validación de negocio ha fallado; consultar el campo message para ver los detalles del error
3004 400 Se ha superado el límite de frecuencia; no se puede reenviar la misma plantilla al mismo usuario objetivo dentro del periodo de validez del código de verificación
4001 400 Recurso no encontrado; por ejemplo, uso de una plantilla inexistente para el envío de mensajes
5001 400 Fallo en el envío del mensaje de código de verificación; consultar el campo message para ver los detalles del error
Icon Solid Transparent White Qiyu
Contacto