Operaciones de plantillas de mensaje
Lista las plantillas de mensaje (email/WhatsApp) de tu cuenta, con su asunto y cuerpo, por API v1 o MCP.
Una plantilla de mensaje es el email o WhatsApp que Buky manda por ti: título, canal (mode), a quién aplica (context) y, si la activas con detail, su asunto y su cuerpo. Las creas y editas desde el panel; por API v1 y MCP solo puedes listarlas, para saber qué plantillas existen antes de referenciarlas en una automatización. Para crearlas o editarlas desde el panel, consulta Personalizar plantillas de mensajes.
Operaciones de esta página: list-message-templates (solo lectura).
Las bases comunes (autenticación, GET frente a POST, prueba en seco, errores HTTP, límites) están en API v1 — Introducción y primeros pasos. customer_id es opcional: se toma de tu token salvo que uses uno multicuenta.
list-message-templates: lista las plantillas de mensaje
Es una operación de solo lectura: vale con cualquier token. Devuelve las plantillas de la cuenta en vista compacta (identificar y enumerar) o, con detail:"descriptive", con su asunto y cuerpo a texto plano. Es la forma de ENUMERAR antes de referenciar una plantilla en Operaciones de automatizaciones: ahí, actions[].template se resuelve por nombre o _id contra este mismo catálogo, y si no encuentra ninguna, la respuesta trae template_candidates con las plantillas reales de tu cuenta. Las borradas (borrado lógico) nunca aparecen en esta lista.
Cómo llamarla
curl "https://api.bukyapp.com/v1/ops/list-message-templates?detail=descriptive" \
-H "Authorization: Bearer bk_TU_TOKEN"Por MCP: «Enséñame las plantillas de mensaje que tengo» o «¿Qué plantillas de email tengo configuradas?».
Parámetros
| Parámetro | Tipo | Nivel | Qué hace |
|---|---|---|---|
q | texto | opcional | Busca por el nombre (contiene, sin tildes). Filtro LOCAL, igual que el buscador del panel. |
disabled | booleano | opcional | true → solo las DESACTIVADAS; false → solo las activas. Por defecto, todas. |
created_from / created_to | fecha | opcional | Rango (ISO) sobre cuándo se creó la plantilla. |
detail | enum | opcional | compact (por defecto): identificar y enumerar. descriptive: añade subject y content a texto plano, con las variables {{…}} conservadas. |
lang | texto | opcional | Solo con detail:"descriptive": cada texto vuelve en esa lengua (p. ej. es; si falta, cae a es o a la primera disponible). Sin lang, subject/content vuelven como { lengua: texto } con las lenguas no vacías. |
full | booleano | opcional | true → los documentos completos del servidor (pesados). Gana a detail. |
limit | número | opcional | Máximo de resultados, tras aplicar los filtros. |
Qué devuelve
Ejemplo real, vista compacta (la cuenta demo usada para esta guía solo tiene una plantilla creada):
{
"success": true,
"detail": "compact",
"count": 1,
"total": 1,
"items": [
{
"_id": "68062452db8ece2373ccbc12",
"title": "Nueva plantilla",
"mode": "email",
"context": "order",
"is_disabled": false
}
]
}Con detail:"descriptive", cada elemento suma subject y content; en esta plantilla concreta ambos son null porque no se rellenaron al crearla.
| Campo | Significado |
|---|---|
mode | Canal de envío: email o whatsapp. |
context | A qué se engancha: order (reserva) o session. |
is_disabled | true si está desactivada: no la ofrecerá el resolutor de actions[].template en create-automation/update-automation. |
count | Filas devueltas en items. |
total | Las que casan los filtros, antes de aplicar limit; si count < total, limit recortó resultados. |
Consejos
- Antes de montar una automatización, lista aquí las plantillas reales de la cuenta:
create-automation/update-automationresuelvenactions[].templatepor nombre exacto o_id, y no lo adivinan. - Si necesitas el asunto o el cuerpo para mostrarlos a alguien, pide
detail:"descriptive"con ellangque te interese; sinlang, tendrás que elegir tú la lengua del objeto que vuelve.
