Skip to main content
POST
/
whatsapp
/
{phoneNumberId}
/
template
curl --request POST \
  --url https://api.insuranceboosters.com/api/v1/whatsapp/{phoneNumberId}/template \
  --header 'Content-Type: application/json' \
  --header 'x-ib-api-key: <api-key>' \
  --data '
{
  "to": "",
  "name": ""
}
'
{
  "messaging_product": "whatsapp",
  "contacts": [
    {
      "input": "<string>",
      "wa_id": "<string>"
    }
  ],
  "messages": [
    {
      "id": "<string>"
    }
  ]
}
{
"error": "<string>",
"message": "<string>"
}
{
"error": "<string>",
"message": "<string>"
}
{
"error": "<string>",
"message": "<string>"
}
{
"error": "<string>",
"message": "<string>"
}
Envía una plantilla de WhatsApp a un número de teléfono. La plantilla debe estar aprobada y asociada a la línea identificada por phoneNumberId. Consulta primero las plantillas disponibles con Listar plantillas.

Endpoint

POST /whatsapp/{phoneNumberId}/template
URL completa: https://api.insuranceboosters.com/api/v1/whatsapp/{phoneNumberId}/template

Autenticación

x-ib-api-key: <tu-api-key>
Content-Type: application/json

Parámetros de ruta

ParámetroDescripción
phoneNumberIdIdentificador de tu línea de WhatsApp. Solicítalo con tu ejecutivo de cuenta si no lo tienes.

Body base

Incluye siempre to y name con tus datos reales (no se muestran en los ejemplos). El resto del body depende del tipo de plantilla:
{
  "language": "es",
  "components": []
}
Consulta Tipos de plantilla para el flujo completo de listar → armar payload → enviar.

Campos del body

CampoRequeridoDescripción
toNúmero destino en formato E.164 (solo dígitos, sin +).
nameNombre exacto de la plantilla aprobada (cópialo del listado).
languageSí*Idioma exacto con el que se aprobó la plantilla (ej. es, es_MX). *Si no lo envías, el valor por defecto es es.
componentsComponentes dinámicos. Usa [] si la plantilla no tiene variables.

Siguiente paso: elige tu tipo de plantilla

El endpoint es el mismo en todos los casos; lo que cambia es el arreglo components. Revisa primero tu plantilla con Listar plantillas y fíjate en parameter_format y la estructura de components. En el menú lateral, abre Tipos de plantilla para ver las guías por escenario. Cada una precarga el playground con el payload completo de ese caso (components incluidos); solo completas to, name y tu API key.
EscenarioCuándo usarlo
Sin variablesPlantilla fija, sin placeholders.
Variables posicionalesBody con {{1}}, {{2}}, etc.
Variables con nombreBody con {{nombre}}, {{monto}}, etc.
Header con imagenImagen en el header y variables en el body.
Header con PDFDocumento PDF en el header.
Header con videoVideo en el header.
Botones dinámicosBotones URL, quick reply y copiar código.

Reglas importantes

  1. name y language deben coincidir exactamente con la plantilla aprobada.
  2. La cantidad y el orden de parameters deben coincidir con los placeholders de la plantilla.
  3. Incluye siempre Content-Type: application/json.
  4. El número to debe estar en formato E.164.

Respuesta exitosa (200)

{
  "messaging_product": "whatsapp",
  "contacts": [
    {
      "input": "5215512345678",
      "wa_id": "5215512345678"
    }
  ],
  "messages": [
    {
      "id": "wamid.HBgNNTIxNTUxMjM0NTY3OBUCABIYFDNBM0U0QzNCM0U0QzNCM0U0QzNCA"
    }
  ]
}
messages[0].id es el identificador del mensaje enviado.

Errores frecuentes

HTTPQué significaQué hacer
401API key inválida, faltante o línea sin credenciales de WhatsApp.Verifica x-ib-api-key o confirma la configuración de la línea con tu ejecutivo de cuenta.
404phoneNumberId incorrecto.Confirma el identificador de la línea.
400Falta to/name, estructura de components inválida o URL de media no accesible.Revisa nombre, idioma, orden y nombres de variables.
4xx / 5xxWhatsApp rechazó el mensaje.Revisa que la plantilla esté aprobada y que el destinatario tenga WhatsApp.
La respuesta incluye un mensaje descriptivo en el cuerpo JSON.

Probar en el playground

  1. Tu API key en x-ib-api-key
  2. El phoneNumberId de tu línea
  3. Abre la guía del escenario en Tipos de plantilla — el payload viene precargado
  4. Completa to y name con tus datos reales antes de enviar

Authorizations

x-ib-api-key
string
header
required

API key emitida por Insurance Boosters.

Path Parameters

phoneNumberId
string
required

Identificador de tu línea de WhatsApp. Solicítalo con tu ejecutivo de cuenta.

Example:

"123456789012345"

Body

application/json
to
string
required

Teléfono del destinatario en formato E.164 (solo dígitos, sin +). Ejemplo México: 5215512345678.

name
string
required

Nombre exacto de la plantilla aprobada.

language
string
default:es

Código de idioma de la plantilla. Por defecto es.

Example:

"es"

components
(Encabezado (header) · object | Cuerpo (body) · object | Botón (button) · object)[]

Componentes dinámicos (header, body, button). Omitir o enviar [] si la plantilla no tiene variables.

inactiveBot
boolean
default:false

Si es true, desactiva respuestas automáticas para ese contacto tras el envío.

Response

Plantilla enviada correctamente.

messaging_product
enum<string>
Available options:
whatsapp
contacts
object[]
messages
object[]