v1

latestOpenAPI 3.0.3Proprietary2026-08-0610636149.4 KB
WhatsApp

Enviar mensajes con plantilla

Envía una plantilla HSM aprobada a uno o más destinatarios. La plantilla se resuelve por nombre y se valida APPROVED antes de consumir saldo.

variables es un array posicional: el elemento en índice 0 reemplaza {{1}}, el elemento en índice 1 reemplaza {{2}}, etc.

Reglas de mediaUrl / mediaType

  • mediaUrl es requerido solo si la plantilla resuelta tiene header IMAGE, VIDEO o DOCUMENT (lo determina la plantilla, no el request). Si falta en ese caso, devuelve 409 / 400 INVALID_BODY antes de consumir saldo. Para plantillas de texto se ignora.
  • mediaType es opcional y actúa como override del tipo de header de la plantilla; si se omite, se usa el tipo propio de la plantilla. No está acoplado a mediaUrl: enviar uno sin el otro no dispara un error de validación cruzada (el único gate es el de mediaUrl descrito arriba). Valores inválidos de mediaType se ignoran y se cae al tipo de la plantilla.
post/v1/whatsapp/{channelId}/template-messages

Path parameters

channelIdstring required

ID del canal WhatsApp Business (websiteId interno).

Request body

templateNamestring required

Nombre de la plantilla aprobada en Meta/Gupshup.

mediaUrlstring uri

URL pública del media para plantillas con header IMAGE/VIDEO/DOCUMENT.

mediaType'IMAGE' | 'VIDEO' | 'DOCUMENT'

Tipo de media. Debe coincidir con el header de la plantilla.

Example request

{
  "templateName": "bienvenida_v2",
  "to": [
    {
      "phone": "5491155556666",
      "variables": [
        "Juan",
        "10%"
      ]
    }
  ],
  "mediaUrl": "https://example.com/imagen.jpg"
}

Response

Mensajes procesados. Incluye successfulMessages y failedMessages.

Example response

{
  "successfulMessages": [
    {
      "status": "enqueque"
    }
  ],
  "failedMessages": [
    {
      "status": "failed"
    }
  ]
}