Username da linha oficial
O username da linha é o@nome público da sua linha oficial de WhatsApp Business — o identificador que aparece no perfil do número comercial para os clientes. Não confunda com o username do usuário final, que identifica quem conversa com você e chega nos webhooks; este aqui é o @ da sua própria linha.
Estas rotas permitem que você, como titular do número, consulte, defina/altere, exclua e obtenha sugestões de username, repassando a operação para a Meta (WhatsApp Cloud API) e mantendo o estado local sincronizado.
O username da linha é um conceito relacionado ao BSUID. Para entender como o
@nome da linha se relaciona com o BSUID e com o telefone (wa_id) nos webhooks e requisições, veja BSUID e identificadores de usuário.Ciclo de vida do username
O username passa por estados durante seu ciclo de vida. Cada estado é retornado no campostatus (string da Meta), preservado tanto nas respostas da API quanto no webhook:
A propagação do estado é assíncrona. Ao definir/alterar um username, a Meta pode responder
reserved e só depois promover para approved. Essa transição é confirmada pela Positus através do webhook business_username_update — veja a seção Webhook de atualização.Autenticação e base URL
Todas as rotas usam a mesma base e o mesmo esquema de autenticação das demais rotas da Positus API.https://api.positus.global/v2
Path Parameters
Headers
Token de Produção: O seu token será gerado e fornecido pela Positus e dá acesso a todos os seus números de WhatsApp Business API.
As rotas de alteração (definir, alterar e excluir) exigem que o usuário autenticado seja owner do número. Um usuário sem essa permissão recebe 403.
Consultar username
GET https://api.positus.global/v2/whatsapp/numbers/{{chave}}/username
Retorna o username atual da linha e o seu status. Por padrão a resposta é lida do estado local (mantido sincronizado pelo webhook business_username_update). Para forçar uma leitura direta na Meta, informe ?refresh=true.
Query Parameters
Response
- 200
- 200 (sem username)
Com
?refresh=true, o campo username_status reflete o status retornado pela Meta no momento da consulta. Se a leitura na Meta falhar, a resposta traz o erro traduzido (veja Tratamento de erros).Definir ou alterar username
POST https://api.positus.global/v2/whatsapp/numbers/{{chave}}/username
Define um novo username para a linha (ou substitui o existente). O formato é validado localmente antes de chamar a Meta. Após o sucesso, o estado local é sincronizado (username, username_status e previous_username).
Request Body
Regras de formato do username (validadas localmente):
- 3 a 35 caracteres.
- Somente letras inglesas (
a-z,A-Z), dígitos (0-9), ponto (.) e underline (_). - Ao menos uma letra.
- Não pode começar nem terminar com ponto (
.), nem conter ponto duplo (..). - Não pode começar com
www. - Não pode terminar com domínio (
.com,.org,.net,.int,.edu,.gov,.mil,.us,.in,.html).
Response
- 200
- 403
- 409
- 422
Retorna o número completo atualizado (mesmo formato do
GET /whatsapp/numbers/{{chave}}), já com username e username_status:Ao definir um novo username, a Meta pode retornar o status
reserved (username reservado, ainda não público) ou approved. A promoção de reserved para approved é confirmada de forma assíncrona pelo webhook business_username_update.Excluir username
DELETE https://api.positus.global/v2/whatsapp/numbers/{{chave}}/username
Remove o username da linha. Após o sucesso, o estado local é atualizado (username volta para null e username_status passa a deleted).
Response
- 200
- 403
Retorna o número completo atualizado, agora sem username:
Sugestões de username
GET https://api.positus.global/v2/whatsapp/numbers/{{chave}}/username/suggestions
Retorna uma lista de usernames disponíveis sugeridos pela Meta para a sua linha. Útil quando o username desejado está indisponível.
Response
- 200
- 200 (sem sugestões)
Tratamento de erros
As rotas de alteração repassam os erros da Meta traduzidos, com o código HTTP correspondente. A resposta traz a mensagem traduzida emmessage e a mensagem original da Meta em meta_error.
Webhook de atualização
Além das rotas acima (ações que você inicia), a Positus notifica o seu webhook sempre que o status do username da linha muda — inclusive por ações feitas fora da API (por exemplo, no aplicativo WhatsApp Business Manager) ou pela promoção assíncrona dereserved para approved.
O evento é o business_username_update, entregue no objeto number com display_phone_number, username, status (approved / deleted / reserved), timestamp e waba_id. Para o payload completo e a tabela de campos, veja a seção Atualização de username da linha (business_username_update) na documentação de Webhook.
Estados do username e persistência
O estado do username é persistido localmente no número e refletido nas respostas da API. As rotas de consulta (leitura local) e oGET /whatsapp/numbers/{{chave}} sempre retornam o estado mais recente sincronizado.
- A operação de excluir define
username = nulleusername_status = deleted. - Ao alterar o username, o valor anterior é preservado internamente (histórico do último username).
- A sincronização é confirmada de forma assíncrona pelo webhook
business_username_update, garantindo consistência entre a sua ação, o estado da Meta e o estado local da Positus.