Editar plantilla
Actualiza una plantilla existente. Tras el edit, la plantilla vuelve a PENDING para revisión de Meta.
Endpoint: PUT /v1/templates/{did}/{messageTemplateId}
Parámetros
Path
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
did | string | Sí | ID del destino. |
messageTemplateId | string | Sí | ID del template. |
Body
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
name | string | No | Nombre de la plantilla. |
language | string | No | Código de idioma. |
category | string | No | Categoría del template. |
components | array | Sí | Componentes completos (se reemplazan, no hay merge). |
client_id | number | No | Cliente (requiere BSP_CN para otro cliente). |
allow_button_url_change | boolean | No | Permite migrar botones URL. |
optimization_spec | object | No | Límite de oferta (max price). |
Solo
components es estrictamente necesario. name y language no se pueden cambiar al editar: la API los ignora para Meta. Si la plantilla está APPROVED, la categoría tampoco se puede cambiar.Request
curl --request PUT \
--url 'https://api.chattigo.com/v1/templates/{did}/{messageTemplateId}' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"category": "MARKETING",
"components": [
{
"type": "HEADER",
"format": "TEXT",
"text": "Oferta {{1}}",
"example": { "header_text": ["Verano"] }
},
{
"type": "BODY",
"text": "Aprovecha {{1}} de descuento",
"example": { "body_text": [["50%"]] }
}
]
}'Response
Éxito (200)
{
"success": true,
"changed": true
}Sin cambios (200)
Si la edición no introduce cambios reales (ej: mismo header_handle), la API detecta differs()=false, omite el PATCH a Meta y responde changed: false con un mensaje:
{
"success": true,
"changed": false,
"message": "No changes detected — template already up to date"
}El campo changed permite distinguir un 200 de “no-op” (no se tocó nada) de uno en el que sí se actualizó la plantilla en Meta.
Errores
| Código | Caso |
|---|---|
400 | Validación de edit rules o examples fallida |
403 | DID fuera de la jerarquía, o acceso a otro cliente sin BSP_CN |
502 | Servicio externo inalcanzable |