---
title: "Lista las plantillas de WhatsApp que este canal puede enviar"
method: GET
path: "/channels/{channelId}/templates"
tags: ["Channels"]
---

# Lista las plantillas de WhatsApp que este canal puede enviar

`GET /channels/{channelId}/templates`

## Request

- Base URL: `https://api.met.meteor.com.co/api/v1`
- URL: `https://api.met.meteor.com.co/api/v1/channels/{channelId}/templates`
- Auth: one of:
  - `bearer` (a scheme the document does not define)
  - HTTP bearer

Devuelve el `name`, el `language` y los `components` de cada plantilla — los tres datos que pide `POST /channels/{channelId}/whatsapp/send-template`. Por defecto solo las aprobadas; `?status=all` incluye las que están en revisión. Si el canal tiene varias cuentas de WhatsApp conectadas y una falla, las demás igual responden y el motivo viaja en `accounts`. Sin `page` trae la lista completa; con `page` (y `limit`) la pagina en un orden estable y agrega `has_more`. Cada plantilla trae su `quality_score` cuando Meta lo reporta.

## Path parameters

- `channelId` string, required

## Query parameters

- `limit` string
- `page` string
- `name` string
- `status` 'all' | 'approved'
- `waba_id` string

## Response `200`

- object: Sobre en el que viaja toda respuesta correcta de la API. El recurso está en `data`. Los SDKs oficiales lo desenvuelven por ti; un cliente hecho a mano tiene que leer `.data`.
  - `success` true, required: Siempre `true` en una respuesta 2xx.
  - `data` ChannelTemplatesResponseDto, required
    - `accounts` ChannelTemplateAccountDto[]: Una entrada por cuenta de WhatsApp conectada. Ausente en Meteor CRM.
      - `count` number: Cuántas plantillas devolvió esta cuenta. Ausente si falló.
      - `error` string: Por qué esta cuenta no respondió. La lista es parcial a propósito: una cuenta caída no oculta las plantillas de las demás, así que hay que mirar acá aunque la respuesta sea `200`.
      - `waba_id` string, required
    - `data` WhatsappTemplateSummaryDto[], required
      - `category` string
      - `components` object[]: Los bloques de la plantilla (encabezado, cuerpo, botones), tal como los define Meta. Es donde se leen los parámetros que hay que rellenar al enviar.
      - `id` string: Id de la plantilla en Meta. Ausente en la rama de Meteor CRM.
      - `language` string, required: Código de idioma, tal como lo pide `send-template` (`es`, `es_CO`, `en_US`).
      - `name` string, required: El nombre que pide `send-template`.
      - `previous_category` string: La categoría que tenía la plantilla antes de que Meta se la cambiara. Si aparece, la categoría actual la puso Meta, y con ella cambia el costo de cada envío.
      - `quality_score` string: Calificación de calidad que Meta le da a esta plantilla según cómo la reciben los destinatarios: `GREEN` (alta), `YELLOW` (media), `RED` (baja; Meta puede pausarla) o `UNKNOWN` (aún sin datos, típico de una plantilla nueva). Ausente si Meta no la reporta y en canales Meteor CRM. No es la calidad del número: esa sale en la configuración del canal (`quality_rating`).
      - `rejected_reason` string: Por qué Meta rechazó la plantilla (por ejemplo `INVALID_FORMAT`, `TAG_CONTENT_MISMATCH`, `PROMOTIONAL`). Solo aparece en las rechazadas.
      - `status` string, required: Estado en Meta. Solo `APPROVED` se puede enviar; por defecto la lista trae únicamente esas (`?status=all` incluye las que están en revisión).
      - `waba_alias` string, nullable: Alias con el que se nombró esa cuenta en el panel.
      - `waba_id` string: Cuenta de WhatsApp (WABA) de la que salió. Solo en canales WhatsApp.
    - `has_more` boolean: Solo aparece si mandaste `page`: `true` si hay otra página después de esta. Sin `page` la lista viene completa y el campo no aparece. Solo en canales WhatsApp.

## Other responses

- `400`: La request no es válida: un campo no pasa validación, falta un parámetro requerido o el recurso no admite la transición solicitada.
- `401`: API key ausente, inválida, revocada o expirada — o el workspace está bloqueado.
- `403`: La key está autenticada pero no puede ejecutar esta operación: scope faltante, capacidad deshabilitada, modo test restringido o recurso fuera de su cartera.
- `404`: El recurso no existe o no está disponible dentro del alcance de la key. No revela la existencia de recursos de otros tenants.
- `429`: Se superó el límite por minuto de la key o la cuota del plan. Respeta `Retry-After`; el SDK ya reintenta solo.
- `500`: Error del servidor o del Met que ejecutaba. El SDK reintenta los 5xx con backoff.

---

[API](https://skmtc.dev/meteor/apis/met-public-api.md) · [All operations](https://skmtc.dev/meteor/apis/met-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/meteor/apis/met-public-api/revisions/5d9ca294295c?raw)
