Skip to content

Conta e acesso — /access (descontinuado)

WARNING

Prefira a API v1: /v1/auth/* (autenticação), /v1/users (usuários), /v1/organizations.

Envelope padrão salvo onde indicado. Endpoints 🔒 exigem Authorization: Bearer <token>.


Cadastro (onboarding)

POST /access/register 🌐

Abre uma solicitação de conta e envia código de validação de e-mail (4 letras).

Entrada (corpo JSON):

CampoTipoRegras
namestringobrigatório, máx. 255
emailstringobrigatório, e-mail, único no sistema
addressstringobrigatório, máx. 255
documentstringobrigatório, 11 (CPF) ou 14 (CNPJ) dígitos, válido, único no sistema

Saída: 200, envelope com data = registro criado, message: "Abertura de Conta Realizada". 422 em validação; 200 com message de erro se o documento não tiver 11/14 dígitos.

POST /access/register-full 🌐

Cria a conta e o usuário de uma vez e retorna um token de acesso.

Entrada (corpo JSON):

CampoTipoRegras
namestringobrigatório
emailstringobrigatório, e-mail, único
documentstringobrigatório, 11 ou 14 dígitos, único
passwordstringobrigatório, mín. 5
phonestringopcional
account_typemixedopcional (derivado do documento)
bank_idintopcional (default: banco ativo)

Saída: 201, data: { token, time, account, user, roles }, message: "Cadastrado com sucesso". 422 em documento inválido / validação.

GET /access/register/status 🌐

Entrada (query): document (obrigatório, 11–14). Saída: 200, data: { document, id, email, name, account_type, account_status }. 404 se não houver registro.

POST /access/register/email 🌐

Reenvia o código de validação de e-mail (bloqueado por 2 min entre envios). Entrada (corpo): document (obrigatório, 11–14), register_id (obrigatório). Saída: 200, data = registro, message: "Email Enviado". 400 se enviado há menos de 2 min.

POST /access/register/images 🌐

Envia os 2 documentos com foto do cadastro (multipart/form-data). Entrada: image01, image02 (arquivo, jpeg/png/jpg, ≤ 2 MB), document (11–14), register_id. Saída: 200, data = registro, message: "Imagens Enviadas".

POST /access/account/get-token 🌐

Emite um JWT de curta duração (10 min) a partir do e-mail e da chave de API da conta. Entrada (corpo): email (obrigatório, e-mail), token (obrigatório — a chave de API da conta). Saída: 200, data: { token, token_type: "Bearer", expires_at (ISO-8601), permissions[] }. 401 se e-mail/token/vínculo forem inválidos.


Autenticação — /access/auth

POST /access/auth/login 🌐

Entrada (corpo JSON):

CampoTipoRegras
emailstringobrigatório
passwordstringobrigatório
device_namestringopcional (default dashboard; dashboard_sass muda o formato da resposta)

Saída (device_name padrão): 200 (sem envelope):

json
{ "token": "<jwt>", "session_duration": 24, "expires_at": "2026-09-09 12:00:00", "session_id": 10 }

Saída (device_name = dashboard_sass): { token, session_duration, expires_at, user, roles }. 401 { "error": "..." } em credenciais inválidas ou usuário sem vínculo de conta.

GET /access/auth/me 🔒

Entrada: header Authorization. Saída: 200 (sem envelope): { account, user, permissions[], role, accounts[] }.

POST /access/auth/logout 🔒

Entrada: header Authorization. Saída: 200 { "message": "Successfully logged out" }.

PUT /access/auth/refresh 🔒

Entrada: header Authorization. Saída: 200 { token, session_duration, expires_at, session_id }. 401 se não puder renovar.

PUT /access/auth/edit 🔒

Edita o próprio usuário; exige a senha atual. Entrada (corpo JSON): current_password (obrigatório), new_password (opcional), além name, email, document, phone. Saída: 200, chave user, message: "Usuário atualizado com sucesso". 401 se current_password estiver errada.

POST /access/auth/forgot 🌐

Entrada (corpo JSON): document (obrigatório), email (obrigatório, e-mail, existente), url (obrigatório, URL — base do link enviado no e-mail). Saída: 201, mensagem de confirmação. Envia um código por e-mail.

POST /access/auth/reset 🌐

Entrada (corpo JSON): token (obrigatório — o código recebido por e-mail), password (obrigatório, mín. 6, confirme a senha em password_confirmation). Saída: 200 { "message": "Senha foi redefinida com sucesso" }. 422 se o código expirou (> 1 h).

POST /access/auth/send-verification-code 🔒

Entrada (corpo JSON): email (obrigatório, existente e igual ao do usuário autenticado). Saída: 200, message: "Código de verificação enviado com sucesso" (código de 6 dígitos por e-mail).

POST /access/auth/verify-email 🔒

Entrada (corpo JSON): email (obrigatório, e-mail), verification_code (obrigatório, string). Saída: 200 { "message": "E-mail verificado com sucesso!" }. 400 se o código for inválido.


Conta — /access

GET /access/accounts 🔒

Entrada: header Authorization. Saída: 200, chave accounts — array de contas do usuário. Cada conta: { id, code_account, client_id, name, email, document, agency, account, token, status: {code,title}, webhook_url, path_logo, bank, bank_id, address:{...}, smtp, notification_rules, boleto_configs, taxes:{pix_in,pix_out,boleto_in,boleto,bolepix,fee}, limits:{...}, has_pin, created_at, updated_at }.

GET /access/account 🔒

Entrada: header Authorization (usa a conta ativa). Saída: 200, chave account — objeto de conta (mesmo formato acima), message: "Conta obtida com sucesso."

PUT /access/account · PUT /access/accounts 🔒

Atualiza a conta ativa. Autorização extra: exige pin correto no corpo.

Entrada (corpo JSON — todos opcionais salvo pin):

CampoTipoRegras
pinstringobrigatório, numérico, 6 dígitos (PIN atual)
new_pinstringnumérico, 6 dígitos, não sequencial/repetido
namestringmáx. 100
emailstringe-mail, máx. 100
documentstringmáx. 20
webhook_urlstringURL
addressobjectstreet, number, city, state (2), zip_code
smtpobjecthost, port, user, password, encryption (tls/ssl), from_name, from_address
notification_rulesobjectchaves on_creation, on_payment, before_due, after_due, on_due, on_update, on_delete; cada uma com enabled (bool), message (≤500), channels[] (email/whatsapp/sms), e days nas de vencimento
boleto_configsobjectrate, discount (numéricos), type_rate, type_discount (PERCENTAGE/ABSOLUTE)
logofile|stringarquivo ou string base64 data:image/...

Saída: 200, chave account, message: "Conta atualizada com sucesso."403 se pin estiver ausente/incorreto; 422 em validação.

POST /access/account/pin 🔒

Define o PIN transacional pela primeira vez. Entrada (corpo JSON): pin (obrigatório, 6 caracteres), confirm_pin (obrigatório, igual a pin). Saída: 200, chave account, message: "Pin definido com sucesso." 400 se já havia PIN definido.


Usuários da conta — /access/manager/users

Recurso REST. usuário: { id, user_id, account_id, user:{id,name,email,phone,document,status}, role:{id,name}, created_at, updated_at }.

GET /access/manager/users 🔒

Entrada (query): page (default 1), per_page (default 100), search (nome/e-mail/documento), status, role. Saída: 200 { data: [usuários], meta: {total,page,limit,total_pages,has_next_page,has_prev_page}, message }. Exclui o próprio usuário e os usuários com role API.

POST /access/manager/users 🔒

Entrada (corpo JSON):

CampoTipoRegras
namestringobrigatório, máx. 30
emailstringobrigatório, e-mail, único
documentstringobrigatório, único
roleintobrigatório, id existente
passwordstringmín. 5; obrigatório se a role ≠ API
phonestringopcional

Saída: 201, usuário, message: "Usuário criado com sucesso!"

GET /access/manager/users/{id} 🔒

Entrada: path id (é o id do vínculo user_account, da conta ativa). Saída: 200, usuário. 404 se não pertencer à conta.

PUT/PATCH /access/manager/users/{id} 🔒

Entrada (corpo JSON, opcionais): name (máx. 30), email (único, ignora id), document (único), phone, password (mín. 6), role (id existente), status (0/1). Saída: 200, usuário, message: "Usuário atualizado com sucesso!"

DELETE /access/manager/users/{id} 🔒

Entrada: path id. Saída: 200, usuário, message: "Usuário removido com sucesso!"422 se tentar remover a si mesmo.


Tokens de API — /access/manager/api-tokens

Recurso REST. Mesma estrutura de usuário (usuários com role API).

GET /access/manager/api-tokens 🔒

Entrada (query): page, per_page (default 100), search. Saída: 200 { data: [usuários], message }.

POST /access/manager/api-tokens 🔒

Entrada (corpo JSON): name (obrigatório, máx. 30), email (obrigatório, e-mail, único), document (obrigatório, único), phone (opcional). Saída: 201, usuário, message: "Usuário API criado com sucesso!" (cria o usuário e atribui a role API).

GET /access/manager/api-tokens/{id} 🔒

Entrada: path id. Saída: 200, usuário, message: "Usuário API recuperado com sucesso!"

PUT/PATCH /access/manager/api-tokens/{id} 🔒

Entrada (corpo JSON): name (obrigatório, máx. 30), email (obrigatório, único, ignora o próprio), document (obrigatório, único), phone (opcional). Saída: 200, usuário, message: "Usuário API atualizado com sucesso!"

DELETE /access/manager/api-tokens/{id} 🔒

Entrada: path id. Saída: 200, usuário, message: "Usuário API removido com sucesso!" (remove o vínculo e o usuário se não tiver outras contas).

GET /access/manager/guard/roles 🔒

Entrada: header Authorization. Saída: 200 — lista paginada de papéis (guard_name = api, com permissions), excluindo papéis administrativos e API.


Notificações — /access/auth/notifications

Cada notificação: { id, type, notifiable_type, notifiable_id, data: {...}, read_at, created_at, updated_at }.

GET /access/auth/notifications 🔒

Entrada (query): per_page (default 15), unread_only (bool, default false). Saída: 200 { data: [notificações], meta: {...}, unread_count }.

GET /access/auth/notifications/unread 🔒

Entrada (query): per_page (default 15). Saída: 200 { data: [notificações], meta: {...} }.

GET /access/auth/notifications/unread-count 🔒

Entrada: header Authorization. Saída: 200 { "unread_count": 3 }.

PUT /access/auth/notifications/{id}/read 🔒

Entrada: path id. Saída: 200 { "message": "Notificação marcada como lida", "notification": {...} }. 404 se não existir.

PUT /access/auth/notifications/mark-all-read 🔒

Entrada: header Authorization. Saída: 200 { "message": "Todas as notificações foram marcadas como lidas", "unread_count": 0 }.

DELETE /access/auth/notifications/{id} 🔒

Entrada: path id. Saída: 200 { "message": "Notificação deletada com sucesso" }.

DELETE /access/auth/notifications/read/all 🔒

Entrada: header Authorization. Saída: 200 { "message": "Notificações lidas deletadas com sucesso", "deleted_count": 12 }.


Entregas de webhook — /access/webhook-notifications

GET /access/webhook-notifications 🔒

Entrada (query): filtros de paginação/período (page, per_page, start_date, end_date), quando aplicável. Saída: 200 — lista paginada das tentativas de entrega de webhook da conta (evento, status, tentativas, timestamps).

GET /access/webhook-notifications/{id} 🔒

Entrada: path id. Saída: 200 — detalhe de uma entrega: payload enviado, resposta recebida, status. 404 se não existir.