BotoZap← Blog

Técnico

WhatsApp Usernames e BSUID: o que muda pra quem integra a Cloud API

Por Fernando, fundador da BotoZap · 1 de julho de 2026

Resposta rápida

O WhatsApp está desacoplando a identidade do número de telefone. Na Cloud API isso aparece como o BSUID (Business-Scoped User ID): um id que a Meta manda nos webhooks para todo contato, e que pode substituir o telefone em from/wa_id. O que quebra integração desavisada: tratar o destinatário como telefone e fazer strip de não-dígitos. Trate a chave do contato como opaca.

Muita matéria falou do lado consumidor: agora dá pra te achar por um @username, sem expor o número. O que quase ninguém explicou é o lado de quem integra a API. E aí a mudança já está valendo, mesmo antes dos usernames aparecerem pro usuário final no Brasil.

O que é o BSUID (Business-Scoped User ID)?

Pra suportar usernames sem quebrar a mensageria, a Meta gera um identificador único pra cada par usuário-empresa: o BSUID. Ele existe pra todo contato, mesmo quem nunca ativou username. O formato é código de país ISO de 2 letras, um ponto, e até 128 alfanuméricos, tipo BR.1029411383003659. É escopado por portfólio: o mesmo usuário tem BSUIDs diferentes em empresas diferentes, e só números do mesmo portfólio podem mandar mensagem pra um dado BSUID. A referência oficial está na documentação de BSUID da Meta.

O que muda nos webhooks?

Desde 31 de março de 2026, os webhooks de mensagem passaram a incluir o campo user_id (o BSUID). Na prática:

  • contacts[].user_id e messages[].from_user_id carregam o BSUID.
  • messages[].from e contacts[].wa_id podem vir como BSUID em vez do número.

O padrão que os provedores recomendam: guarde o user_id (BSUID) como chave estável, e mantenha o telefone quando houver (pra display e OTP). Quem indexa contato só por telefone vai duplicar registro ou perder o vínculo quando o número não vier.

O que muda no envio de mensagens?

Desde maio de 2026, a Cloud API aceita enviar mensagem mirando o BSUID. Você pode endereçar por BSUID, por telefone, ou pelos dois. A exceção importante: templates de autenticação (OTP) continuam exigindo o número de telefone, porque a verificação depende do número. Se o seu contato só tem BSUID, o OTP não sai.

O erro que quebra integração

O bug clássico: normalizar o destinatário com um replace(/\D/g, "")pra “limpar o telefone”. Isso destrói um BSUID (que tem letras e um ponto). A regra é simples: a chave do contato é opaca. Detecte se é BSUID ou telefone, e só normalize dígito quando for telefone de verdade. O mesmo vale pro banco: a chave canônica precisa aceitar as duas formas.

Quando cada coisa vale?

  • BSUID nos webhooks: desde ~abril de 2026 (campo user_id desde 31/03). Já é presente.
  • Envio por BSUID: desde maio de 2026.
  • Usernames pros usuários: reserva desde junho; uso por ondas, com o Brasil a partir de setembro de 2026.

Ou seja: a parte de código já vale hoje, mesmo que o @username só apareça pro seu cliente final lá na frente.

E o username de empresa?

Empresas também reservam @username, casando com o Display Name, pelo WhatsApp Manager. Se você entrega WhatsApp pra outras empresas (revenda), vale orientar cada cliente a reservar o dele. Conectar o número segue pelo Embedded Signup de sempre.

Como a BotoZap trata isso

A BotoZap já foi construída pra essa mudança: a chave do contato é opaca (BSUID quando existe, senão os dígitos do telefone), o token nunca vaza, e o envio bloqueia OTP pra contato só-BSUID (que a Meta recusaria). A reconciliação telefone↔BSUID roda no ingest, então não duplica contato. Validamos isso em produção com mensagens reais: BSUID capturado em todos, zero duplicata. Quem monta na mão ou usa API não oficial tende a quebrar aqui. Veja o comparativo com montar no n8n ou o guia de como revender WhatsApp oficial.

Testar sem quebrar nada

A BotoZap tem plano grátis, sem cartão. Você conecta um número e já recebe os webhooks com BSUID tratado. Veja o preço ou a página inicial.

Perguntas frequentes

O que é o BSUID?

Business-Scoped User ID: um identificador que a Meta atribui a cada par usuário-empresa, mesmo para quem não ativou username. Formato: código de país ISO de 2 letras, um ponto, e até 128 caracteres alfanuméricos, tipo BR.1029411383003659.

Preciso mudar minha integração agora?

Se você recebe webhooks, o BSUID já chega desde abril de 2026 no campo user_id. A mudança que evita quebra: não indexar o contato só por telefone e nunca fazer strip de não-dígitos no destinatário, senão você destrói um BSUID.

Dá pra enviar mensagem pra um username ou BSUID?

Sim, a Meta passou a aceitar envio por BSUID em maio de 2026. Você pode mandar por BSUID, telefone, ou os dois. Exceção: templates de autenticação (OTP) ainda exigem o número de telefone.

Quando os usernames chegam no Brasil?

A reserva de nome já abriu (junho de 2026). O uso pelos usuários vai por ondas: as primeiras em julho, e o resto do mundo, incluindo o Brasil, a partir de setembro de 2026. O BSUID nos webhooks, porém, já é presente.