# Status/Broadcast — Comportamento e Salvaguardas Detalha como o Unoapi lida com Stories (Status) via Baileys e as proteções para evitar queda do socket quando a lista de destinatários contém números inválidos. ## Entradas - `to = "status@broadcast"` - `type` é um tipo de conteúdo suportado (text, image, video, ...) - `options.statusJidList = [números | JIDs]` — lista de destinatários para relay após o envio inicial Auto-preenchimento (image/video apenas): - Se statusJidList estiver vazio ou nulo e type for image/video, Unoapi preenche via Redis contact-info (unoapi-contact-info::*). - Isso ocorre antes da normalização; se a lista continuar vazia, não faz relayMessage. ## Validação e Normalização Implementado em `src/services/socket.ts` no caminho `send()` para `status@broadcast`: - Para cada entrada em `statusJidList`, chama‑se `exists(raw)` que retorna um JID válido se o número tem WhatsApp, ou `undefined` caso contrário. - Remove todos os `undefined` (números inválidos) e loga um aviso com amostra dos ignorados. - Opcionalmente normaliza LID→PN baseado em `STATUS_ALLOW_LID` em `defaults.ts`. - Remove duplicados na lista final. Se após normalização não houver destinatários válidos, o passo `relayMessage` é ignorado. ## Resposta com Informações Extras Para facilitar monitoramento/UX, a resposta HTTP inclui dois campos extras para envios de Status: - `status_skipped`: entradas removidas por não terem WhatsApp. - `status_recipients`: quantidade de destinatários válidos relayados. Os campos são adicionados sem quebrar a estrutura Cloud API (`messages/contacts`). ## LID/PN no Status - A normalização de destinatários pode converter LID→PN quando `STATUS_ALLOW_LID=false`; quando `true` (padrão), LIDs são aceitos na lista. - O payload de webhook continua preferindo PN para `wa_id`/`recipient_id` quando for seguro obtê‑lo; caso contrário, retorna LID/JID como fallback. - Internamente, o transporte pode usar LID para melhorar disponibilidade de sessão e reduzir falhas de decrypt; isso não altera o formato externo do webhook. ## Racional - Listas grandes podem conter números sem WhatsApp, que antes causavam erros no Baileys e derrubavam o socket. - Filtrando e normalizando antes, o Unoapi envia apenas para válidos e mantém estabilidade.