Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.garu.com.br/llms.txt

Use this file to discover all available pages before exploring further.

Visão Geral

A partir da v0.6.0, todo cliente Garu tem um portal em garu.com.br/minha-area. Com um único link mágico enviado por e-mail, o cliente vê e paga todas as cobranças em aberto — em qualquer vendedor que use a Garu, sem cadastro nem senha. Para o vendedor, o portal é completamente automático: assim que o cliente recebe uma cobrança agendada, ele já pode usar o /minha-area. Nada para configurar.
Onde fica: https://garu.com.br/minha-area. O fluxo é todo do lado do cliente — o vendedor só agenda a cobrança normalmente.

Como o cliente usa

1

Acessa o portal

O cliente abre garu.com.br/minha-area e digita o CPF ou CNPJ.
2

Recebe o link no e-mail

A Garu envia um link mágico para o e-mail registrado. A validade é de 24 horas.
3

Vê as cobranças

Ao clicar no link, o cliente vê todas as cobranças agendadas em aberto, agrupadas por loja.
4

Paga direto

Cada cobrança tem um botão Pagar agora que abre a página de pagamento (PIX ou Boleto).
O link é reutilizável dentro das 24h — o cliente pode revisitar a página sem solicitar um novo e-mail.

E-mail de cobrança por loja

Dentro do portal, o cliente pode definir um e-mail específico para receber cobranças daquela loja. Por exemplo: cobranças da Loja Garu vão para cobrancas@empresa.com.br, mas as da Loja Beta continuam no e-mail pessoal. Esse e-mail é fixo — mesmo que o cliente troque o e-mail principal em uma cobrança futura, o desta loja não muda. Para voltar ao padrão, basta clicar em Voltar ao padrão. A regra de resolução do e-mail enviado pelo vendedor segue exatamente:
billingEmailOverride (definido pelo cliente neste portal)
  ?? CustomerSellerProfile.lastUsedEmail (último visto neste vendedor)
  ?? Customer.email (e-mail principal global)

Segurança

  • O link mágico é um JWT com TTL de 24h, assinado com um segredo dedicado (MAGIC_LINK_SECRET) — separado do segredo do dashboard. Se um leakar, o outro permanece intacto.
  • A resposta do pedido de link mascara o e-mail (u***@gmail.com) e o tempo de resposta é constante com ou sem cliente correspondente. Não há como enumerar CPFs cadastrados na Garu via timing.
  • Throttle de 3 pedidos por hora por IP no endpoint de pedido de link.
  • Ao editar o e-mail de cobrança, o cliente só consegue alterar para vendedores com os quais já tem um relacionamento (uma cobrança ou pagamento existente). Tentativas de tocar em outros vendedores retornam 403.
  • O link é portátil: qualquer pessoa com o link consegue ver as cobranças do CPF associado. Oriente seus clientes a não compartilhar o link.

Endpoints

Três endpoints públicos novos sob /api/public/minha-area/*:
Esses endpoints são públicos (sem Authorization: Bearer sk_…). A autenticação é via o JWT do link mágico, no header Authorization: Bearer <jwt-do-link> para os endpoints autenticados.

Convivência com o portal de assinaturas

A Garu tem dois portais:
PortalOndePara quêAuth
Cobranças agendadas/minha-areaCobranças PIX/Boleto avulsasLink mágico CPF
Assinaturas/portal?token=…Self-service de assinatura recorrenteToken gerado pelo vendedor
Eles coexistem hoje. Em uma versão futura, o /minha-area deve absorver também as assinaturas — em uma única página o cliente vê tudo.

Próximos passos

  • Histórico de pagamentos do cliente dentro do portal.
  • Cancelamento de cobrança pelo próprio cliente, sob aprovação do vendedor.
  • Unificação com o portal de assinaturas em /minha-area.