Appearance
Enviar mensaje con plantilla
POST /api/v1/message_templates/send
Este endpoint permite enviar un mensaje utilizando una plantilla predefinida de WhatsApp. Las plantillas permiten mantener un formato estandarizado y estructurado en la comunicación, asegurando que los mensajes enviados sean consistentes y cumplan con las políticas de WhatsApp Business API.
El mensaje se envía desde un número autorizado a un destinatario específico, permitiendo personalizar su contenido mediante la inclusión de parámetros dinámicos en el cuerpo del mensaje o en su encabezado. Esto es especialmente útil para enviar notificaciones automatizadas, recordatorios, confirmaciones de citas, entre otros casos de uso.
El endpoint requiere una solicitud POST
con un cuerpo en formato JSON que especifique el número de origen, el destinatario, el nombre de la plantilla y los valores a reemplazar en los parámetros dinámicos. A continuación, se detalla su uso, incluyendo los parámetros requeridos, ejemplos de solicitud y la estructura de la respuesta.
ℹ Recuerda que:
La URL base para todas las solicitudes es: https://tu-dominio.c3.pe
Importante: reemplaza tu-dominio
por el nombre de dominio específico que te haya proporcionado C3.
Solicitud
Cabeceras
Encabezado | Tipo | Obligatorio | Descripción |
---|---|---|---|
Authorization | String | ✅ Sí | Token de autenticación (Bearer Token). |
Content-Type | String | ✅ Sí | Debe ser application/json . |
Cuerpo de la solicitud
Atributo | Tipo | Obligatorio | Descripción |
---|---|---|---|
wa_number | String | ✅ Sí | Número de WhatsApp desde el cual se enviará el mensaje. |
destination | String | ✅ Sí | Número de WhatsApp del destinatario. |
template_name | String | ✅ Sí | Nombre de la plantilla a utilizar. |
header_param | String/null | ❌ No | Parámetro opcional para el encabezado del mensaje. |
body_params | Array | ❌ No | Lista de parámetros que reemplazarán valores en el cuerpo del mensaje. |
body_params.key | String | ✅ Sí | Clave del parámetro en la plantilla (ejemplo: "1" ). |
body_params.value | String | ✅ Sí | Valor que reemplazará la variable en la plantilla. |
Ejemplo de solicitud completa
http
POST /api/v1/message_templates/send
El cuerpo de la solicitud debe enviarse en formato JSON e incluir los siguientes campos:
json
{
"wa_number": "5117484531",
"destination": "51947209255",
"template_name": "recuperacion_de_atencion",
"header_param": null,
"body_params": [
{
"key": "1",
"value": "Gabriel"
}
]
}
Respuesta
La API devuelve un json con la siguiente estructura.
Respuesta base 200
json
{
"message": "La solicitud se completó con éxito!",
"data": {
"update_id": "msg_c3api_1748361117"
}
}
Definición de atributos
Campo | Tipo | Descripción |
---|---|---|
message | String | Mensaje de respuesta del servidor. |
data.update_id | String | Identificador único de la actualización. |
Errores generales
Código HTTP | Tipo | Causa común |
---|---|---|
401 | Unauthorized | El token de acceso no fue proporcionado en el encabezado Authorization , es inválido o ha sido revocado. Verifique que el token sea correcto y esté activo. |
422 | Unprocessable Entity | La solicitud fue entendida, pero contiene errores semánticos que impiden su procesamiento. Esto puede deberse a: 1. Parámetros faltantes o inválidos (ej, from_date no es una fecha válida); 2. Recurso inexistente ( wa_number no registrado en el sistema); 3. Violación de reglas de negocio (el rango de fechas excede el límite permitido). |
500 | Server Error | Error interno del servidor. Intenta nuevamente más tarde o contacta soporte técnico. |