Utilizzo dei registri di controllo

Panoramica

Frame.io supporta e gestisce registri di controllo per la stragrande maggioranza delle attività svolte nelle sue applicazioni. Ciò include sia le operazioni CRUD di base sulle risorse principali sia alcune astrazioni speciali (ad es. AssetVersioned).

I registri di controllo vengono troncati dopo 30 giorni

I registri di controllo di Frame.io sono disponibili tramite API per un periodo di 30 giorni, dopodiché vengono spostati nell’archiviazione a freddo. Pertanto, se desideri mantenere una cronologia a lungo termine degli eventi di Frame.io, assicurati di archiviare dati di registro cronologici in modo indipendente.

Ambito e autorizzazioni

Solo gli amministratori dell’account possono accedere ai registri di controllo per un account e tutte le chiamate all’endpoint dei registri di controllo devono essere limitate a un account_id come segue:

GET https://api.frame.io/v2/accounts/:id/audit_logs

Risposte

Tutte le risposte del registro di controllo hanno un formato simile:

1{
2 "_type": "audit",
3 "account_id": "<account-id>",
4 "action": "<ActionTaken>",
5 "actor": {
6 "_type": "user",
7 "id": "<user-id>",
8 },
9 "actor_id": "<user-id>",
10 "id": "<audit-id>",
11 "inserted_at": "<ISO-8601-datetime>",
12 "item_id": "<resource-id>",
13 "item_type": "<ResourceType>",
14 "resource": {...},
15 "team_id": "<team-id>",
16 "updated_at": "<ISO-8601-datetime>"
17}
Non dimenticare la paginazione!

I dati delle risposte del registro di controllo possono essere piuttosto prolissi, quindi assicurati di avere familiarità con la paginazione!

Filtri

I registri di controllo supportano vari filtri, inclusi gli intervalli di date. A differenza degli endpoint di ricerca di Frame.io, i filtri possono essere inviati solo come parametri della stringa di richiesta GET.

Tutti i filtri seguono la stessa formattazione:

GET + stringa di richiesta

1GET
2https://api.frame.io/accounts/:id/audit_logs?filter[filter_type1]=value1&filter[filter_type2]=value2
Un solo valore per tipo di filtro

Attualmente, i registri di controllo supportano un solo valore per tipo di filtro. Se fornisci due filtri dello stesso tipo (ad es. filter[action]=ActionOne&amp;filter[action]=ActionTwo), il secondo filtro avrà la precedenza.

Tipi di filtro principali

I tipi di filtro principali per selezionare e navigare i registri di controllo sono:

Tipo di filtroDescrizioneValori di esempio
item_typeFiltri per tutte le risorse di un singolo tipo.Presentation, Comment, ReviewLink, Asset
item_idFiltri per una singola risorsa specifica, ad esempio una risorsa o una presentazione.<asset-id>, <presentation-id>
actionFiltri per una singola azione, di solito associata a un item_typeProjectCreated, AssetVersioned, CommentDeleted
actor_idFiltri per l’ID di un utente specifico (attore).<user-id>
id_teamFiltri per le attività associate a un singolo team. Questo filtro è utile solo sui team che hanno più team.<team-id>
inserted_atFiltri per eventi di audit che si verificano prima o dopo una data e ora specifiche. Deve essere in formato ISO-8601, UTC.2022-08-25T00:00:00Z

Tipi di elementi e azioni

RisorsaAzioni
AccountAccountCreated, AccountUpdate, AccountLocked
RisorsaAssetCopied, AssetCreated, AssetDeleted, AssetUpdated, AssetVersioned, AssetUnversioned, AssetLabelUpdated, AssetMoved, AssetPreserved, AssetPrivatized, AssetPublicized, AssetRestored
CollaboratoreCollaboratorCreated, CollaboratorDeleted
CommentoCommentCreated, CommentCompleted, CommentDeleted, CommentLiked, CommentUncompleted, CommentUnliked, CommentUpdated, ReplyCreated
PresentazionePresentationCreated, PresentationDeleted, PresentationUpdated
ProgettoProjectCreated, ProjectDeleted, ProjectMoved, ProjectRestored, ProjectUpdated
Link di revisioneReviewLinkCreated, ReviewLinkDeleted, ReviewLinkUpdated
TeamTeamCreated, TeamUpdated, TeamDeleted
Membro del teamTeamMemberCreated, TeamMemberAccepted, TeamMemberDeclined, TeamMemberRemoved, TeamMemberUpdated

Esempi di filtro

Tutti i filtri seguono un formato simile, come illustrato sopra. Di seguito trovi alcuni esempi per casi d’uso specifici che possono aiutarti a iniziare.

ScenarioStringa di query
Azioni eseguite da un singolo utente.?filter[actor_id]=<user-id>
Tutte le attività su una presentazione specifica.?filter[item_id]=<presentation-id>
Commenti lasciati da un utente.?filter[action]=CommentCreated&amp;filter[actor_id]=<user-id>
Tutte le attività del link di revisione in un team.?filter[item_type]=ReviewLink&amp;filter[team_id]=<team-id>

Intervalli di date

Gli intervalli di date sono un caso leggermente speciale, in quanto è necessario specificare sia il valore inserted_at per la data e l’ora “ e l’operazione d applicare alla data e ora. Di conseguenza, le query con intervallo di date avranno sempre due elementi di filtro, ognuno dei quali sarà a sua volta nidificato accanto a un parametro [inserted_at].

Le operazioni supportate includono:

  • gt: maggiore di
  • gte: maggiore o uguale a
  • lt: minore di
  • lte: minore o uguale a

Esempi di intervalli di date

ScenarioStringa di query
Tutti i record del registro di controllo a partire da una data.?filter[inserted_at][op]=gt&amp;filter[inserted_at][value]=2019-03-25T00:00:00Z
Tutte le risorse caricate da un utente specifico fino a una data.?filter[inserted_at][op]=lt&amp;filter[inserted_at][value]=2019-03-25T00:00:00Z&amp;filter[actor_id]=<user-id>&amp;filter[action]=AssetCreated