Download OpenAPI specification:
API de integração para parceiros da Betha Sistemas.
| Documentação | Descrição |
|---|---|
| Studio Aplicações | Credenciais, tokens e configuração de acesso |
| API de Autorizações | Page Mapping, permissões e validação de acesso |
| Swagger UI | Testar endpoints diretamente no navegador |
Esta API utiliza OAuth 2.0 para autenticação através do Studio Aplicações. É necessário configurar credenciais no Studio e obter os tokens apropriados.
| Token | Descrição | Uso |
|---|---|---|
| Access Token | Token de acesso à API | Endpoints sem validação de usuário |
| User-Access | Token com contexto de usuário/entidade | Endpoints com validação de usuário |
Importante: Alguns endpoints requerem User-Access (token com contexto de usuário). Estes endpoints estão marcados com o badge "Requer User-Access" na documentação.
| Ambiente | URL Base |
|---|---|
| Produção | https://autorizacoes.suite.betha.cloud/dados/v1 |
| Teste | https://autorizacoes.test.suite.betha.cloud/dados/v1 |
Endpoints essenciais para integracao de parceiros.
Para documentacao completa sobre credenciais e tokens, consulte: Studio Aplicações
| Endpoint | Descricao | Token |
|---|---|---|
GET /users/me |
Obter dados do usuario (nome, email) | Access Token |
GET /users/me/contexts |
Listar contextos disponiveis | Access Token |
GET /access/current |
Obter acesso atual (inclui flag admin) |
User-Access |
GET /entities/atual |
Obter entidade do contexto atual | User-Access |
GET /resources/{url}/methods/{method}/constraints |
Validar permissao de acesso | User-Access |
/users/me/contexts para listar contextos/access/current para verificar permissoes e adminPara usar o Gerenciador de Acessos, configure o Page Mapping:
PUT /page-mapping - RegistrarGET /page-mapping - ConsultarPUT /page-mapping/{version} - Registrar versionadoGET /page-mapping/{version} - Consultar versionadoRetorna lista de contextos de licenca disponiveis para o usuario.
Parceiros: Use este endpoint para obter a lista de contextos (entidades/databases) que o usuario tem acesso. Cada contexto retornado pode ser usado para obter um user-access token especifico.
[- {
- "entity": 0,
- "database": 0
}
]Retorna o acesso do usuario no contexto atual.
Requer User-Access: Este endpoint requer um token User-Access com contexto de usuario.
Parceiros: Use este endpoint para obter informacoes do acesso atual, incluindo:
admin: Se o usuario e administrador no contextocontext: Hash do contexto atualvalues: Valores do contexto (entity, database, etc)technical: Se e um acesso tecnico{- "id": "string",
- "licenseId": "string",
- "admin": true,
- "technical": true,
- "user": "string",
- "username": "string",
- "context": "string",
- "values": {
- "property1": "string",
- "property2": "string"
}, - "properties": {
- "property1": "string",
- "property2": "string"
}, - "system": 0,
- "totalGroups": 0,
- "totalRestrictions": 0,
- "expiresIn": "2019-08-24",
- "createAt": "2019-08-24T14:15:22Z",
- "createBy": "string",
- "accepted": true,
- "acceptedIn": "2019-08-24T14:15:22Z",
- "connected": true,
- "blockedByAdmin": true,
- "finalBlockedDate": "2019-08-24"
}Retorna a entidade do contexto atual.
Requer User-Access: Este endpoint requer um token User-Access com contexto de usuario.
Parceiros: Use este endpoint para obter dados da entidade/organizacao do contexto atual (nome, CNPJ, etc).
{- "id": 0,
- "name": "string"
}Cria ou atualiza o mapeamento de paginas para a aplicacao atual.
Parceiros: Use este endpoint para registrar o Page Mapping do seu sistema. O Page Mapping define quais permissoes existem e quais URLs cada permissao protege. Isso permite que os administradores configurem acessos no Gerenciador de Acessos.
object | |
| constraints | Array of objects |
| resources | Array of objects |
[- {
- "context": {
- "property1": "string",
- "property2": "string"
}, - "constraints": [
- { }
], - "resources": [
- { }
]
}
]Retorna o mapeamento de paginas da aplicacao atual.
Parceiros: Use este endpoint para consultar o Page Mapping registrado.
[- {
- "context": {
- "property1": "string",
- "property2": "string"
}, - "constraints": [
- { }
], - "resources": [
- { }
]
}
]Cria ou atualiza o mapeamento de paginas com versao especifica.
Parceiros: Use este endpoint para registrar o Page Mapping com controle de versao.
| version required | string Versao do arquivo de page mapping |
object | |
| constraints | Array of objects |
| resources | Array of objects |
[- {
- "context": {
- "property1": "string",
- "property2": "string"
}, - "constraints": [
- { }
], - "resources": [
- { }
]
}
]Retorna o mapeamento de paginas de uma versao especifica.
Parceiros: Use este endpoint para consultar o Page Mapping de uma versao especifica.
| version required | string Versao do arquivo de page mapping |
[- {
- "context": {
- "property1": "string",
- "property2": "string"
}, - "constraints": [
- { }
], - "resources": [
- { }
]
}
]Consulta se o usuario tem permissao para acessar um recurso especifico.
Requer User-Access: Este endpoint requer um token User-Access com contexto de usuario.
Parceiros: Use este endpoint para verificar se o usuario autenticado tem permissao para acessar uma URL/metodo especifico do seu sistema.
curl --location 'https://autorizacoes.suite.betha.cloud/dados/v1/resources/%2Fapi%2Fpessoas%2F123/methods/GET/constraints' \
--header 'Authorization: Bearer {TOKEN}' \
--header 'User-Access: {USER_ACCESS}'
Nota: A URL do recurso deve ser URL-encoded (ex: /api/pessoas/123 vira %2Fapi%2Fpessoas%2F123).
| Codigo | Descricao |
|---|---|
INVALID_ACCESS |
Usuario nao possui acesso para o contexto informado |
READ_ACCESS |
Licenca vencida, habilitado acesso apenas de leitura |
INVALID_LICENSE |
A licenca do produto nao e valida |
INVALID_PAGE_MAPPING |
Nao existe page mapping registrado para a aplicacao |
INVALID_PAGE_MAPPING_ACTION |
Contexto selecionado para o page mapping e invalido |
| url required | string Example: %2Fapi%2Fpessoas%2F123 URL do recurso a ser validado (URL-encoded) |
| method required | string Enum: "GET" "POST" "PUT" "DELETE" "PATCH" Example: GET Metodo HTTP do recurso |
| Page-Mapping-Version | string Versao do arquivo de page mapping (opcional) |
{- "message": "string",
- "code": "string"
}