Templates

Criar template da biblioteca

Changed on

Cria um template a partir de um item da biblioteca da Meta. Nasce aprovado, sem esperar revisão. Exige número conectado (422 GUPSHUP_APP_NOT_READY). Permissão: TEMPLATES_WRITE.

post/v1/templates/library

Request

Request body

namestring required

Nome do seu template.

libraryTemplateNamestring required

elementName do item da biblioteca.

languageCodestring

Idioma do item da biblioteca.

Response

Template criado

idstring uuid required

ID do template (UUID).

namestring required
formattedNamestring required
categorystring required

Categoria atual. A Meta pode mudar a categoria na revisão.

originalCategorystring nullable

Categoria pedida na criação.

languagestring required
providerNamestring required
providerTemplateIdstring required
providerStatusstring required

Status de aprovação:

  • PENDING: em revisão.
  • APPROVED: pronto para enviar.
  • REJECTED: reprovado. Veja rejectionReason.
  • PAUSED: pausado pela Meta ou pela proteção automática da Arara. O envio responde 422 TEMPLATE_PAUSED.
  • DISABLED: desativado. O envio responde 422 TEMPLATE_NOT_SENDABLE.
rejectionReasonstring nullable
availableForSendingboolean required

false quando o template foi aprovado em um número que a organização não usa mais. Recrie o template no número ativo.

unavailableReasonstring nullable
bodyPreviewstring nullable

Corpo do template, com os marcadores de variável.

structureJsonobject required
usageGuideobject nullable
variablesSchemaobject nullable

Exemplos por número da variável.

createdAtstring date-time required
updatedAtstring date-time nullable

Example response

{
  "id": "a7f3c1e2-4b5d-6789-abcd-ef0123456789",
  "name": "pedido_confirmado",
  "formattedName": "pedido_confirmado",
  "category": "UTILITY",
  "originalCategory": "UTILITY",
  "language": "pt_BR",
  "providerName": "GUPSHUP",
  "providerTemplateId": "4c1f0e9a-2b3d-4e5f-8a6b-7c8d9e0f1a2b",
  "providerStatus": "PENDING",
  "rejectionReason": null,
  "availableForSending": true,
  "unavailableReason": null,
  "bodyPreview": "Oi {{1}}, seu pedido {{2}} foi confirmado. Total: R$ {{3}}.",
  "structureJson": {},
  "usageGuide": {
    "message": "Use o objeto 'variables' no envio da mensagem para substituir os placeholders.",
    "endpoint": "POST /v1/messages"
  },
  "variablesSchema": {
    "1": "João",
    "2": "12345",
    "3": "147,90"
  },
  "createdAt": "2026-09-15T14:30:00Z",
  "updatedAt": null
}

Changes