> ## Documentation Index
> Fetch the complete documentation index at: https://docs.notifique.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Metaplantillas oficiales

> Sincroniza Metaplantillas con Notifique, vincula canales y envía por la línea oficial de WhatsApp.

<Tip>
  An official template is a **Meta-approved form letter**. In Notifique it can live alongside SMS, email, and other channels in the **same** template, no duplicate per channel.
</Tip>

## En breve

* En la **línea oficial**, fuera del período de 24 horas, solo las plantillas **metaaprobadas** pueden iniciar o reanudar una conversación.
* Hay plantillas **internas** (`ZENVIO`) y **oficiales** (`WHATSAPP_OFFICIAL`) reflejadas en WABA.
* Puede **extraer de Meta**, **vincular** a una plantilla interna existente o **publicar** una interna en Meta y esperar la aprobación.
* Meta notifica cambios de estado; Notifique se propaga a través de **`template.*`** webhooks.

Instancia oficial: [Inicio rápido de WhatsApp](/es/whatsapp-api/como-funciona/quick-start) (pestaña **Conexión oficial**). Descripción general: [Introducción a las plantillas](/es/template-api/como-funciona/introducao).

***

## Por qué esto es importante

En la línea **oficial**, Meta divide la conversación en dos momentos:

| Situation                                | What to send            |
| ---------------------------------------- | ----------------------- |
| Customer **replied** within the last 24h | Free-form text or media |
| **First contact** or stale conversation  | **Approved** template   |

En la línea **no oficial**, utilice plantillas internas o texto de formato libre. Detalles: [Modos de conexión](/es/whatsapp-api/como-funciona/modos-de-conexao).

***

## Interno × oficial en Notifique

Una plantilla de Notifique es una **carpeta** con un bloque por canal.

|             | **Internal**           | **Official (Meta)**                              |
| ----------- | ---------------------- | ------------------------------------------------ |
| `source`    | `ZENVIO` (or null)     | `WHATSAPP_OFFICIAL`                              |
| Typical use | **Unofficial** line    | **Official** line                                |
| Approval    | Immediate in Notifique | Meta: `PENDING` → `APPROVED`                     |
| Meta fields | ,                      | `metaId`, `metaName`, `metaWabaId`, `components` |

<Info>
  **Internal name** (`order_alert`) may differ from **`metaName`** on Meta (`order_update`). On official send, Meta validates the **approved** model in its catalog.
</Info>

***

## Una plantilla, múltiples canales

Ejemplo: ya tienes `order_confirmation` con SMS y correo electrónico. En la línea oficial, **vincula** WhatsApp a un modelo Meta aprobado.

* SMS y correo electrónico **sin cambios**
* El bloque de WhatsApp utiliza una estructura aprobada **oficial**
* Un `POST /v1/templates/send` envía todos los canales habilitados

Variables y CRUD: [Variables y CRUD](/es/template-api/como-funciona/variaveis-disponiveis-e-crud).

***

## Sincronización: tres caminos

Requiere una instancia **oficial activa**. Panel de control: instancia → **Sincronizar plantillas con Meta**.

<AccordionGroup>
  <Accordion title="A, Pull from Meta (sync)">
    Úselo cuando las plantillas **ya existan** en la cuenta comercial.

    1. Haga clic en **Sincronizar plantillas con Meta**
    2. El panel enumera el metacatálogo y las plantillas locales.
    3. Para cada metamodelo, elija **Vincular** a interno o **Crear nuevo**
    4. Confirmar sincronización

    **Efecto de enlace:** la plantilla local se vuelve oficial en WhatsApp, almacena `metaId`, `metaName` y `components`, y **conserva** SMS/correo electrónico/otros canales.
  </Accordion>

  <Accordion title="B, Link internal to Meta model">
    Más común cuando **ya tienes** plantillas Notifique.

    1. Ejecute la sincronización (ruta **A**)
    2. En el mapeo, asocie cada metamodelo con la plantilla interna correcta.
    3. Guardar

    El nombre interno se queda. El envío oficial de WhatsApp utiliza contenido **metaaprobado**. La sincronización con cualquier número oficial del mismo WABA actualiza el catálogo del espacio de trabajo.
  </Accordion>

  <Accordion title="C, Publish internal to Meta (submit for approval)">
    Úselo cuando el modelo **comienza en Notifique** y **aún no existe** en Meta.

    1. Crear o editar plantilla (estructura oficial: encabezado, cuerpo, botones…)
    2. En instancia oficial: **Enviar a Meta** / **Publicar en Meta**
    3. Meta recibe con estado **PENDIENTE**
    4. Cuando se apruebe → **APROBADO**, puede enviar

    <Warning>
      **APPROVED** templates: up to **1 edit every 24h** and **10 in 30 days** on Meta. If auto-push fails, use **Update on Meta…** in the editor.
    </Warning>
  </Accordion>
