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
/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"}'{
"user_id": "665f1c2e8a1b4a0012ab34cd",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"role": "user"
}Credencial errada ou usuário desativado devolvem 401:
credencial inválida
/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"}'{
"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.