Skip to Content
Referencia da API

Referencia da API

O GoConverso disponibiliza uma API REST construida sobre o Supabase , oferecendo acesso programatico aos seus agendamentos, servicos, clientes, produtos e muito mais. Toda acao que voce pode realizar no painel tambem esta disponivel atraves da API.

A API do GoConverso segue as convencoes RESTful e retorna respostas em JSON. Todas as requisicoes devem ser autenticadas usando um token JWT ou sua chave de API do projeto.

URL Base

Todas as requisicoes da API sao feitas para o endpoint do seu projeto Supabase:

https://<project-id>.supabase.co/rest/v1/

Para edge functions (webhooks, logica personalizada):

https://<project-id>.supabase.co/functions/v1/

Autenticacao

Toda requisicao deve incluir cabecalhos de autenticacao. O GoConverso suporta dois metodos:

MetodoCaso de usoCabecalho
Chave de APIIntegracoes servidor-a-servidorapikey: <sua-anon-key>
Token JWTRequisicoes com escopo de usuarioAuthorization: Bearer <jwt-token>

Ambos os cabecalhos devem ser incluidos na maioria das requisicoes. A chave de API identifica seu projeto, e o token JWT identifica o usuario autenticado.

curl -X GET "https://<project-id>.supabase.co/rest/v1/services" \ -H "apikey: <your-anon-key>" \ -H "Authorization: Bearer <jwt-token>" \ -H "Content-Type: application/json"

Saiba mais no guia de Autenticacao.

Limites de taxa

O GoConverso aplica limites de taxa para garantir a estabilidade da plataforma:

PlanoRequisicoes por minutoConexoes simultaneas
Free605
Plus30020
Pro1.00050
Max5.000100
Ultra10.000200

Quando voce excede o limite de taxa, a API retorna uma resposta 429 Too Many Requests com um cabecalho Retry-After indicando quantos segundos aguardar.

Formato de resposta

Todas as respostas bem-sucedidas retornam JSON com codigos de status HTTP padrao:

{ "id": "550e8400-e29b-41d4-a716-446655440000", "created_at": "2026-01-15T10:30:00.000Z", "name": "Haircut", "price": 35.00, "duration": 30 }

Respostas de erro seguem uma estrutura consistente:

{ "code": "PGRST301", "message": "Row not found", "details": null, "hint": null }

Row Level Security

O GoConverso usa o Row Level Security (RLS) do Supabase em todas as tabelas. Isso significa:

  • Usuarios autenticados so podem acessar seus proprios dados
  • Endpoints publicos (como paginas de agendamento) usam a chave anon com politicas restritas
  • Chave service role ignora completamente o RLS — nunca exponha esta chave em codigo do lado do cliente

Nunca exponha sua chave service_role em codigo frontend ou repositorios publicos. Esta chave ignora todas as politicas de Row Level Security e concede acesso total ao seu banco de dados.

Secoes da API

Exemplo rapido

Aqui esta um exemplo completo que busca todos os servicos do usuario autenticado:

import { createClient } from '@supabase/supabase-js' const supabase = createClient( 'https://<project-id>.supabase.co', '<your-anon-key>' ) // Sign in const { data: auth } = await supabase.auth.signInWithPassword({ email: 'you@example.com', password: 'your-password' }) // Fetch services const { data: services, error } = await supabase .from('services') .select('*') .eq('professional_id', auth.user.id) .order('created_at', { ascending: false }) if (error) { console.error('Error fetching services:', error.message) } else { console.log('Services:', services) }

Precisa de ajuda para comecar? Veja o guia de Autenticacao para obter suas credenciais de API.