CreaRack-SL

ZOHO_SCOPES — Scopes OAuth declarados para la integración Zoho

ZOHO_SCOPES — Scopes OAuth declarados para la integración Zoho

Descripción

ZOHO_SCOPES es una constante de tipo string[] definida en functions/_lib/zoho.ts que enumera todos los permisos OAuth 2.0 que CreaRack Workspace solicita a Zoho durante el flujo de autorización. Es la fuente de verdad para qué operaciones puede ejecutar el backend sobre las APIs de Zoho en nombre de cada usuario.

Ubicación

functions/_lib/zoho.ts
export const ZOHO_SCOPES = [ ... ]

Scopes actuales

ScopeProductoPermiso
ZohoCalendar.event.READCalendarListar y leer eventos del calendario
ZohoCalendar.event.CREATECalendarCrear nuevos eventos
ZohoCalendar.event.UPDATECalendarModificar eventos existentes (añadido en 51c4489)
ZohoCalendar.event.DELETECalendarBorrar eventos (añadido en 51c4489)
ZohoCalendar.calendar.READCalendarListar calendarios disponibles del usuario
ZohoMail.messages.READMailLeer mensajes de correo
ZohoMail.accounts.READMailLeer información de cuentas de correo

Historial de cambios

s68 — Pivot a Calendar (fecha original)

  • Scopes iniciales: READ + CREATE para Calendar, READ para Mail.
  • Motivación: pivot de Zoho Tasks a Zoho Calendar para gestionar eventos del ciclo de vida de tasks.

51c4489 — 2026-05-17 — Añadidos UPDATE + DELETE

  • Motivación: los hooks automáticos del ciclo de vida de tasks necesitan:
    • UPDATE: mover la fecha del evento auto_end_planned cuando cambia due_date.
    • DELETE: borrar el evento auto_end_planned al cerrar la task (para ser reemplazado por auto_end_real).
  • Sin estos scopes la llamada a la API de Zoho fallaba silenciosamente (HTTP 403 tragado), dejando eventos huérfanos en Zoho Calendar aunque D1 estuviera correcto.

Comportamiento tras un cambio de scopes

Modificar ZOHO_SCOPES no actualiza automáticamente los tokens existentes en D1. Cada miembro del equipo debe completar de nuevo el flujo OAuth completo para que el nuevo scope quede incluido en su refresh_token. Ver el runbook de re-autorización.

Schemas relacionados en el grafo

Los siguientes TypeScript interfaces se definen en el mismo archivo:

  • ZohoEnv — credenciales de entorno (client_id, secret, redirect_uri)
  • ZohoTokenRow — fila de la tabla D1 zoho_tokens (access_token, refresh_token, expiry…)
  • ExchangeResult — resultado del intercambio código → tokens
  • ZohoCalendar, ZohoEvent — tipos de respuesta de Calendar API
  • ZohoTaskUser, ZohoTask, ZohoGroup — tipos auxiliares

Véase también

  • [[runbook—zoho—reautorizacion-oauth-scopes]]
  • [[workspace—que-es-workspace]]