WhatsApp Send Message API Documentation - EngageLab
Utilice la API de mensajería (Messaging API) para integrar las capacidades de mensajería de WhatsApp en sus sistemas empresariales.
Antes de llamar a la API, inicie sesión en la consola y cree una clave en la página clave de API.
Dirección de llamada
POST https://wa.api.engagelab.cc/v1/messages
Validación de la llamada
La EngageLab REST API utiliza autenticación básica HTTP como método de autenticación, añadiendo Authorization en el encabezado HTTP.
Authorization: Basic ${base64_auth_string}
El algoritmo anterior de generación de base64_auth_string es el siguiente: base64(dev_key:dev_secret)
- El nombre del encabezado es "Authorization" y el valor es un par "username:password" convertido a base64 (con dos puntos en medio).
- En el escenario de la API de WhatsApp, el nombre de usuario es DevKey y la contraseña es DevSecret. En la consola, seleccione Gestión de configuración - clave de API para obtener la página.
Solicitudes de ejemplo
Encabezado de la solicitud
POST /v1/messages HTTP/1.1
Content-Type: application/json
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
Cuerpo de la solicitud
{
"from": "+8613800138000",
"to": [
"00447911123456"
],
"body": {
"type": "template",
"template": {
"name": "code",
"language": "zh_CN",
"components": [
{
"type": "body",
"parameters": [
{
"type": "text",
"text": "12345"
}
]
}
]
}
},
"request_id": "123asdbbqwe9faweg",
"custom_args": {
"arg1": "string val",
"arg2": 123
}
}
Parámetros de solicitud
Un objeto de solicitud se expresa en formato JSON, por lo que el encabezado de la solicitud debe contener Content-Type: application/json.
| Parámetro | Tipo | Opción | Descripción |
|---|---|---|---|
| from | String | opcional | Número de envío |
| to | String Array | obligatorio | Número de teléfono del destinatario. |
| body | JSON Object | obligatorio | Cuerpo del mensaje |
| request_id | String | opcional | ID de solicitud personalizada que identifica la solicitud. |
| custom_args | JSON Object | opcional | La información personalizada se devuelve al desarrollador en el callback de estado del mensaje. |
from
| Parámetro | Tipo | Opción | Descripción |
|---|---|---|---|
| from | String | opcional |
to
| Parámetro | Tipo | Opción | Descripción |
|---|---|---|---|
| to | String Array | obligatorio | Número de teléfono de WhatsApp del destinatario; se debe añadir el código internacional. |
body
Cuerpo del mensaje que contiene los siguientes campos:
| Parámetro | Tipo | Opción | Descripción |
|---|---|---|---|
| type | string | obligatorio | Tipo de mensaje. Valores válidos: Solo los mensajes de plantilla pueden enviarse a usuarios. El resto de tipos de mensajes requieren que el usuario responda al mensaje en un plazo de 24 horas para poder entregarse. Las imágenes, el audio, el vídeo, los documentos y los stickers son mensajes multimedia. Requisitos de formato de mensajes multimedia |
| template | template object | opcional | Se utiliza cuando type = template. Para más información, consulte descripción del objeto template |
| text | text object | opcional | Se utiliza cuando type = text. Para más información, consulte descripción del objeto text |
| image | image object | opcional | Se utiliza cuando type = image. Para más información, consulte descripción del objeto image |
| audio | audio object | opcional | Se utiliza cuando type = audio. Para más información, consulte descripción del objeto audio |
| video | video object | opcional | Se utiliza cuando type = video. Para más información, consulte descripción del objeto video |
| document | document object | opcional | Se utiliza cuando type = document. Para más información, consulte descripción del objeto document |
| sticker | sticker object | opcional | Se utiliza cuando type = sticker. Para más información, consulte descripción del objeto sticker |
Descripción del objeto text
Mensaje de texto
| Parámetro | Tipo | Opción | Descripción |
|---|---|---|---|
| body | String | obligatorio | El contenido del mensaje de WhatsApp no debe superar los 4096 caracteres. |
Descripción del objeto image
Mensaje de imagen
| Parámetro | Tipo | Opción | Descripción |
|---|---|---|---|
| id | String | opcional | El id y el enlace generados por WhatsApp deben tener un valor. |
| link | String | opcional | Enlace de la imagen; enlace http/https. Debe cumplir con los requisitos de formato de mensajes multimedia |
| caption | String | opcional | Descripción de la imagen. No puede superar los 1024 caracteres. |
Descripción del objeto video
Mensaje de vídeo
| Parámetro | Tipo | Opción | Descripción |
|---|---|---|---|
| id | String | opcional | media_id generado por WhatsApp; tanto id como link deben tener un valor. |
| link | String | opcional | Enlace del vídeo; enlace http/https. Debe cumplir con los requisitos de formato de mensajes multimedia |
| caption | String | opcional | Descripción del vídeo, hasta 1024 caracteres. |
Descripción del objeto audio
Mensaje de audio
| Parámetro | Tipo | Opción | Descripción |
|---|---|---|---|
| id | String | opcional | media_id generado por WhatsApp; tanto id como link deben tener un valor. |
| link | String | opcional | Enlace de audio; enlace http/https. Debe cumplir con los requisitos de formato de mensajes multimedia |
Descripción del objeto document
Mensaje de archivo
| Parámetro | Tipo | Opción | Descripción |
|---|---|---|---|
| id | String | opcional | media_id generado por WhatsApp; tanto id como link deben tener un valor. |
| link | String | opcional | Enlace del documento; enlace http/https. Debe cumplir con los requisitos de formato de mensajes multimedia |
| caption | String | opcional | Descripción del archivo, hasta 1024 caracteres. |
| filename | String | opcional | Nombre del archivo. |
Descripción del objeto sticker
Mensaje de sticker
| Parámetro | Tipo | Opción | Descripción |
|---|---|---|---|
| id | String | opcional | media_id en WhatsApp; tanto id como link deben tener un valor. |
| link | String | opcional | Enlace del sticker; enlace http/https. Debe cumplir con los requisitos de formato de mensajes multimedia |
Descripción del objeto template
Mensaje de plantilla; es necesario crear primero una plantilla.
| Parámetro | Tipo | Opción | Descripción |
|---|---|---|---|
| name | String | obligatorio | Nombre de la plantilla. Solo se admiten letras minúsculas, números y guiones bajos. |
| language | String | obligatorio | Código de idioma de la plantilla. |
| components | components-object array | opcional | Si existe una variable en la plantilla, es necesario completar este campo. |
Descripción del objeto template.components.parameters
| Parámetro | Tipo | Opción | Descripción |
|---|---|---|---|
| type | string | obligatorio | Tipo de variable. Valores válidos: text, currency, date_time, image, video y document. Los tipos multimedia (image, video y document) solo existen en el encabezado (header). Para más información, consulte requisitos de formato de mensajes multimedia. |
Parámetros de respuesta
Respuesta correcta
| Campo | Tipo | Opción | Descripción |
|---|---|---|---|
| message_id | String | obligatorio | ID del mensaje de EngageLab WhatsApp que identifica de forma única un mensaje. |
| request_id | String | opcional | ID personalizado enviado durante la solicitud. |
Respuesta de error
| Campo | Tipo | Opción | Descripción |
|---|---|---|---|
| code | int | obligatorio | Código de error. |
| message | String | obligatorio | Detalles del error |
Comentarios
Requisitos de formato de mensajes multimedia
| Tipo de medio | Tipos de formato admitidos Content-Type | Límite de tamaño |
|---|---|---|
| image | image/jpeg, image/png; no admite fondo transparente | 5MB |
| video | video/mp4 , video/3gpp | 16MB |
| audio | audio/aac, audio/mp4, audio/amr, audio/mpeg, audio/ogg; codecs = opus | 16MB |
| document | El archivo del encabezado solo admite formato PDF en mensajes de plantilla | 100MB |

