API Reference - Edge Functions

Esta documentación describe todas las Edge Functions disponibles en Cierro.

Información General

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

  • Autenticación: Bearer token (JWT de Clerk)

  • Content-Type: application/json

Autenticación

Headers Requeridos

Authorization: Bearer <clerk-jwt-token>
Content-Type: application/json

Funciones de Autenticación

liveblocks-auth

Autenticación para colaboración en tiempo real con Liveblocks.

Endpoint: POST /liveblocks-auth

Request Body:

Response:


Funciones de Equipo

invite-team-member

Envía invitación por email a un nuevo miembro del equipo.

Endpoint: POST /invite-team-member

Request Body:

Response:

Roles válidos: admin, manager, member, viewer


accept-invitation

Acepta una invitación de equipo y crea el perfil del usuario.

Endpoint: POST /accept-invitation

Request Body:

Response:


manage-team

Gestiona miembros del equipo (actualizar rol, eliminar).

Endpoint: POST /manage-team

Actions:

Actualizar Rol

Eliminar Miembro

Response:


Funciones de IA

chat-gemini

Genera contenido usando Google Gemini para el editor de propuestas.

Endpoint: POST /chat-gemini

Request Body:

Response (streaming):


Funciones de Documentos

import-budget

Importa un presupuesto desde un archivo (PDF, DOCX).

Endpoint: POST /import-budget

Request Body:

Response:


parse-document

Parsea documentos para extracción de contenido.

Endpoint: POST /parse-document

Request Body:

Response:


Funciones de Integraciones

hubspot-api

Proxy para la API de HubSpot.

Endpoint: POST /hubspot-api

Actions:

Buscar Contactos

Obtener Contacto

Buscar Deals

Crear Deal

Response (ejemplo search_contacts):


pipedream-auth

Autenticación OAuth para Pipedream.

Endpoint: POST /pipedream-auth

Request Body:

Response:


pipedream-action

Ejecuta acciones a través de Pipedream.

Endpoint: POST /pipedream-action

Request Body:


crm-via-pipedream

Ejecuta acciones CRM a través de Pipedream.

Endpoint: POST /crm-via-pipedream

Request Body:


Funciones de Pagos

reveniu-webhook

Webhook para procesar eventos de Reveniu.

Endpoint: POST /reveniu-webhook

Headers:

Event Types:

  • subscription.created

  • subscription.activated

  • subscription.cancelled

  • payment.success

  • payment.failed

Response:


cancel-subscription

Cancela la suscripción activa de una empresa.

Endpoint: POST /cancel-subscription

Request Body:

Response:


reactivate-subscription

Reactiva una suscripción cancelada.

Endpoint: POST /reactivate-subscription

Request Body:

Response:


Funciones de Email

send-notification-email

Envía emails transaccionales.

Endpoint: POST /send-notification-email

Request Body:

Email Types:

Type
Descripción

welcome_trial

Bienvenida al trial

trial_expiring

Trial por vencer

trial_expired

Trial expirado

budget_expiring

Presupuesto por vencer

budget_approved

Presupuesto aprobado

team_invitation

Invitación al equipo

team_welcome

Bienvenida al equipo

subscription_activated

Suscripción activada

subscription_cancelled

Suscripción cancelada

subscription_reactivated

Suscripción reactivada

payment_failed

Pago fallido


send-contact-form

Envía formulario de contacto.

Endpoint: POST /send-contact-form

Request Body:

Response:


Funciones de Utilidad

exchange-rates

Obtiene tasas de cambio actualizadas.

Endpoint: GET /exchange-rates

Query Parameters:

  • base: Moneda base (default: USD)

  • symbols: Monedas a obtener (comma-separated)

Example: /exchange-rates?base=USD&symbols=CLP,EUR,MXN

Response:


Funciones Programadas (Cron)

check-trial-expiration

Verifica trials y presupuestos por vencer. Ejecuta automáticamente cada hora.

Endpoint: GET /check-trial-expiration

Funcionalidad:

  1. Busca trials que expiran en 7, 3, o 1 día

  2. Busca presupuestos que expiran en 7, 3, o 1 día

  3. Envía emails de recordatorio

  4. Registra notificaciones para evitar duplicados

Response:


Funciones de Administración

admin-panel

Panel de administración para super admins.

Endpoint: POST /admin-panel

Requiere: is_super_admin = true

Actions:

Listar Empresas

Estadísticas

Actualizar Plan


Códigos de Error

Código
Significado

400

Bad Request - Parámetros inválidos

401

Unauthorized - Token inválido o faltante

403

Forbidden - Sin permisos suficientes

404

Not Found - Recurso no encontrado

429

Too Many Requests - Rate limit excedido

500

Internal Server Error - Error del servidor

Rate Limits

  • General: 100 requests/minuto por usuario

  • IA (chat-gemini): 20 requests/minuto

  • Emails: 50/hora por empresa

Ejemplos de Uso

JavaScript/TypeScript

cURL

Última actualización