Skip to main content
POST
/
whatsapp
/
businesses
/
{wabaId}
/
templates
curl --request POST \
  --url https://api.hubmessage.io/whatsapp/businesses/{wabaId}/templates \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "atualizacao_pedido_v1",
  "category": "UTILITY",
  "language": "pt_BR",
  "components": [
    {
      "type": "BODY",
      "text": "Olá {{1}}, seu pedido {{2}} foi atualizado para {{3}}, até logo.",
      "example": {
        "body_text": [
          [
            "Ana",
            "PED-1024",
            "em transporte"
          ]
        ]
      }
    }
  ]
}
'
{
  "id": "1613165359891625",
  "status": "PENDING",
  "category": "UTILITY"
}

Overview

Creates a new message template and submits it for Meta approval. The template starts with PENDING status and is updated to APPROVED or REJECTED after review. Use the Sync templates endpoint to force a status update.
The template name must be in snake_case, with no spaces or special characters. Once created, the name cannot be changed.
The wabaId is obtained from the List WABAs endpoint.

Authorizations

Authorization
string
header
required

Secret Key gerada no painel de Segurança do Hub Message

Path Parameters

wabaId
string
required

ID do WABA (obtido via Listar WABAs)

Example:

"428083093730937"

Body

application/json
name
string
required

Nome do template (snake_case, sem espaços)

category
enum<string>
required

Categoria do template

Available options:
UTILITY,
MARKETING,
AUTHENTICATION
language
string
required

Idioma do template (ex: pt_BR, en_US)

components
object[]
required

Componentes do template (HEADER, BODY, FOOTER, BUTTONS)

Response

Template criado e enviado para aprovação

id
string

ID do template criado

status
enum<string>

Status inicial (geralmente PENDING)

Available options:
PENDING,
APPROVED,
REJECTED
category
enum<string>

Categoria do template criado

Available options:
UTILITY,
MARKETING,
AUTHENTICATION