Logotipo Hedhog

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

FieldTypeRequiredNotes
channel_idintyesMust be a channel of kind whatsapp
integration_profile_idintyeswhatsapp-official or evolution-api
external_idstringyesphone_number_id (Meta) or instance name (Evolution)
e164stringnoDisplay only
labelstringno

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)