Receba novidades do Hedhog no seu e-mail
Novos lançamentos, receitas e breaking changes — sem spam.
Submódulo sac
channels
Define de onde vêm os chamados e por onde saem as respostas: tipo, submissão pública, CAPTCHA, destinatários de aviso e domínio de resposta.
Caminho de origem: libraries/sac/src/channel
Arquivo do módulo: channel.module.ts
Introdução
O canal é o que permite uma segunda origem de chamados sem mudança de schema. O `kind` (`web_form`, `email`, `whatsapp`, `phone`, `chat`, `api`, `admin`) não é decorativo: ele decide o transporte da resposta do atendente. Um chamado num canal do tipo `whatsapp` é respondido por WhatsApp; qualquer outro tipo sai por e-mail.
Cada canal pode sobrescrever a configuração global onde isso importa: `notify_emails` para o alerta interno, `received_mail_slug` para um template de confirmação especializado, e `reply_domain` quando marcas diferentes precisam de endereços de resposta diferentes.
`is_public` controla se o canal aceita um `POST /sac/public/tickets` anônimo. Uma submissão interna de outra biblioteca resolve o canal por "ativo", e não por "público", então um canal pode receber chamados por código e ainda assim recusar postagens anônimas.
Endpoints HTTP
4 endpoints
Listagem paginada de canais, com a contagem de chamados.
- Query
- page, pageSize, search
Cria um canal.
Body
| Field | Type | Required | Notes |
|---|---|---|---|
| slug | string (kebab-case) | yes | — |
| locale | Record<locale, { name }> | yes | — |
| kind | web_form | email | whatsapp | phone | chat | api | admin | no | — |
| is_public | boolean | no | Whether the channel accepts unauthenticated public submissions |
| reply_domain | string | no | Overrides the global sac.mail.reply-domain for this channel |
Atualiza um canal.
- Params
- id (int)
Exclui um canal. Recusado com erro legível quando já existem chamados apontando para ele — nesse caso, desative.
- Params
- id (int)