3.0 KiB
3.0 KiB
Especificação da API
REST API
openapi: 3.0.0
info:
title: AutomatizaSE Portal API
version: 1.0.0
description: API interna do portal (NextJS API Routes)
servers:
- url: https://portal.automatizase.com/api
description: Production
- url: http://localhost:3000/api
description: Development
paths:
/api/whatsapp/instances:
get:
summary: Lista todas as instâncias WhatsApp
security:
- SupabaseAuth: []
responses:
'200':
description: Lista de instâncias com status
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/WhatsAppInstance'
/api/whatsapp/instances/{instanceName}/qrcode:
post:
summary: Gera QR code de conexão
parameters:
- name: instanceName
in: path
required: true
schema:
type: string
security:
- SupabaseAuth: []
responses:
'200':
description: QR code gerado
content:
application/json:
schema:
type: object
properties:
qrCode:
type: string
/api/whatsapp/instances/{instanceName}/disconnect:
post:
summary: Desconecta instância WhatsApp
parameters:
- name: instanceName
in: path
required: true
schema:
type: string
security:
- SupabaseAuth: []
responses:
'200':
description: Instância desconectada
/api/google-calendar/status:
get:
summary: Status de conexão do Google Calendar
security:
- SupabaseAuth: []
responses:
'200':
description: Status da integração
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleCalendarStatus'
/api/google-calendar/callback:
get:
summary: Callback OAuth do n8n
parameters:
- name: success
in: query
schema:
type: boolean
- name: email
in: query
schema:
type: string
security:
- SupabaseAuth: []
responses:
'302':
description: Redirect para dashboard
components:
schemas:
WhatsAppInstance:
type: object
properties:
instanceName:
type: string
status:
type: string
enum: [connected, disconnected]
qrCode:
type: string
nullable: true
GoogleCalendarStatus:
type: object
properties:
is_connected:
type: boolean
connected_email:
type: string
nullable: true
connected_at:
type: string
format: date-time
nullable: true
securitySchemes:
SupabaseAuth:
type: http
scheme: bearer
bearerFormat: JWT