Skip to main content

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 campo status (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

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

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

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

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 em message 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 de reserved 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 o GET /whatsapp/numbers/{{chave}} sempre retornam o estado mais recente sincronizado.
  • A operação de excluir define username = null e username_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.