Concepts clés

Structure de l’API

L’API Frame.io prend en charge des concepts courants comme la limitation de débit, la pagination pour les collections de ressources, le contrôle de version et les erreurs. Cette section décrit les spécificités de chacun.

Organisation et style

L’API est organisée autour de principes REST courants. Toutes les requêtes doivent être effectuées via SSL. Tous les corps de requête et de réponse, y compris les erreurs, sont encodés en JSON.

Sauf indication contraire, les méthodes d’API respectent ce qui suit :

  • Les propriétés sans valeur utiliseront null au lieu d’être non définies * Le « Snake Case » est utilisé pour les noms d’attribut (par ex. first_name) * Les dates et heures sont rendues au format ISO-8601 (par ex. 2016-02-03T16:38:46.985Z)

Conventions de chemin d’accès

Comptes > Équipes > Projets > Ressources > Commentaires

En général, les chemins d’accès de ressources dans l’API Frame.io suivront le modèle de hiérarchie ci-dessus, jusqu’à un niveau parent. Quand cela est intuitif, l’API prend en charge les chemins d’accès de ressources autonomes pour les objets qui sont strictement détenus, logiquement parlant.

Par exemple, l’API Frame.io prend en charge les deux chemins d’accès suivants :

  • GET /accounts/:id/teams — renvoie toutes les équipes d’un compte. * GET /teams — renvoie toutes les équipes de l’utilisateur appelant. * GET /teams/:id — renvoie les détails d’une équipe spécifique.

Autre exemple : les commentaires n’ont pas beaucoup de sens en dehors de leur contexte de ressource, donc les méthodes de collection et de création de commentaires se trouvent dans la portée de la ressource. Cependant, lors de la mise à jour ou de la suppression d’un commentaire, le contexte de la ressource n’est pas aussi significatif et est omis du chemin d’accès de la ressource :

  • GET /assets/:id/comments * POST /assets/:id/comments * PUT /comments/:id * DELETE /comments/:id

Portées

Que vous récupériez un jeton via OAuth2.0 ou directement via le Portail développeur, tous les jetons d’API doivent être associés à une liste explicite de « portées », qui font référence à une combinaison d’une ressource (par ex. Ressource) et d’une action (par ex. créer), et sont exprimées avec la notation par points. Par exemple, un jeton avec la portée asset.create pourrait créer de nouvelles ressources.

Si vous utilisez une implémentation avec un jeton de développeur, alors les portées sont définies et attribuées au jeton d’accès lui-même. Si vous utilisez une application OAuth, les portées sont définies pour l’application, et lorsque les utilisateurs interagissent avec l’application pour la première fois, ils acceptent d’octroyer à l’application l’autorisation d’agir avec les portées demandées.

Les portées disponibles pour les jetons de développeur et les applications incluent les éléments suivants (veuillez noter que certaines portées ne sont pas disponibles pour tout le monde, et elles sont signalées en cas de problème).

Catégorie de portéeDescription
Comptes, utilisateurs et équipesObtenez des informations sur les comptes et équipes auxquels vous avez accès. Si l’utilisateur authentifié est un administrateur, etc., il peut avoir accès aux informations sur des utilisateurs et équipes supplémentaires dans son compte.

Remarque : Pour mettre à jour les équipes (par exemple, gérer les webhooks), vous devez avoir un rôle de gestionnaire d’équipe ou d’administrateur de compte.
Projets et ressourcesObtenez des informations de base sur les projets, vérifiez ou mettez à jour l’abonnement de l’utilisateur, créez ou mettez à jour les ressources
CommentairesObtenez, créez ou supprimez des commentaires sur une ressource, ou créez des réponses à un commentaire spécifique.

Remarque : Les demandes de mise à jour ou de suppression de commentaires doivent être effectuées par le créateur du commentaire.
Liens de révisionCréez ou gérez les paramètres des liens de révision.

Remarque : Les liens de révision sont une fonctionnalité principale de Frame.io pour collecter les ressources et les envoyer pour commentaires via une seule URL sans nécessiter d’accès explicite à l’équipe ou au projet.
WebhooksLes webhooks fournissent un moyen de tirer profit des événements qui se produisent à l’intérieur de Frame.io dans les notifications qui peuvent être envoyées aux systèmes externes pour le traitement, le rappel d’API et, en fin de compte, l’automatisation de workflow.
Journaux d’auditFrame.io expose les journaux pour la grande majorité des activités effectuées dans ses applications. Cela inclut à la fois les CRUD de base sur les ressources principales et certaines abstractions spéciales (par exemple AssetVersioned). Vous devez être un administrateur pour accéder aux journaux.
Présentations

Pagination

Les méthodes API qui renvoient une collection de résultats sont toujours paginées. Toutes les méthodes qui attendent des résultats paginés répondront aux paramètres de requête suivants et renverront les attributs d’en-tête suivants :

DescriptionParamètre de requêteAttribut d’en-tête
Taille de pagepage_sizeper-page
Numéro de pagepagepage-number
Nombre de pagesN/Dtotal-pages
Nombre totalN/Dtotal
De plus, les résultats paginés incluront un en-tête de réponse Link (voir RFC-5988) avec les informations suivantes :
  • next — l’URL correspondante est le lien vers la page suivante.
  • prev — l’URL correspondante est le lien vers la page précédente.
  • last — l’URL correspondante est le lien vers la dernière page.

Remarque : lorsque ni les liens next ni prev ne sont présents, cela indique que la première page renvoyée est la seule page.