> ## Documentation Index
> Fetch the complete documentation index at: /docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Notifiers como destinos de alertas

> Direcione Alerts e alertas de orçamento para e-mail, Slack ou um webhook genérico criando um Notifier reutilizável por destino.

Consulte [URLs e autenticação HTTP](/docs/pt-BR/reference/base-urls.md) e a referência da API para os formatos completos de solicitação e resposta.

**Casos de uso**

* Enviar alertas de limite para um endereço de plantão.
* Publicar um limite de orçamento em um canal do Slack.
* Encaminhar payloads de alertas para uma ferramenta de incidentes por meio de um webhook genérico.

***

## Visão geral

Um **Notifier** é um destino reutilizável para o qual os [**Alerts**](/docs/pt-BR/ai-studio/observability/alerts.md) fazem entregas. Um **Notifier** tem um canal, e qualquer número de **Alerts** pode selecioná-lo, então um destino é configurado uma única vez e compartilhado.

Há três canais disponíveis: **Email**, **Slack** por meio de um incoming webhook e um **Webhook** genérico.

## Canais

| Canal | `type` | Campo de destino | Observações |
| - | - | - | - |
| Email | `NOTIFIER_TYPE_EMAIL` | `emails` | Um ou mais endereços. Duplicatas e espaços em branco ao redor são removidos, e cada endereço é validado. |
| Slack | `NOTIFIER_TYPE_SLACK_WEBHOOK` | `incoming_webhook_url` | Uma URL de incoming webhook do Slack. |
| Webhook | `NOTIFIER_TYPE_WEBHOOK` | `webhook_url` | Qualquer URL HTTPS absoluta, com cabeçalhos de solicitação opcionais. |

As duas URLs de webhook devem ser URLs HTTPS absolutas. Uma URL `http://` simples é rejeitada com o nome do campo problemático, seja `webhook_url must be an absolute HTTPS URL` ou `incoming_webhook_url must be an absolute HTTPS URL`.

## Criar um notifier

> [tab] AI Studio
>
> Abra **Settings** > **Notifiers** e selecione <kbd> Notifier</kbd> para abrir o painel. Também é possível criar um novo diretamente no formulário de **Alert**, sem sair dele.
>
> **1. Dê um nome ao notifier**
>
> Insira um **Name** com até 255 caracteres.
>
> **2. Escolha um canal**
>
> Selecione **Send via** e preencha o destino solicitado pelo canal: endereços de destinatários, uma URL de incoming webhook do Slack ou uma URL de webhook com cabeçalhos opcionais.
>
> **3. Salve**
>
> Escolha **Create**. O botão permanece desabilitado até que o nome e um destino válido sejam informados.

