Descrizione
Connettore enterprise per Dropbox — la piattaforma di file sharing/sync cloud pioniere del settore (fondata 2007 nel garage del MIT, IPO 2018, 700M+ utenti registered + 18M+ paying customer business — di cui particolarmente forte penetration in smb e creative agency che la usano per asset sharing) via API v2 ufficiale REST. Cinque operazioni atomiche coprono il file/folder lifecycle: listFolder (enumera contenuto di una cartella con opzionale ricorsivo deep + filter cursor-based per cartelle con migliaia di item), createFolder (crea nuova cartella nested fino a profondità arbitraria), getMetadata (info di file/cartella specifico: name, path, size, modified_time, content_hash per integrity check), createSharedLink (genera URL di condivisione pubblico con visibilità configurable + scadenza opzionale per delivery temporanea), deletePath (cancella file o cartella con soft-delete in Trash 30gg per recovery accidentale). Auth via OAuth2 Access Token Bearer (long-lived token generato dall'admin Dropbox via OAuth2 authorization code flow, oppure short-lived con refresh-token per security più stringente) stored nel vault integration FlowForge accessibile via integrationLabel — pattern portal-centric multi-tenant enterprise FlowForge per condividere refresh-token tra workflow del stesso tenant. Multi-account supportato (un tenant FlowForge che gestisce Dropbox di N customer differenti). Path normalization automatic: l'API Dropbox usa una sintassi specifica per i path (es. "" per root, "/Documents/Reports" per sub-folder con leading slash) — il nodo astrae questa convention e accetta pattern friendly come "Documents/Reports" auto-fixing il leading slash + handling del case-sensitivity. Pipeline standard FlowForge: SSRF-safe gateway, circuit-breaker dedicato per Dropbox per evitare hammer durante upstream outage, retry exponential backoff su 5xx e 429 transitori. Rate limit Dropbox: quota-based per token + endpoint (varies, alcuni endpoint hanno 25 req/min, altri 1000 req/min — il nodo gestisce 429 automaticamente). Output: { entries? (per listFolder, array di { name, path, size, type=file|folder, modified, content_hash }), count?, id? (per createFolder), sharedUrl? + accessLevel? + visibility? (per createSharedLink), metadata? (per getMetadata), deleted? (boolean per deletePath), cursor? per pagination continue }. Use case: archivia automatic fatture/documenti generati da workflow di billing (al closing di ogni fattura → save PDF nella cartella "Fatture/2026/05/" con naming convention sortable); backup file di workflow su cloud per long-term retention senza consumare disk space del runtime tenant; genera link condivisione per consegna asset cliente con scadenza 7gg (createSharedLink + invio per email via action_send_email); organizza upload per cartelle datate auto (createFolder per ogni giorno solare + save degli ingest del giorno lì); sincronizza output report mensile management su Dropbox team shared workspace per cross-team visibility; pulizia automatica di file temporanei più vecchi di 30gg (cron mensile + listFolder + filter modified < now - 30d + deletePath).
