Service API
| Ambiente | Base URL |
|---|
| Local | http://localhost:3002 |
| Produção | https://service.vectorgen.ai |
- Swagger (dev):
/docs
- Health:
/health
Módulos
| Módulo | Prefixo / path |
|---|
| Auth | /auth/* |
| Companies | /companies/* |
| Invites | /companies/invites/* |
| Members | /companies/members/* |
| Subscriptions | /subscriptions/* |
| Webhooks | /webhooks/stripe |
| Storage | /storage/* |
| User | /user/* |
Detalhes de endpoints: Swagger em dev.
Hasura GraphQL
| Ambiente | URL |
|---|
| Local | http://localhost:8080 |
| Produção | https://api.vectorgen.ai |
- Permissões por role (
user, anonymous, admin secret)
- Migrations:
apps/hasura/migrations/
- Metadata:
apps/hasura/metadata/
- JWT: claims
https://hasura.io/jwt/claims emitidas pelo auth module
Contratos app ↔ service
Autenticação (JWT)
| Aspecto | Contrato |
|---|
| Login / register | POST /auth/login, /auth/register → { token, refresh_token, user } |
| Refresh | POST /auth/refresh-token com refresh token |
| Requests autenticados | Header Authorization: Bearer <access_token> |
| Hasura | Mesmo JWT; Apollo client envia Bearer |
| Logout | POST /auth/logout + clear local storage no client |
Fluxo completo: módulo apps/service/src/modules/auth.
Formato de erro
Respostas de erro seguem padrão NestJS + interceptors (ErrorLoggingInterceptor). Códigos auth: AUTH_001–AUTH_006.
Versionamento
Sem version prefix na URL v1 — breaking changes exigem coordenação app + service.
Integrações externas — plataforma
| Integração | Uso | Módulo | Secrets |
|---|
| Stripe | Billing | subscriptions | STRIPE_* |
| DigitalOcean Spaces | File storage | storage | DO_SPACES_* / S3-compatible |
| SMTP / email | Auth emails | auth | mail env vars |
Integrações — produto
Documente aqui integrações específicas do seu produto — mantenha esta lista alinhada ao backlog.
| Integração | Uso típico | Módulo service | Secrets |
|---|
| Google PageSpeed Insights | Métricas de performance | TBD | PAGESPEED_API_KEY, PAGESPEED_API_ENDPOINT |
| Apify | Web scraping | TBD | APIFY_API_TOKEN |
| Google AI (runtime no service) | IA em backend | TBD | GOOGLE_AI_API_KEY |
| TBD | | | |
Webhooks
| Evento | Endpoint | Idempotência |
|---|
Stripe (checkout.session.completed, customer.subscription.*, …) | POST /webhooks/stripe | Tabela webhook events (spec 002) |
Rate limits e quotas
Links relacionados