๐ Definicao tecnica
BSUID e um identificador opaco gerado pela Meta para representar um usuario do WhatsApp dentro de UMA empresa especifica. Mesma pessoa em duas empresas = dois BSUIDs diferentes. Mesma pessoa, mesma empresa, dois aparelhos = mesmo BSUID.
๐ฏ A formula
BSUID = f(usuario, empresa)
Mesmo usuario em empresas diferentes geram BSUIDs que NAO podem ser cruzados entre si. E essa a "scope" do nome.
๐ Caracteristicas
- Opaco: string longa sem significado humano (ex: "7a3f2b9c1e...")
- Escopo de empresa: so vale para aquele WABA (WhatsApp Business Account)
- Estavel: mesmo BSUID entre conversas, mensagens e aparelhos
- Nao reversivel: nao da pra extrair telefone a partir do BSUID
๐ Diferenca para o "wa_id" antigo
Ate hoje, a Cloud API entrega o numero de telefone do usuario no campo wa_id. Com username liberado, esse modelo nao escala mais โ o usuario pode escolher nao expor o numero.
โ wa_id (modelo antigo)
- Era literalmente o numero E.164
- Mesmo wa_id em todas as empresas
- Fura quando usuario oculta numero
- Cruzamento de bases entre empresas trivial
โ BSUID (novo)
- String opaca, sem significado
- Diferente por empresa
- Sobrevive a ocultacao de numero
- Empresas nao podem cruzar bases por ID
๐ Onde o BSUID aparece
No payload de webhook da Cloud API e nas chamadas de envio. Saber o local exato e crucial para modelar seu banco.
{
"entry": [{
"changes": [{
"value": {
"messages": [{
"from": "5511999990000", // quando usuario permite
"id": "wamid.xxx",
"type": "text",
"text": { "body": "Ola" }
}],
"contacts": [{
"user_id": "BSUID_OPACO_AQUI", // chave estavel
"profile": { "name": "Maria" }
}]
}
}]
}]
}๐ก Dica de modelagem
Crie uma tabela contatos_whatsapp com PK em (business_id, bsuid). Toda mensagem e conversa referencia esse par. Numero e nome viram colunas opcionais que voce pode nao ter sempre.
๐๏ธ Inspiracao: PSID do Messenger
No Messenger ja existe ha anos o PSID (Page-Scoped User ID). BSUID e a versao WhatsApp da mesma ideia: um ID estavel por par (entidade comercial, usuario).
PSID (Messenger / Facebook Pages)
Identificador unico por (Pagina, Usuario). Existe desde a Messenger Platform inicial.
IGSID (Instagram Messaging)
Mesmo conceito para Instagram. Conta e identidade ja vinham dissociadas.
BSUID (WhatsApp Business Platform)
A "vez do WhatsApp" โ aplicando o padrao Meta de identidade escopada para o canal de maior volume.
๐งฉ Ciclo de vida
O BSUID nao nasce do nada nem dura para sempre. Saber o ciclo evita decisoes erradas de retencao.
โ Quando ele e gerado
- Primeiro contato usuario โ empresa
- Persiste por toda a relacao
- Sobrevive a troca de aparelho
- Sobrevive a troca de username
โ Quando pode mudar/sumir
- Usuario apagar conta WhatsApp
- Empresa perder WABA
- Casos extremos de rotacao
- Solicitacao LGPD/GDPR de exclusao
โ๏ธ BSUID e a LGPD/GDPR
BSUID e dado pessoal pseudonimizado โ nao identifica diretamente, mas combinado com mensagens permite reidentificacao. Para a LGPD e a GDPR, isso continua sendo dado pessoal.
โ ๏ธ Atencao
Pseudonimizacao reduz risco, NAO elimina. Trate BSUID com o mesmo cuidado de telefone ou email.
๐ Checklist de compliance
- โ Documente BSUID no ROPA (Registro de Atividades de Tratamento)
- โ Defina base legal (execucao de contrato ou consentimento)
- โ Atenda direito a exclusao apagando registros vinculados ao BSUID
- โ Defina retencao maxima compativel com a base legal
๐ Resumo do Modulo
Proximo Modulo:
1.3 โ Identidade, privacidade e padroes da industria