Autenticação
A API v1 do Rouxinol usa OAuth 2.0 Client Credentials Grant. Não existe usuário associado ao token — ele autentica a sua aplicação (o "App"), e todas as requisições feitas com esse token acessam os dados da conta (tenant) dona do App.
Criando um App
- No painel do Rouxinol, acesse Apps (menu Configurações).
- Crie um novo App com um nome.
- O Client Secret é exibido uma única vez, em uma notificação — copie e guarde em local seguro, pois ele não pode ser recuperado depois.
Cada App gera um client_id e um client_secret, usados no fluxo de autenticação abaixo.
Outras ações disponíveis na tela do App:
- Regerar Secret — gera um novo secret e invalida o anterior imediatamente.
- Revogar/Reativar — revoga o App (e todos os tokens emitidos por ele) ou o reativa.
- Excluir — remove o App e revoga todos os tokens associados.
Obtendo um token de acesso
Faça uma requisição POST para /oauth/token:
export ROUXINOL_URL="https://sua-instancia.rouxinol.com"
curl -X POST "$ROUXINOL_URL/oauth/token" \
-H "Content-Type: application/json" \
-d '{
"grant_type": "client_credentials",
"client_id": "SEU_CLIENT_ID",
"client_secret": "SEU_CLIENT_SECRET"
}'
A resposta traz um access_token no padrão OAuth2:
{
"token_type": "Bearer",
"expires_in": 31536000,
"access_token": "..."
}
Usando o token
Guarde o token em uma variável de ambiente e envie-o em todas as chamadas à API v1 no header Authorization. Todos os exemplos de curl nesta documentação assumem que $ROUXINOL_URL e $ROUXINOL_TOKEN já estão definidos:
export ROUXINOL_TOKEN="SEU_ACCESS_TOKEN"
curl "$ROUXINOL_URL/api/v1/me" \
-H "Authorization: Bearer $ROUXINOL_TOKEN"
Verificando o token — /api/v1/me
Use GET /api/v1/me para confirmar que o token é válido e a qual conta ele pertence:
{
"status": "success",
"tenant": {
"id": 1,
"name": "Minha Empresa",
"slug": "minha-empresa"
}
}
Use este endpoint como health-check da integração antes de implementar o restante do fluxo.