핵심 개념

API 구조

Frame.io API는 속도 제한, 리소스 컬렉션에 대한 페이지 매김, 버전 관리, 오류 등의 일반적인 개념을 지원합니다. 이 섹션에서는 각각의 세부 사항을 설명합니다.

구성 및 스타일

API는 일반적인 REST 원칙을 중심으로 구성되어 있습니다. 모든 요청은 SSL을 통해 이루어져야 합니다. 오류를 포함한 모든 요청 및 응답 본문은 JSON으로 인코딩됩니다.

달리 명시되지 않는 한, API 메서드는 다음을 준수합니다.

  • 값이 없는 속성은 undefined 대신 null을 사용합니다. * 속성 이름에는 “스네이크 케이스”가 사용됩니다(예: first_name). * 타임스탬프는 ISO-8601 형식으로 렌더링됩니다(예: 2016-02-03T16:38:46.985Z).

경로 규칙

계정 > 팀 > 프로젝트 > 에셋 > 코멘트

일반적으로 Frame.io API의 리소스 경로는 하나의 상위 레벨 내에서 위의 계층 모델을 따릅니다. 직관적인 경우, API는 논리적으로 엄격하게 종속된 오브젝트에 대해 독립 실행형 리소스 경로를 지원합니다.

예를 들어 Frame.io API는 다음 두 경로를 모두 지원합니다.

  • GET /accounts/:id/teams — 계정의 모든 팀을 반환합니다. * GET /teams — 호출하는 사용자의 모든 팀을 반환합니다. * GET /teams/:id — 특정 팀에 대한 세부 정보를 반환합니다.

또 다른 예: 코멘트는 에셋 컨텍스트를 벗어나면 큰 의미가 없으므로, 코멘트 수집 및 생성 메서드는 에셋 권한 내에 위치합니다. 하지만 코멘트를 업데이트하거나 삭제하는 경우 에셋 컨텍스트는 큰 의미가 없으므로 리소스 경로에서 생략됩니다.

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

범위

OAuth 2.0을 통해 토큰을 발급받든 Developer Portal을 통해 직접 발급받든, 모든 API 토큰은 명시적인 “권한(scopes)” 목록과 연결되어야 합니다. 이는 리소스(예: Asset)와 작업(예: create)의 조합을 의미하며 점 표기법으로 표현됩니다. 예를 들어 asset.create 권한을 가진 토큰은 새 에셋을 생성할 수 있습니다.

개발자 토큰을 사용하여 구현하는 경우, 권한이 설정되어 액세스 토큰 자체에 할당됩니다. OAuth 애플리케이션을 사용하는 경우 애플리케이션에 대해 권한이 정의되며, 사용자가 애플리케이션과 처음 상호 작용할 때 요청된 권한으로 작동하도록 애플리케이션에 권한을 부여하는 데 동의하게 됩니다.

개발자 토큰 및 애플리케이션에서 사용할 수 있는 권한은 다음과 같습니다(일부 권한은 모든 사용자가 사용할 수 없으며, 문제가 발생할 때 호출됩니다).

권한 카테고리설명
계정, 사용자, 팀액세스 권한이 있는 계정 및 팀에 대한 정보를 가져옵니다. 인증된 사용자가 관리자 등인 경우 자신의 계정에 있는 추가 사용자 및 팀 정보에 액세스할 수 있습니다.

참고: 팀을 업데이트하려면(예: 웹훅 관리) 팀 관리자 또는 계정 관리자 역할이 있어야 합니다.
프로젝트 및 에셋프로젝트에 대한 기본 정보 가져오기, 사용자의 멤버십 확인 또는 업데이트, 에셋 생성 또는 업데이트
코멘트에셋에 대한 코멘트를 가져오거나 생성, 삭제하고, 특정 코멘트에 대한 답글을 생성합니다.

참고: 코멘트 업데이트 또는 삭제 요청은 코멘트 작성자가 수행해야 합니다.
검토 링크검토 링크에서 설정을 생성하거나 관리합니다.

참고: 검토 링크는 에셋을 수집하고 명시적인 팀이나 프로젝트 액세스 없이도 단일 URL을 통해 피드백을 주고받기 위해 이를 전송하는 Frame.io의 핵심 기능입니다.
Webhook웹훅은 Frame.io 내부에서 발생하는 이벤트를 외부 시스템으로 전송하여 처리, API 콜백, 및 궁극적으로는 워크플로 자동화를 위해 알림으로 활용할 수 있는 방법을 제공합니다.
감사 로그Frame.io는 애플리케이션에서 수행되는 대부분의 작업에 대한 로그를 노출합니다. 여기에는 핵심 리소스에 대한 기본 CRUD와 일부 특수 추상화(예: AssetVersioned)가 모두 포함됩니다. 로그에 액세스하려면 관리자여야 합니다.
프레젠테이션

페이지 매김

결과 컬렉션을 반환하는 API 메서드는 항상 페이지가 매겨집니다. 페이지가 매겨진 결과를 예상하는 모든 메서드는 다음 쿼리 매개변수에 응답하고 다음 헤더 속성을 반환합니다.

설명쿼리 매개변수헤더 속성
페이지 크기page_sizeper-page
페이지 번호pagepage-number
페이지 수N/Atotal-pages
총 개수N/Atotal
또한 페이지가 매겨진 결과에는 다음 정보와 함께 Link 응답 헤더(RFC-5988 참조)가 포함됩니다.
  • next — 해당 URL은 다음 페이지로 연결되는 링크입니다.
  • prev — 해당 URL은 이전 페이지로 연결되는 링크입니다.
  • last — 해당 URL은 마지막 페이지로 연결되는 링크입니다.

참고:next 링크나 prev 링크가 모두 존재하지 않을 경우, 반환된 첫 페이지가 유일한 페이지임을 나타냅니다.