Saltar al contenido

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ámetroTipoRequeridoDescripción
didstringID del destino.
messageTemplateIdstringID del template.

Body

CampoTipoRequeridoDescripción
namestringNoNombre de la plantilla.
languagestringNoCódigo de idioma.
categorystringNoCategoría del template.
componentsarrayComponentes completos (se reemplazan, no hay merge).
client_idnumberNoCliente (requiere BSP_CN para otro cliente).
allow_button_url_changebooleanNoPermite migrar botones URL.
optimization_specobjectNoLí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ódigoCaso
400Validación de edit rules o examples fallida
403DID fuera de la jerarquía, o acceso a otro cliente sin BSP_CN
502Servicio externo inalcanzable