# Templates

Criar e gerenciar templates de mensagem. Templates são necessários para conversas iniciadas pela empresa fora da janela de 24 horas.

## Listar templates de mensagem

> Recupera todos os templates de mensagem associados à conta WhatsApp Business (WABA).\
> Templates são mensagens pré-aprovadas necessárias para iniciar conversas fora da janela de 24 horas.\
> \
> \## Categorias de Template\
> \
> \| Categoria | Finalidade | Tempo de Aprovação |\
> \|----------|-----------|--------------------|\
> \| MARKETING | Promoções, ofertas, boletins | 1-3 dias úteis |\
> \| UTILITY | Atualizações de pedido, confirmações, lembretes | 1-2 dias úteis |\
> \| AUTHENTICATION | Códigos OTP, verificação de login | Geralmente instantâneo |\
> \
> \## Status dos Templates\
> \
> \| Status | Descrição |\
> \|--------|-----------|\
> \| PENDING | Enviado e aguardando revisão |\
> \| APPROVED | Pronto para uso em mensagens |\
> \| REJECTED | Não aprovado na revisão, ver motivo |\
> \| PAUSED | Temporariamente desativado por problemas de qualidade |\
> \| DISABLED | Desativado permanentemente, é necessário criar novo template |\
> \| PENDING\_DELETION | Agendado para exclusão |\
> \
> \## Classificação de Qualidade\
> \
> Templates são avaliados com base no feedback dos usuários:\
> \- \*\*GREEN\*\*: Alta qualidade, baixa taxa de bloqueio\
> \- \*\*YELLOW\*\*: Qualidade média, alguns bloqueios\
> \- \*\*RED\*\*: Baixa qualidade, alta taxa de bloqueio (pode ser pausado)\
> \
> \## Paginação de Resposta\
> \
> Para contas com muitos templates, usar parâmetros de paginação:\
> \- \`limit\`: Máximo de templates por resposta (padrão 100, máximo 1000)\
> \- \`offset\`: Número de templates a pular\
> \
> \## Filtragem\
> \
> O objeto \`filters\` na resposta indica opções de filtragem disponíveis.<br>

```json
{"openapi":"3.0.3","info":{"title":"Fortics BSP - API do WhatsApp Business","version":"1.2.0"},"tags":[{"name":"templates","description":"Criar e gerenciar templates de mensagem. Templates são necessários para\nconversas iniciadas pela empresa fora da janela de 24 horas.\n"}],"servers":[{"url":"{baseUrl}","description":"Servidor da API BSP","variables":{"baseUrl":{"default":"https://waba.fortics.com.br/v1","description":"URL base da API - Use a URL do servidor que lhe foi atribuída"}}}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"apikey","description":"Chave de API para autenticação"}},"responses":{"GetTemplatesResponse":{"description":"Templates recuperados com sucesso","content":{"application/json":{"schema":{"type":"object","properties":{"count":{"type":"integer","description":"Número de templates retornados"},"filters":{"type":"object"},"limit":{"type":"integer"},"offset":{"type":"integer"},"sort":{"type":"array","items":{"type":"string"}},"total":{"type":"integer","description":"Número total de templates"},"waba_templates":{"type":"array","items":{"$ref":"#/components/schemas/WabaTemplate"}}}}}}},"Unauthorized":{"description":"Não autorizado.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}}},"schemas":{"WabaTemplate":{"type":"object","description":"Template existente do WhatsApp","properties":{"name":{"type":"string"},"components":{"type":"array","items":{"$ref":"#/components/schemas/WabaTemplateComponent"}},"language":{"type":"string"},"status":{"type":"string","enum":["APPROVED","PENDING","REJECTED"]},"category":{"type":"string","enum":["UTILITY","MARKETING","AUTHENTICATION"]},"id":{"type":"string"},"rejected_reason":{"type":"string"},"namespace":{"type":"string"}}},"WabaTemplateComponent":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["HEADER","BODY","FOOTER","BUTTONS"],"description":"Tipo do componente"},"format":{"type":"string","enum":["TEXT","IMAGE","DOCUMENT","VIDEO","LOCATION"],"description":"Formato do cabeçalho (obrigatório para tipo HEADER)"},"text":{"type":"string","description":"Conteúdo de texto com variáveis opcionais ({{1}}, {{2}}, etc.)"},"buttons":{"type":"array","description":"Botões para o template (apenas para tipo BUTTONS)","items":{"$ref":"#/components/schemas/WabaTemplateButton"}}}},"WabaTemplateButton":{"type":"object","required":["type","text"],"properties":{"type":{"type":"string","enum":["QUICK_REPLY","URL","PHONE_NUMBER","MPM","COPY_CODE","FLOW"],"description":"Tipo de botão"},"text":{"type":"string","description":"Texto do botão","maxLength":25},"url":{"type":"string","format":"uri","description":"URL para botões do tipo URL (pode incluir {{1}} como sufixo dinâmico)"},"phone_number":{"type":"string","description":"Número de telefone para botões do tipo PHONE_NUMBER"}}},"UnauthorizedResponse":{"type":"object","description":"Resposta de erro para falhas de autenticação. Verifique a configuração da chave de API se receber esta resposta.\n","properties":{"message":{"type":"string","description":"Mensagem de erro legível descrevendo a falha de autenticação.\nCausas comuns:\n- Chave de API não incluída na requisição\n- Chave de API inválida ou expirada\n- Chave de API sem permissão para esta operação\n"},"code":{"type":"string","description":"Código de erro para tratamento programático"}}}}},"paths":{"/configs/templates":{"get":{"tags":["templates"],"summary":"Listar templates de mensagem","description":"Recupera todos os templates de mensagem associados à conta WhatsApp Business (WABA).\nTemplates são mensagens pré-aprovadas necessárias para iniciar conversas fora da janela de 24 horas.\n\n## Categorias de Template\n\n| Categoria | Finalidade | Tempo de Aprovação |\n|----------|-----------|--------------------|\n| MARKETING | Promoções, ofertas, boletins | 1-3 dias úteis |\n| UTILITY | Atualizações de pedido, confirmações, lembretes | 1-2 dias úteis |\n| AUTHENTICATION | Códigos OTP, verificação de login | Geralmente instantâneo |\n\n## Status dos Templates\n\n| Status | Descrição |\n|--------|-----------|\n| PENDING | Enviado e aguardando revisão |\n| APPROVED | Pronto para uso em mensagens |\n| REJECTED | Não aprovado na revisão, ver motivo |\n| PAUSED | Temporariamente desativado por problemas de qualidade |\n| DISABLED | Desativado permanentemente, é necessário criar novo template |\n| PENDING_DELETION | Agendado para exclusão |\n\n## Classificação de Qualidade\n\nTemplates são avaliados com base no feedback dos usuários:\n- **GREEN**: Alta qualidade, baixa taxa de bloqueio\n- **YELLOW**: Qualidade média, alguns bloqueios\n- **RED**: Baixa qualidade, alta taxa de bloqueio (pode ser pausado)\n\n## Paginação de Resposta\n\nPara contas com muitos templates, usar parâmetros de paginação:\n- `limit`: Máximo de templates por resposta (padrão 100, máximo 1000)\n- `offset`: Número de templates a pular\n\n## Filtragem\n\nO objeto `filters` na resposta indica opções de filtragem disponíveis.\n","operationId":"getMessageTemplates","responses":{"200":{"$ref":"#/components/responses/GetTemplatesResponse"},"401":{"$ref":"#/components/responses/Unauthorized"}}}}}}
```

## Criar template de mensagem

> Cria um novo template de mensagem para a conta WhatsApp Business. Templates\
> devem ser aprovados pelo WhatsApp antes de serem usados em mensagens.\
> \
> \## Categorias de Template\
> \
> A categoria deve ser escolhida com base no caso de uso:\
> \
> \- \*\*MARKETING\*\*: Conteúdo promocional, ofertas, anúncios de produto, boletins.\
> &#x20; Requer opção clara de opt-out. Revisão com maior rigor.\
> \
> \- \*\*UTILITY\*\*: Mensagens transacionais como confirmações de pedido, atualizações\
> &#x20; de envio, lembretes de compromissos e notificações de pagamento. Deve ser\
> &#x20; relevante a uma ação prévia do cliente.\
> \
> \- \*\*AUTHENTICATION\*\*: Senhas de uso único (OTP), códigos de login, mensagens de\
> &#x20; verificação. Possui requisitos de formato estritos e aprovação mais rápida.\
> \
> \## Componentes do Template\
> \
> Templates são compostos por múltiplos componentes:\
> \
> \| Componente | Obrigatório | Tamanho Máx | Descrição |\
> \|-----------|------------|------------|-----------|\
> \| HEADER | Não | 60 caracteres (texto) | Texto, imagem, vídeo ou documento |\
> \| BODY | Sim | 1024 caracteres | Conteúdo principal da mensagem com variáveis |\
> \| FOOTER | Não | 60 caracteres | Texto pequeno no rodapé |\
> \| BUTTONS | Não | Máx 3 botões | Respostas rápidas, URLs ou botões de chamada |\
> \
> \## Espaços para Variáveis\
> \
> Usar chaves duplas para conteúdo dinâmico: \`{{1}}\`, \`{{2}}\`, etc.\
> \
> Exemplo: "Olá {{1}}, seu pedido #{{2}} chegará em {{3}}."\
> \
> É necessário fornecer valores de exemplo para todas as variáveis ao criar o template.\
> \
> \## Tipos de Botões\
> \
> \| Tipo | Descrição | Máx por Template |\
> \|------|-----------|------------------|\
> \| QUICK\_REPLY | Opções de resposta predefinidas | 3 |\
> \| URL | Abre uma página web | 2 |\
> \| PHONE\_NUMBER | Inicia uma chamada telefônica | 1 |\
> \| COPY\_CODE | Copia código de cupom/rastreamento | 1 |\
> \| FLOW | Inicia um WhatsApp Flow | 1 |\
> \| CATALOG | Visualiza catálogo de produtos | 1 |\
> \| MPM | Visualiza mensagem multi-produto | 1 |\
> \
> \## Boas Práticas\
> \
> 1\. Manter mensagens concisas e claras\
> 2\. Incluir todas as informações obrigatórias no template\
> 3\. Evitar linguagem excessivamente promocional em templates UTILITY\
> 4\. Testar templates com valores de exemplo antes de enviar\
> 5\. Usar a flag allow\_category\_change para aprovação mais rápida<br>

```json
{"openapi":"3.0.3","info":{"title":"Fortics BSP - API do WhatsApp Business","version":"1.2.0"},"tags":[{"name":"templates","description":"Criar e gerenciar templates de mensagem. Templates são necessários para\nconversas iniciadas pela empresa fora da janela de 24 horas.\n"}],"servers":[{"url":"{baseUrl}","description":"Servidor da API BSP","variables":{"baseUrl":{"default":"https://waba.fortics.com.br/v1","description":"URL base da API - Use a URL do servidor que lhe foi atribuída"}}}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"apikey","description":"Chave de API para autenticação"}},"schemas":{"CreateWabaTemplate":{"type":"object","required":["name","category","components","language"],"properties":{"name":{"type":"string","description":"Nome do template (apenas letras minúsculas, números e underscores)","pattern":"^[a-z0-9_]+$"},"category":{"type":"string","description":"Categoria do template","enum":["UTILITY","MARKETING","AUTHENTICATION"]},"allow_category_change":{"type":"boolean","description":"Permitir que o WhatsApp atribua uma categoria diferente, se apropriado","default":false},"language":{"type":"string","description":"Código de idioma e localidade do template"},"components":{"type":"array","description":"Componentes do template","items":{"$ref":"#/components/schemas/WabaTemplateComponent"}}}},"WabaTemplateComponent":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["HEADER","BODY","FOOTER","BUTTONS"],"description":"Tipo do componente"},"format":{"type":"string","enum":["TEXT","IMAGE","DOCUMENT","VIDEO","LOCATION"],"description":"Formato do cabeçalho (obrigatório para tipo HEADER)"},"text":{"type":"string","description":"Conteúdo de texto com variáveis opcionais ({{1}}, {{2}}, etc.)"},"buttons":{"type":"array","description":"Botões para o template (apenas para tipo BUTTONS)","items":{"$ref":"#/components/schemas/WabaTemplateButton"}}}},"WabaTemplateButton":{"type":"object","required":["type","text"],"properties":{"type":{"type":"string","enum":["QUICK_REPLY","URL","PHONE_NUMBER","MPM","COPY_CODE","FLOW"],"description":"Tipo de botão"},"text":{"type":"string","description":"Texto do botão","maxLength":25},"url":{"type":"string","format":"uri","description":"URL para botões do tipo URL (pode incluir {{1}} como sufixo dinâmico)"},"phone_number":{"type":"string","description":"Número de telefone para botões do tipo PHONE_NUMBER"}}}}},"paths":{"/configs/templates":{"post":{"tags":["templates"],"summary":"Criar template de mensagem","description":"Cria um novo template de mensagem para a conta WhatsApp Business. Templates\ndevem ser aprovados pelo WhatsApp antes de serem usados em mensagens.\n\n## Categorias de Template\n\nA categoria deve ser escolhida com base no caso de uso:\n\n- **MARKETING**: Conteúdo promocional, ofertas, anúncios de produto, boletins.\n  Requer opção clara de opt-out. Revisão com maior rigor.\n\n- **UTILITY**: Mensagens transacionais como confirmações de pedido, atualizações\n  de envio, lembretes de compromissos e notificações de pagamento. Deve ser\n  relevante a uma ação prévia do cliente.\n\n- **AUTHENTICATION**: Senhas de uso único (OTP), códigos de login, mensagens de\n  verificação. Possui requisitos de formato estritos e aprovação mais rápida.\n\n## Componentes do Template\n\nTemplates são compostos por múltiplos componentes:\n\n| Componente | Obrigatório | Tamanho Máx | Descrição |\n|-----------|------------|------------|-----------|\n| HEADER | Não | 60 caracteres (texto) | Texto, imagem, vídeo ou documento |\n| BODY | Sim | 1024 caracteres | Conteúdo principal da mensagem com variáveis |\n| FOOTER | Não | 60 caracteres | Texto pequeno no rodapé |\n| BUTTONS | Não | Máx 3 botões | Respostas rápidas, URLs ou botões de chamada |\n\n## Espaços para Variáveis\n\nUsar chaves duplas para conteúdo dinâmico: `{{1}}`, `{{2}}`, etc.\n\nExemplo: \"Olá {{1}}, seu pedido #{{2}} chegará em {{3}}.\"\n\nÉ necessário fornecer valores de exemplo para todas as variáveis ao criar o template.\n\n## Tipos de Botões\n\n| Tipo | Descrição | Máx por Template |\n|------|-----------|------------------|\n| QUICK_REPLY | Opções de resposta predefinidas | 3 |\n| URL | Abre uma página web | 2 |\n| PHONE_NUMBER | Inicia uma chamada telefônica | 1 |\n| COPY_CODE | Copia código de cupom/rastreamento | 1 |\n| FLOW | Inicia um WhatsApp Flow | 1 |\n| CATALOG | Visualiza catálogo de produtos | 1 |\n| MPM | Visualiza mensagem multi-produto | 1 |\n\n## Boas Práticas\n\n1. Manter mensagens concisas e claras\n2. Incluir todas as informações obrigatórias no template\n3. Evitar linguagem excessivamente promocional em templates UTILITY\n4. Testar templates com valores de exemplo antes de enviar\n5. Usar a flag allow_category_change para aprovação mais rápida\n","operationId":"createMessageTemplate","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWabaTemplate"}}}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.fortics.com.br/bsp-api-reference/reference/templates.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
