Logotipo Hedhog

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

FieldTypeRequiredNotes
slugstring (kebab-case)yes
localeRecord<locale, { name }>yes
kindweb_form | email | whatsapp | phone | chat | api | adminno
is_publicbooleannoWhether the channel accepts unauthenticated public submissions
reply_domainstringnoOverrides 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)