사용자 지정 작업 개요
사용자 지정 작업 개요
예제 앱
자체 사용자 지정 작업 앱을 빌드하려는 경우, 샘플 앱을 통해 시작할 수 있습니다.
사용자 지정 작업은 프로그래밍 가능한 UI 구성 요소로 Frame.io에 직접 통합을 구축할 수 있는 수단입니다. 이를 통해 웹훅과 동일한 기본 이벤트 라우팅을 활용하여, 앱 내에서 사용자가 트리거할 수 있는 모든 워크플로 클래스를 지원합니다. 현재 사용자 지정 작업은 에셋에서 사용할 수 있으며, 아래 이미지와 같이 모든 에셋에서 사용할 수 있는 컨텍스트/오른쪽 클릭 드롭다운 메뉴에 표시됩니다. 
에셋은 S3에 있는 파일과 Frame.io 내의 컨텍스트를 강력하게 나타내는 표현입니다. 여기에는 트랜스코드, 사용자/팀/프로젝트 컨텍스트, 메타데이터가 포함됩니다. 사용자가 에셋에서 사용자 지정 작업을 클릭하면 Frame.io는 제공된 URL로 페이로드를 보냅니다. 수신 애플리케이션은 HTTP 상태 코드로 응답하여 수신을 단순하게 확인하거나, Frame.io에 추가 UI를 렌더링할 수 있는 사용자 지정 콜백으로 응답할 수 있습니다.
사용자 지정 작업 설정
권한 확인하기
팀에 대한 사용자 지정 작업을 만들려면 팀 관리자 권한이 필요합니다. 액세스 권한이 없는 경우 관리자에게 권한 수정을 요청하세요.
사용자 지정 작업은 developer.frame.io의 Custom Actions 영역에서 구성할 수 있습니다. Action에는 다음이 필요합니다.
클릭 - Frame.io로부터 수신하는 페이로드에 포함된 내용
사용자가 사용자 지정 작업을 클릭하면 URL 필드에 지정한 URL로 페이로드가 전송됩니다.
이 페이로드를 사용하여 다음을 식별할 수 있습니다.
- 어떤 사용자 지정 작업이 클릭되었는지
- 어떤 리소스가 클릭되었는지
- 어떤 사용자가 작업을 수행했는지
상호 작용 정보
interaction_id는 시간이 지남에 따라 진행되는 상호 작용을 추적하는 데 도움이 되는 고유 식별자로 제공됩니다. 사용자에게 응답할 필요가 없는 경우 단순히 200 상태 코드를 반환하면 완료됩니다. 선택 사항이지만 간단한 성공 메시지나 오류 알림과 같이 작업 결과에 대한 정보를 포함하는 것이 좋습니다. 사용자 지정 작업은 메시지 콜백을 지원합니다.
재시도 및 시간 초과
저희 애플리케이션은 5초 이내의 응답을 예상하며, 성공적인 응답을 기다리는 동안 최대 5회까지 재시도를 시도합니다. 사용자 지정 작업을 통해 트리거된 후에는 즉각적으로 응답하고 비동기적으로 작업을 수행하는 것이 가장 좋습니다.
메시지 콜백 만들기
웹훅 이벤트에 대한 HTTP 응답에서 Frame.io UI의 시작 사용자에게 반환될 메시지를 설명하는 JSON 오브젝트를 반환할 수 있습니다. 메시지를 빌드하고 어떻게 표시되는지 확인하려면, 메시지 콜백이나 양식을 설정하고 Frame.io 웹 앱에서 어떻게 나타나는지 확인할 수 있는 Custom Action Builder를 사용해 보세요.
다음은 예제 오브젝트입니다.
사용자에게 다음과 같은 알림이 표시됩니다.
메시지는 작업을 수행하는 사용자에게 컨텍스트 전환을 요구하지 않으면서 가변적인 컨텍스트를 제공하는 방식으로 작업 수명 주기 루프를 닫는 간단한 방법입니다.
이는 많은 사용 사례를 만족시키기에 충분하지만, 때로는 초기 페이로드 및 Frame.io API에 대한 후속 호출이 수신 애플리케이션에 충분한 컨텍스트를 제공하지 못할 수 있습니다. 이러한 시나리오를 위해 양식 콜백도 지원합니다.
양식 콜백 만들기
프로세스를 시작하기 전에 추가 정보가 필요하다고 가정해 보겠습니다. 예를 들어 추가 세부 정보와 설정이 필요한 시스템에 콘텐츠를 업로드할 수 있습니다. 응답에서 양식을 “설명”할 수 있으며, 사용자는 이를 실제로 보게 됩니다! 그리고 작성하게 됩니다! 그러면 귀하에게 바로 다시 전송됩니다!
다음은 초기 작업을 수행하는 사용자가 작성하고 제출할 수 있도록 Frame.io UI에서 양식을 렌더링하는 예제 양식입니다.
사용자가 양식을 제출하면 초기 POST와 동일한 URL에서 이벤트를 받게 됩니다.
양식에 추가한 모든 사용자 지정 필드는 Frame.io에서 보낸 JSON 페이로드의 data 섹션에 나타납니다. interaction_id를 사용하여 초기 요청과 이 새로운 양식 데이터를 매핑하세요. 그리고 원한다면 메시지(또는 다른 양식)로 응답할 수도 있습니다!
Action, 양식, 메시지를 연결하여 외부 시스템의 비즈니스 로직을 통해 Frame.io에서 전체 에셋 워크플로를 효과적으로 프로그래밍할 수 있습니다.
상상력을 발휘해 보세요! 한계는 없습니다.
양식 세부 정보
메시지와 마찬가지로 양식은 양식 맨 윗부분에 렌더링되는 title 및 description 특성을 지원합니다. 그 외에도 각 양식 필드에는 다음의 기본 특성이 허용됩니다.
type— Frame.io UI에 예상할 데이터 유형, 렌더링할 구성 요소를 알려줍니다.label— UI에서 필드 위 헤더로 나타납니다.name— 후속 페이로드에서 필드를 식별할 키입니다.value— 필드에 미리 채워 넣을 값입니다.
지원되는 필드 유형
텍스트 필드
추가 매개변수가 없는 간단한 텍스트 필드입니다.
텍스트 영역
추가 매개변수가 없는 간단한 텍스트 영역입니다.
Select list
Defines a picklist that the user can choose from. Must include an options list, each member of which should include a human-readable name, and a machine-parseable value.
**선택 목록**: 사용자가 선택할 수 있는 선택 목록을 정의합니다. options목록이 포함되어야 하며, 각 멤버에는 사람이 읽을 수 있는name과 기계가 파싱할 수 있는 value`가 포함되어야 합니다.
사용자 지정 작업 및 Frame.io 권한 모델
웹훅 및 사용자 지정 작업에는 특별한 권한 모델이 있습니다. 즉, 팀이나 계정에 존재하는 특정 사용자가 아니라 팀에 속합니다. 이는 다음을 의미합니다.
- 관리자나 팀 관리자는 누구나 팀에 사용자 지정 작업을 만들 수 있습니다.
- 관리자나 팀 관리자는 누구나 팀에 존재하는 사용자 지정 작업을 수정하거나 삭제할 수 있습니다. 수정이 완료되면 모든 사용자가 변경 결과를 즉시 볼 수 있습니다.
보안
기본적으로 모든 사용자 지정 작업에는 생성 시 만들어지는 서명 키가 있습니다. 이는 구성할 수 없습니다. 이 키를 사용하여 요청이 Frame.io에서 보낸 것인지 확인할 수 있습니다.
확인
POST 요청에는 다음이 포함됩니다.
서명 검증
- HTTP 헤더에서 서명 추출
- 버전, 전달 시간, 요청 본문을 결합하여 서명할 메시지 만들기
v0:timestamp:body
- 서명 시크릿을 사용하여 HMAC SHA256 서명을 계산하세요.
- 참고: 제공된 서명 앞에는
v0=접두사가 붙습니다. 현재 Frame.io에는 요청 서명을 위한 버전이 이 한 가지뿐입니다. 계산된 서명에 이 접두사를 추가해야 합니다.
- 비교하세요!