# Listar Templates

> Retorna todos os templates de mensagens do WhatsApp Cloud API aprovados para uma determinada integração.

`GET https://crm.wavups.com/api/v1/whatsapp/templates`

Página: https://crm.wavups.com/docs/api/whatsapp/listar-templates

## Requisição

`GET https://crm.wavups.com/api/v1/whatsapp/templates`

- `Token` (string, obrigatório, header):
  Seu token de autenticação.

### Query Parameters

- `accountIntegrationId` (string, obrigatório, query):
  ID da integração de WhatsApp da sua conta. Obtenha este ID através do endpoint [Listar Integrações](https://crm.wavups.com/docs/api/integracoes/listar) ou utilize a propriedade `accountIntegration` do endpoint [Listar Setores](https://crm.wavups.com/docs/api/setores/listar).

- `status` (string, query):
  Filtra templates pelo status no WhatsApp. Valores permitidos: `APPROVED` (padrão), `PENDING`, `REJECTED`, `PAUSED`.

- `limit` (number, query):
  Limite máximo de templates retornados (padrão: `100`).

- `templateName` (string, query):
  Nome específico do template para buscar em conjunto com `languageCode`.

- `languageCode` (string, query):
  Código do idioma do template (ex: `pt_BR`, `en_US`).

---

## Resposta

Retorna um objeto contendo o array `data` com os templates e suas configurações de componentes.

- `data` (array):
  Lista de templates encontrados.

  Propriedades do Template:
  - `id` (string):
  Identificador do template na Meta.
  
  - `name` (string):
  Nome do template (utilizado no campo `template.name` ao disparar).
  
  - `status` (string):
  Status de aprovação (`APPROVED`, `PENDING`, `REJECTED`, `PAUSED`).
  
  - `category` (string):
  Categoria do template (`MARKETING`, `UTILITY`, `AUTHENTICATION`).
  
  - `language` (string):
  Código de idioma (ex: `pt_BR`). Ao realizar o disparo no endpoint [Disparar Mensagem](https://crm.wavups.com/docs/api/whatsapp/enviar-mensagem), passe este valor no formato `language: { "code": "pt_BR" }`.
  
  - `components` (array):
  Estrutura dos blocos do template (HEADER, BODY, FOOTER, BUTTONS).
  
  

---

## Exemplos

### Exemplo de requisição

```bash GET /api/v1/whatsapp/templates
curl --request GET \
  --url 'https://crm.wavups.com/api/v1/whatsapp/templates?accountIntegrationId=cmint1234567890' \
  --header 'Token: SEU_TOKEN_DE_API'
```

```javascript Node.js
const res = await fetch('https://crm.wavups.com/api/v1/whatsapp/templates?accountIntegrationId=cmint1234567890', {
  headers: {
  'Token': 'SEU_TOKEN_DE_API'
  }
});
const data = await res.json();
console.log(data);
```

```python Python
import requests

response = requests.get(
  'https://crm.wavups.com/api/v1/whatsapp/templates',
  params={'accountIntegrationId': 'cmint1234567890'},
  headers={'Token': 'SEU_TOKEN_DE_API'}
)
print(response.json())
```

### Exemplo de resposta

```json 200
{
  "data": [
  {
  "id": "123456789012345",
  "name": "confirmacao_pedido",
  "status": "APPROVED",
  "category": "UTILITY",
  "language": "pt_BR",
  "components": [
  {
  "type": "BODY",
  "text": "Olá {{1}}, seu pedido {{2}} foi confirmado com sucesso!",
  "example": {
  "body_text": [["João", "12345"]]
  }
  },
  {
  "type": "BUTTONS",
  "buttons": [
  {
  "type": "URL",
  "text": "Acompanhar Pedido",
  "url": "https://meusite.com/pedidos/{{1}}"
  }
  ]
  }
  ]
  }
  ]
}
```

```json 400
{
  "error": "accountIntegrationId query parameter is required"
}
```

```json 404
{
  "error": "WhatsApp integration not found for this account"
}
```
