Receba novidades do Hedhog no seu e-mail
Novos lançamentos, receitas e breaking changes — sem spam.
Submódulo sac
whatsapp-sources
Números de WhatsApp que abrem chamado, na Meta Cloud API e na Evolution API, vários por perfil de integração.
Caminho de origem: libraries/sac/src/inbound
Arquivo do módulo: inbound.module.ts
Introdução
Uma fonte liga `(perfil de integração, número)` a um canal do SAC. O `external_id` guarda o `phone_number_id` na Meta Cloud API, ou o nome da instância na Evolution API — o que o webhook informar —, e ele é único apenas dentro de um perfil, porque dois servidores Evolution podem ter, cada um, uma instância chamada "suporte".
O canal precisa ser do tipo `whatsapp`, e a API recusa qualquer outro com erro explícito: é o tipo do canal que faz a resposta do atendente voltar pelo WhatsApp, e apontar para um canal de e-mail mandaria a resposta por e-mail para um solicitante que não tem nenhum.
O recebimento em si não é responsabilidade daqui. Os dois providers entregam no webhook público genérico do core (`/webhook/:uuid`) por meio de adaptadores de protocolo na biblioteca `whatsapp`, que normalizam os dois formatos bem diferentes num modelo só e publicam a mensagem no outbox. O SAC assina esse evento, então nunca fala com um provider diretamente.
Endpoints HTTP
5 endpoints
Listagem paginada dos números, com provedor e canal.
- Query
- page, pageSize, search
Vincula um número a um canal de atendimento. Número repetido no mesmo perfil devolve 409.
Body
| Field | Type | Required | Notes |
|---|---|---|---|
| channel_id | int | yes | Must be a channel of kind whatsapp |
| integration_profile_id | int | yes | whatsapp-official or evolution-api |
| external_id | string | yes | phone_number_id (Meta) or instance name (Evolution) |
| e164 | string | no | Display only |
| label | string | no | — |
Atualiza o vínculo.
- Params
- id (int)
Para de abrir chamados a partir deste número. Os chamados já abertos permanecem.
- Params
- id (int)
Provisiona (de forma idempotente) a URL pública do webhook para colar no console da Meta ou da Evolution. Vive na biblioteca whatsapp; o papel admin-sac recebe acesso para a configuração terminar numa tela só.
- Params
- integrationProfileId (int)