Bandmaster docs

Autenticação

Login do api-user, token JWT e o header identifier.

O api-user

Sua integração usa um api-user: um usuário de API com username e password, criados para a sua empresa. É com ele que você pega o token, e é o token que abre todas as outras chamadas.

Duas informações acompanham cada chamada autenticada:

  • o token, no header authorization — diz qual empresa está chamando;
  • o identifier, no header de mesmo nome — diz qual número da empresa a chamada opera.

O token sozinho não basta: ele não carrega o número. Sem o identifier, o Bandmaster não sabe de qual dos seus números você está falando.

Login

Troque usuário e senha por um token. Esta é a única chamada pública — nenhuma outra funciona sem o token que ela devolve.

POST /authentication

VocêPOST/authentication
headers
content-type:
application/json
curl -X POST https://admin.2bebandmaster.com.br/authentication \
-H "content-type: application/json" \
-d '{"username":"seu-usuario","password":"sua-senha"}'
Bandmaster201 Created✓✓
{
"user_id": "665f1c2e8a1b4a0012ab34cd",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"role": "user"
}

Credencial errada ou usuário desativado devolvem 401:

credencial inválida

VocêPOST/authentication
headers
content-type:
application/json
curl -X POST https://admin.2bebandmaster.com.br/authentication \
-H "content-type: application/json" \
-d '{"username":"seu-usuario","password":"errada"}'
Bandmaster401 Unauthorized
{
"status": "error",
"message": "User/Password does not exists or is wrong."
}

A mensagem é "User is disabled." quando o api-user existe mas está desativado.

Os headers de toda chamada autenticada

authorization: Bearer <token>
identifier: <identifier-do-numero>
  • authorization — sempre obrigatório, exceto no login.
  • identifier — obrigatório em todas as chamadas. Se o header não vem, ou aponta para um número que não pertence à empresa do token, a chamada falha.

Falha de autenticação é sempre 401

Token ausente, expirado, inválido, ou identifier que não é da sua empresa: todos respondem 401. Nas rotas de número (/phones/*), o identifier ausente responde 400 ("Identifier was not sent").

Formato dos erros

Todo erro da API tem o mesmo corpo:

{
  "status": "error",
  "message": "descrição do erro",
  "details": [
    { "path": "campo", "error_type": "tipo", "message": "descrição" }
  ]
}

details só aparece em erros de validação (422).

Trocar a senha

A troca de senha do api-user é feita no portal web, na página Segurança — não pela API. Gere a nova senha por lá e atualize o segredo na sua aplicação.

Próximo passo

Com o token e o identifier em mãos, aponte o webhook do seu número para a sua URL — é por ele que as mensagens chegam.

Nesta página