Skip to content

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

EncabezadoTipoObligatorioDescripción
AuthorizationString✅ SíToken de autenticación (Bearer Token).
Content-TypeString✅ SíDebe ser application/json.

Cuerpo de la solicitud

AtributoTipoObligatorioDescripción
wa_numberString✅ SíNúmero de WhatsApp desde el cual se enviará el mensaje.
destinationString✅ SíNúmero de WhatsApp del destinatario.
template_nameString✅ SíNombre de la plantilla a utilizar.
header_paramString/null❌ NoParámetro opcional para el encabezado del mensaje.
body_paramsArray❌ NoLista de parámetros que reemplazarán valores en el cuerpo del mensaje.
body_params.keyString✅ SíClave del parámetro en la plantilla (ejemplo: "1").
body_params.valueString✅ 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

CampoTipoDescripción
messageStringMensaje de respuesta del servidor.
data.update_idStringIdentificador único de la actualización.

Errores generales

Código HTTPTipoCausa común
401UnauthorizedEl 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.
422Unprocessable EntityLa 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).
500Server ErrorError interno del servidor. Intenta nuevamente más tarde o contacta soporte técnico.