Settings, Team, Folders & More
Documentação de rotas em /api/settings/**, /api/team/**, /api/folders/**, /api/abandoned-carts/**, /api/ad-spend/**.
Settings
Seção intitulada “Settings”GET /api/settings/account
Seção intitulada “GET /api/settings/account”Descrição: Retorna configurações da conta.
Response:
- 200:
{ data: { id, name, company_name, logo_url, timezone, language, website_url, industry, phone, address } }
PUT /api/settings/account
Seção intitulada “PUT /api/settings/account”Descrição: Atualiza configurações da conta.
Auth: Required (owner ou admin)
Audit: update account
Request:
- Body:
{ name?, company_name?, logo_url?, timezone?, language?, website_url?, industry?, phone?, address? }
PUT /api/settings/profile
Seção intitulada “PUT /api/settings/profile”Descrição: Atualiza o perfil do usuário (nome e sobrenome).
Request:
- Body:
{ first_name: string, last_name: string }
Notas: Atualiza user_metadata via supabase.auth.updateUser().
GET /api/settings/sending
Seção intitulada “GET /api/settings/sending”Descrição: Retorna configurações de envio (Smart Sending e Quiet Hours).
Response:
- 200:
{ data: { smart_sending_enabled, smart_sending_window_hours, quiet_hours_enabled, quiet_hours_start, quiet_hours_end } }
PUT /api/settings/sending
Seção intitulada “PUT /api/settings/sending”Descrição: Atualiza configurações de envio. Auth: Required (owner ou admin)
GET /api/team
Seção intitulada “GET /api/team”Descrição: Lista membros da equipe com email e nome enriquecidos via Supabase Auth Admin.
Response:
- 200:
{ data: [{ id, user_id, role, created_at, email, name }] }
POST /api/team
Seção intitulada “POST /api/team”Descrição: Cria um convite para novo membro. Auth: Required (owner ou admin) Rate Limit: 10 convites / 60s
Request:
- Body:
{ email: string, role: string }
Response:
- 201:
{ data: { ...invite, invite_link } }
Notas: Token de 32 bytes random, expira em 7 dias. Verifica plano ativo e limite de membros.
GET /api/team/invites
Seção intitulada “GET /api/team/invites”Descrição: Lista convites pendentes. Auth: Required (owner ou admin)
DELETE /api/team/invites/[id]
Seção intitulada “DELETE /api/team/invites/[id]”Descrição: Cancela um convite pendente. Auth: Required (owner ou admin)
PUT /api/team/members/[id]
Seção intitulada “PUT /api/team/members/[id]”Descrição: Atualiza o papel de um membro. Auth: Required (owner-only)
DELETE /api/team/members/[id]
Seção intitulada “DELETE /api/team/members/[id]”Descrição: Remove um membro da equipe. Auth: Required (owner-only)
Folders
Seção intitulada “Folders”GET /api/folders
Seção intitulada “GET /api/folders”Descrição: Lista pastas com contagens ou retorna arvore hierárquica.
Request:
- Query params:
entity_type,parent_id,tree
POST /api/folders
Seção intitulada “POST /api/folders”Descrição: Cria uma nova pasta.
Request:
- Body:
{ name, entity_type?, color?, parent_id? }
PUT /api/folders/[id]
Seção intitulada “PUT /api/folders/[id]”Descrição: Atualiza uma pasta. Detecta loops circulares.
DELETE /api/folders/[id]
Seção intitulada “DELETE /api/folders/[id]”Descrição: Remove uma pasta (hard delete).
POST /api/folders/[id]/move
Seção intitulada “POST /api/folders/[id]/move”Descrição: Move uma pasta para dentro de outra ou para raiz.
Abandoned Carts
Seção intitulada “Abandoned Carts”GET /api/abandoned-carts
Seção intitulada “GET /api/abandoned-carts”Descrição: Lista carrinhos abandonados com paginação e filtros.
Request:
- Query params:
page,limit,platform,status,from,to
GET /api/abandoned-carts/stats
Seção intitulada “GET /api/abandoned-carts/stats”Descrição: Retorna estatísticas de recuperação por período.
Request:
- Query params:
period(“7d” | “30d” | “90d”)
Ad Spend
Seção intitulada “Ad Spend”GET /api/ad-spend
Seção intitulada “GET /api/ad-spend”Descrição: Lista registros de gasto com anuncios.
POST /api/ad-spend
Seção intitulada “POST /api/ad-spend”Descrição: Cria um novo registro de gasto.
PUT /api/ad-spend/[id]
Seção intitulada “PUT /api/ad-spend/[id]”Descrição: Atualiza um registro de gasto.
DELETE /api/ad-spend/[id]
Seção intitulada “DELETE /api/ad-spend/[id]”Descrição: Remove um registro de gasto.