Documentação API Clientes e-Ticons
API para consulta de dados clientes e-Ticons
Tópicos
1. Autenticação
O módulo de autenticação do projeto Eticons Clientes é responsável por gerenciar o acesso dos usuários ao sistema, garantindo a segurança e a integridade dos dados. Ele utiliza o sistema de autenticação padrão OAuth 2.0.
1.1. Gerenciamento de Usuários
Os usuários podem ser gerenciados através de uma interface administrativa, onde é possível visualizar, cadastrar e desabilitar contas de usuário. A funcionalidade de desabilitação permite que administradores controlem o acesso sem a necessidade de excluir permanentemente um registro, mantendo o histórico de atividades.
1.2. Credenciais de API
O sistema oferece um mecanismo para a geração e gerenciamento de credenciais de API, utilizando Access Tokens. Isso permite que aplicações externas interajam com o sistema de forma segura.
1.3. Access Tokens
Assim que acessar o sistema navegue até a sessão Minha Conta > API Client, lá você irá encontrar o seu Client ID e Client Secret, que serão necessários para gerar o seu Access Token.
Com o Client ID e Client Secret, você irá disparar uma requisição para o Endpoint:
https://www.clientes.eticons.com/api/v1/auth/token POST
Essa autenticação deve possuir uma estrutura com Body
{
"name": "Sistema de Licitações",
"client_id": "eti_xxxxxxx",
"client_secret": "eti_xxxxxxx"
}
Escopos:
"client_id": Obrigatório, inidica a chave pública associada ao usuário;
"client_secret": Obrigatório; inifica a chave privada associada ao usuário;
2. Clientes
O módulo de
Clientes é o coração do sistema, responsável por armazenar e gerenciar todas as informações relacionadas aos clientes da Eticons. Ele permite o cadastro detalhado de instituições, incluindo dados de contato, localização e associação com sistemas específicos.
2.1. Cadastro e Edição de Clientes
O cadastro de clientes é abrangente, incluindo informações como nome, CNPJ, unidade gestora, tipo de instituição, data de implantação, contatos e endereço completo. A edição permite a atualização de todos esses dados.
2.2. Exclusão de Clientes
O sistema suporta a exclusão de clientes, tanto individualmente quanto em massa. Esta funcionalidade é controlada pelo ClientesController e pela view clientes.blade.php, garantindo que os registros possam ser removidos quando necessário.
2.3. Associação de Sistemas
Uma funcionalidade crucial é a associação de sistemas a clientes. Um cliente pode ter múltiplos sistemas associados, e cada associação pode ter um status (Ativo/Bloqueado). Esta relação é gerenciada através de uma tabela pivot (cliente_sistema).
•Backend de Associação: O ClientesController foi atualizado com o método AssociarSistemas para gerenciar esta relação. Ele recebe os IDs dos sistemas e seus respectivos status, sincronizando-os com o cliente. Isso permite que o sistema registre quais sistemas um cliente utiliza e se estão ativos ou bloqueados para aquele cliente específico.
3. Sistemas
O módulo de Sistemas gerencia os diferentes sistemas ou serviços que a Eticons oferece aos seus clientes. Ele permite o cadastro de sistemas, categorização e controle de sua situação.
3.1. Cadastro e Edição de Sistemas
É possível cadastrar novos sistemas com detalhes como nome, descrição e situação (ativo/inativo). A edição permite a atualização dessas informações.
3.2. Exclusão de Sistemas
Similar ao módulo de Clientes, o módulo de Sistemas permite a exclusão de registros, tanto individualmente quanto em massa. Esta funcionalidade é implementada no SistemasController e na view sistemas.blade.php, garantindo a remoção eficiente de sistemas não mais relevantes.
3.3. Categorias de Sistemas
Os sistemas podem ser organizados por categorias, facilitando a gestão e a visualização. O sistema suporta o cadastro, edição e exclusão de categorias de sistemas, mantendo a organização do portfólio de serviços.
3.4. Dashboard BI
O projeto inclui uma tela de Dashboard BI (bi.blade.php e BIController) que oferece uma visão geral e intuitiva dos dados de clientes e sistemas. O dashboard apresenta gráficos e métricas importantes, como:
•Total de Clientes: Número total de clientes cadastrados.
•Clientes Ativos/Inativos: Distribuição de clientes por situação.
•Crescimento Mensal de Clientes: Gráfico mostrando a evolução do número de clientes ao longo do tempo.
•Clientes por Tipo de Instituição: Distribuição de clientes por categoria de instituição (e.g., Prefeitura, Câmara Municipal).
Esses gráficos são gerados utilizando ApexCharts, proporcionando uma visualização clara e interativa dos dados para auxiliar na tomada de decisões.