> [tab] API e SDK
>
> ```bash cURL theme={"theme":{"light":"github-light","dark":"github-dark"}}
> curl -X POST https://router.toqan.ai/eu/v2/notifiers \
>   -H "Authorization: Bearer $TOQAN_API_KEY" \
>   -H "Content-Type: application/json" \
>   -d '{
>     "display_name": "On-call email",
>     "type": "NOTIFIER_TYPE_EMAIL",
>     "emails": ["oncall@example.com"]
>   }'
> ```
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "notifier": {
>     "_id": "notifier_01m48465jqdz12asrmg7g7qcw7",
>     "display_name": "On-call email",
>     "type": "NOTIFIER_TYPE_EMAIL",
>     "emails": ["oncall@example.com"],
>     "project_id": "",
>     "created_at": "2026-10-06T08:09:54.519Z"
>   }
> }
> ```
>
> **Parâmetros**
>
> | Parâmetro | Tipo | Obrigatório | Descrição |
> | - | - | - | - |
> | `display_name` | string | Sim | Nome exibido onde o notifier é selecionado. Até 255 caracteres. |
> | `type` | enum | Sim | `NOTIFIER_TYPE_EMAIL`, `NOTIFIER_TYPE_SLACK_WEBHOOK` ou `NOTIFIER_TYPE_WEBHOOK`. |
> | `emails` | string array | Para email | Endereços dos destinatários. Obrigatório quando o tipo é email. |
> | `incoming_webhook_url` | string | Para Slack | URL HTTPS absoluta. Obrigatório quando o tipo é Slack. |
> | `webhook_url` | string | Para webhook | URL HTTPS absoluta. Obrigatório quando o tipo é um webhook genérico. |
> | `headers` | object | Não | Cabeçalhos de solicitação para um webhook genérico. Consulte [Cabeçalhos secretos](#secret-headers). |
> | `project_id` | string | Não | Define o escopo do notifier para um **Project**. Se omitido, vale para todo o workspace. Uma chave de API com escopo de projeto sempre cria no próprio projeto. |
> | `metadata` | object | Não | JSON personalizado armazenado com o notifier. |
>
> > [!NOTE]
> >
> > O campo enviado é `_id`; os SDKs expõem o mesmo valor como `id`.

## Gerenciar notifiers

> [tab] AI Studio
>
> A lista **Notifiers** mostra cada um com **Name**, **Destination**, **Type** e a última atualização, e permite busca por nome, filtro por tipo e tamanhos de página de 25, 50 ou 100.
>
> Abra o menu da linha para editar ou excluir um notifier. Um **Notifier** que ainda está selecionado por um **Alert** ou por um alerta de orçamento não pode ser excluído: a API recusa com `Notifier is in use and cannot be deleted.` Remova-o primeiro desses alertas.

> [tab] API e SDK
>
> | Operação | Endpoint |
> | - | - |
> | [Criar um notifier](/docs/pt-BR/reference/notifiers/create-a-notifier.md) | `POST /v2/notifiers` |
> | [Listar notifiers](/docs/pt-BR/reference/notifiers/list-notifiers.md) | `GET /v2/notifiers` |
> | [Obter um notifier](/docs/pt-BR/reference/notifiers/retrieve-a-notifier.md) | `GET /v2/notifiers/{notifier_id}` |
> | [Atualizar um notifier](/docs/pt-BR/reference/notifiers/update-a-notifier.md) | `PATCH /v2/notifiers/{notifier_id}` |
> | [Excluir um notifier](/docs/pt-BR/reference/notifiers/delete-a-notifier.md) | `DELETE /v2/notifiers/{notifier_id}` |
>
> `GET /v2/notifiers` aceita `search` para uma correspondência sem diferenciação de maiúsculas e minúsculas no nome, `type` para restringir o resultado a um ou mais canais e `project_id`, e pagina com `starting_after` e `ending_before`.

## Onde os notifiers são usados

| Superfície | Como o notifier é anexado |
| - | - |
| [**Alerts**](/docs/pt-BR/ai-studio/observability/alerts.md) | Selecionado em **Notify via** no formulário de **Alert**, que permite vários e pode criar um diretamente. Essa página aborda o limite e o que acontece com um **Alert** sem nenhum. |
| [**Alertas de orçamento**](/docs/pt-BR/ai-gateway/budgets.md) | Em um limite de orçamento, onde pelo menos um **Notifier** é obrigatório. |
| **Monitors** | **Create alert** em um widget abre o formulário de [**Alerts**](/docs/pt-BR/ai-studio/observability/alerts.md) com a métrica do widget, então a mesma seleção de notifiers se aplica. |

## Terraform

O provider gerencia notifiers com o recurso `orq_notifier`, e `notifier_ids` os anexa a um alerta de orçamento ou a uma regra de alerta. Consulte Terraform quickstart e Importar recursos.

## Cabeçalhos secretos

Um webhook genérico pode conter cabeçalhos de solicitação. O valor de um cabeçalho é uma string simples ou um objeto que o marca como secreto:

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "headers": {
    "Authorization": { "secret": true, "value": "Bearer sk-live-..." },
    "X-Source": "toqan"
  }
}
```

Um cabeçalho marcado com `{"secret": true}` volta vazio na leitura e não pode ser lido em lugar nenhum, ao contrário de um cabeçalho simples. Para ver a lista completa do que cada classe de armazenamento protege, consulte Secrets.

## Enviar notificações para um canal do Microsoft Teams

Encaminhe notificações de alertas para um canal do **Microsoft Teams** com um **Notifier** de webhook genérico. O Teams renderiza as mensagens em seu próprio formato de card, enquanto o **Toqan Router** envia um envelope JSON, então o webhook aponta para um pequeno relay que converte o payload antes de encaminhá-lo. O [exemplo do Microsoft Teams](/docs/pt-BR/ai-gateway/budgets.md#send-notifications-to-a-microsoft-teams-channel) aborda o workflow do Teams, o relay e como anexar o notifier a um alerta.

## Limitações

| Limitação | Impacto | Alternativa |
| - | - | - |
| Um canal por notifier | Um destino que deve receber e-mail e Slack precisa de dois notifiers | Crie um por canal e selecione ambos no alerta |
| Sem log de entregas | O registro do notifier não mostra o que foi enviado | Verifique o canal de destino ou use um endpoint de webhook que registre as solicitações |
| A exclusão é recusada enquanto estiver em uso | Um notifier ainda selecionado por um **Alert** ou alerta de orçamento não pode ser excluído | Remova-o desses alertas e depois exclua-o |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.