Controle de Acesso & Onboarding
Esta seção descreve os endpoints do ecossistema de acesso do portal FastGivr, que lidam com o onboarding de novos clientes (registro), autenticação de usuários (Sanctum/JWT), verificação de contas e gestão de chaves/tokens de API.
- Base URL:
/api/...(sem prefixo geral de grupo, exceto/authe/managerpara fins de organização). - Autenticação: Rotas de
/auth/logine/registersão públicas. Subrotas sobauthemanagerexigem cabeçalhoAuthorization: Bearer {token}.
🚀 1. Onboarding e Registro de Contas
Estes endpoints realizam o fluxo de auto-cadastro e upload dos documentos iniciais de empresas ou indivíduos.
- POST
/api/register: Registra uma conta básica na plataforma. - POST
/api/register-full: Registra uma conta master completa contendo informações corporativas adicionais. - GET
/api/register/status: Consulta o status da análise de cadastro da conta atual (Pendente, Aprovado, Rejeitado). - POST
/api/register/email: Dispara o e-mail de boas-vindas e confirmação inicial de onboarding. - POST
/api/register/images: Envia os documentos de identificação (CNH, RG, Contrato Social) para o armazenamento em nuvem associado à aprovação da conta.
🔒 2. Autenticação e Gestão de Sessão (/auth)
Login do Usuário no Portal (POST /api/auth/login)
Realiza a autenticação de sub-usuários e integradores.
- Payload JSON:json
{ "email": "joao@empresa.com", "password": "minhasenhasecreta" } - Retorno (200 OK) - Raw JSON:json
{ "token": "34|sanctumPlainToken...", "session_duration": 24, "expires_at": "2026-05-19 12:00:00", "app_id": 5 }
Obtenção de Token JWT da API (POST /api/access/account/get-token)
Utilizado por integradores de back-end com a Chave Secreta ativa (API token).
- Payload JSON:json
{ "email": "integrador@empresa.com", "token": "sec_prod_xyz123" } - Retorno (200 OK) - ApiResponseClass Wrapper:json
{ "code": 200, "success": true, "data": { "token": "35|sanctumPlainToken...", "token_type": "Bearer", "expires_at": "2026-05-18T20:27:57+00:00", "permissions": [ { "id": 1, "name": "charges.create", "guard_name": "api" }, { "id": 2, "name": "withdrawals.create", "guard_name": "api" } ] }, "message": "Autenticado com sucesso" }
Detalhes do Perfil e Permissões (GET /api/auth/me)
Retorna as informações completas da conta ativa selecionada, dados do usuário e permissões da role atual.
- Retorno (200 OK) - Raw JSON:json
{ "account": { "id": 5, "name": "Minha Empresa LTDA", "email": "financeiro@empresa.com", "document": "12345678000109", "agency": "1234", "account": "567890", "status": 1, "bank_id": 1 }, "user": { "id": 10, "name": "João da Silva", "email": "joao@empresa.com", "phone": "11999999999", "document": "12345678909", "status": 1 }, "permissions": [ { "id": 1, "name": "charges.create", "slug": "charges-create" } ], "role": { "id": 2, "name": "Financeiro", "guard_name": "api" }, "accounts": [ { "account": { "id": 5, "name": "Minha Empresa LTDA", "email": "financeiro@empresa.com", "document": "12345678000109", "agency": "1234", "account": "567890", "status": 1, "bank_id": 1 }, "role": { "id": 2, "name": "Financeiro", "guard_name": "api" } } ] }
Renovar Sessão (PUT /api/auth/refresh)
- Retorno (200 OK) - Raw JSON:json
{ "token": "36|sanctumPlainToken...", "session_duration": 24, "expires_at": "2026-05-19 12:00:00", "app_id": 10 }
Atualizar Perfil / Senha (PUT /api/auth/edit)
- Payload JSON:json
{ "name": "João Silva Alterado", "current_password": "minhasenhasecreta", "new_password": "novasenhasecreta" } - Retorno (200 OK) - ApiResponseClass Wrapper:json
{ "code": 200, "success": true, "user": { "id": 10, "name": "João Silva Alterado", "email": "joao@empresa.com", "phone": "11999999999", "document": "12345678909", "status": 1 }, "message": "Usuário atualizado com sucesso" }
Encerrar Sessão (POST /api/auth/logout)
- Retorno (200 OK) - Raw JSON:json
{ "message": "Successfully logged out" }
📧 3. Verificação de Segurança (E-mail & PIN)
Enviar Código de Verificação OTP (POST /api/auth/send-verification-code)
Dispara o e-mail contendo o código OTP de 6 dígitos.
- Payload JSON:json
{ "email": "joao@empresa.com" } - Retorno (200 OK) - ApiResponseClass Wrapper:json
{ "code": 200, "success": true, "data": null, "message": "Código de verificação enviado com sucesso" }
Validar Código de E-mail (POST /api/auth/verify-email)
- Payload JSON:json
{ "email": "joao@empresa.com", "verification_code": "123456" } - Retorno (200 OK) - Raw JSON:json
{ "message": "E-mail verificado com sucesso!" }
Cadastrar PIN Financeiro de Saque (POST /api/account/pin)
- Payload JSON:json
{ "pin": "1234" } - Retorno (200 OK):json
{ "message": "PIN cadastrado com sucesso!" }