</AccordionGroup>

***

## Aprobación, estado y webhooks

Realice un seguimiento en el panel o automatice con webhooks:

| Status     | Meaning                     |
| ---------- | --------------------------- |
| `PENDING`  | Meta reviewing              |
| `APPROVED` | Can send on official line   |
| `REJECTED` | Rejected, fix and republish |
| `PAUSED`   | Paused for quality          |

| Webhook event               | When it fires                               |
| --------------------------- | ------------------------------------------- |
| `template.submitted`        | Template submitted/published to Meta        |
| `template.status_changed`   | Local status changes                        |
| `template.category_changed` | Category changes (e.g. MARKETING ↔ UTILITY) |

Guía de carga útil: [Eventos de Webhook](/es/template-api/como-funciona/eventos-do-webhooks).

Para **entrega de mensajes** (enviado, entregado, leído, fallido), use [webhooks de WhatsApp](/es/whatsapp-api/como-funciona/eventos-do-webhooks), **`message.*`** eventos, no `template.*`.

***

## Enviar una plantilla oficial

**Requisitos previos:**

1. Instancia oficial **activa** y Meta pago OK
2. Plantilla **APROBADA** con `source: WHATSAPP_OFFICIAL`
3. `metaName` lleno (ejecute sincronización/enlace si está vacío)

**Multicanal** (WhatsApp + SMS):

Respuesta esperada: **202**

<Note>
  With **`sk_test_`**, Meta gates **do not** run, simulated send in [Sandbox](/es/guides/sandbox/index). Real approval and conversation billing only with **`sk_live_`**.
</Note>

***

## Which instance accepts which template?

| Instance       | WhatsApp templates                          |
| -------------- | ------------------------------------------- |
| **Official**   | Official (`WHATSAPP_OFFICIAL`) **APPROVED** |
| **Unofficial** | Internal (`ZENVIO`), simple text/image      |

Meta buttons, header, or carousel **do not work** on the unofficial line.

***

## Errores comunes

| Código                                      | Significado                  | Qué hacer                                    |
| ------------------------------------------- | ---------------------------- | -------------------------------------------- |
| `META_TEMPLATE_REQUIRED`                    | Outside 24h without template | Send approved template or wait for reply     |
| `META_TEMPLATE_NOT_FOUND`                   | Name/language mismatch       | Sync/link; check `metaName`                  |
| `TEMPLATE_NOT_ALLOWED_FOR_INSTANCE`         | Template mode ≠ instance     | Official on official; internal on unofficial |
| `META_PAYMENT_METHOD_REQUIRED`              | No card on Meta account      | Add billing in WhatsApp Manager              |
| `META_TOKEN_EXPIRED` / `META_TOKEN_INVALID` | Official line disconnected   | Reconnect instance                           |

Catalog: [Error responses](/es/guides/conceitos/resposta-de-erros) (**Meta Cloud / official templates** accordion).

***

## Próximos pasos

* [Quick Start](/es/template-api/como-funciona/quick-start): multi-channel dispatch
* [Webhook events](/es/template-api/como-funciona/eventos-do-webhooks): `template.*`
* [Connection modes](/es/whatsapp-api/como-funciona/modos-de-conexao): official × unofficial
* [WhatsApp events](/es/whatsapp-api/como-funciona/eventos-do-webhooks): `message.*` delivery
