본문 바로가기
버블 개발/중급

107. Workflow API & Privacy Rule (중급) : 워크플로 API 활성화, privacy rule 무시 설정

by 스타트업 사업가 마르코 2023. 9. 1.
이 섹션에서는 외부 애플리케이션이 Bubble 앱에서 워크플로를 실행할 수 있도록 API 워크플로를 사용하는 방법을 다룹니다. 또한 Privacy Rule(정보 보호 규칙)이 API 워크플로에 미치는 영향을 다룹니다.

(1) 워크플로 API란?

1. 정의와 예시

 

1) 정의

워크플로 API는 API 요청(request)을 보내거나 앱에서 API 워크플로를 예약하여 외부 애플리케이션이나 시스템에서 트리거 될 수 있는 워크플로를 설정할 수 있게 해주는 Bubble의 내장 API입니다.
  • 페이지에서 일반 워크플로를 구성하는 것처럼 API 워크플로를 구성하면 Bubble이 매개변수를 포함할 수 있는 요청을 기반으로 모든 종류의 작업을 수행하도록 할 수 있습니다.

 

2) 예시1: 외부 데이터를 Bubble에 등록 연결

  • 예를 들어, Bubble 애플리케이션의 일부가 아닌 웹사이트에 고객 문의 양식이 있다고 가정해 보겠습니다.
  • 해당 플랫폼에서 이름, 이메일, 전화번호 등의 매개변수가 포함된 API 요청을 Bubble 앱에 보내면 API 워크플로를 사용하여 Bubble 앱에 새 사용자를 등록할 수 있습니다.

 

3) 예시2 : Webhook 응답

  • API 워크플로를 사용하면 앱이 다른 시스템의 Webhook에 응답할 수도 있습니다.
  • 예를 들어 Stripe에서 결제가 성공적으로 이루어질 때마다 Stripe에서 Webhook를 설정하여 Bubble 앱에서 워크플로를 트리거하여 필요한 조치를 즉시 취할 수 있습니다.

 

2. API 워크플로와 백엔드 워크플로의 차이점

  • Bubble의 백엔드 워크플로 섹션에서 작업을 시작하면 서로 다른 상황에서 사용되는 두 용어를 찾을 수 있습니다. 확실히 관련이 있지만 정확히 동일한 의미는 아닙니다.

 

1) Backend(백엔드) 워크플로

  • 다음과 같이 백엔드 워크플로 편집기에 추가할 수 있는 다양한 이벤트가 모두 포함됩니다.
    • API 워크플로우, backend 트리거, recurring 이벤트, custom 이벤트

 

2) API 워크플로

  • 특히 편집기에서 'New API Workflow' (새 API 워크플로) 명령을 사용하여 추가하는 워크플로를 나타냅니다.
  • 공개 여부에 관계없이 API 워크플로라고 합니다.
포괄적으로, 백엔드 워크플로는 백엔드 편집기에서 생성할 수 있는 다양한 이벤트를 모두 통칭하는 용어입니다.

 

(2) 워크플로 API 활성화

API 워크플로를 활성화하려면 Settings - API로 이동하여 Enable workflow API & Backend workflow를 활서성화 해주세요
  • 이렇게 하면 공개 노출이 선택된 모든 워크플로가 표시됩니다. 또한 애플리케이션의 endpoint가 되는 Workflow API root URL도 표시됩니다.

 

(3) 워크플로 API 편집으로 이동

애플리케이션 설정에서 Workflow API가 활성화되면 아래와 같이 가상 페이지 Backend workflow로 이동할 수 있습니다.
  1. 버블 편집기의 왼쪽 상단에 있는 페이지 탐색기를 클릭하세요.
  2. 목록 맨 아래에 있는 Backend workflows 링크를 클릭합니다.

Backend workflows로 이동
Backend workflows로 이동

 

(4) 워크플로 API의 Privacy Rule

 

1. 의미

앱에서 API 워크플로를 실행할 때마다 해당 API워크플로에 참조되는 모든 데이터 유형의 Privacy Rule(개인 정보 보호 규칙)에 따라서 접근할 수 있는 데이터가 결정됩니다.
즉, 요청을 보내는 클라이언트의 인증에 따라 클라이언트가 액세스 할 수 있는 데이터 종류가 결정됩니다.

 

2. 역할

Privacy Rule(개인 정보 보호 규칙)은 앱 데이터베이스에 대한 무단 액세스를 차단하는 보안 필터 역할을 합니다.
  • Privacy Rule(개인 정보 보호 규칙)은 볼 수 있는 데이터에 적용되지만 워크플로의 작업에는 영향을 미치지 않는다는 점에 유의하는 것이 중요합니다.

 

3. 예시: Privacy Rule에서 인증된 항목만 검색가능

  • 예를 들어 워크플로는 검색에서 찾기 Privacy Rule( 개인 정보 보호) 설정의 영향을 받을 수 있습니다.
  • 이 시나리오에서 인증된 클라이언트는 Privacy Rule(개인 정보 보호 규칙)에 따라 액세스 권한이 부여된 항목만 검색할 수 있습니다.

 

4. 데이터의 검색과 변경

Privacy Rule(개인 정보 보호 규칙)은 데이터베이스에 접근에 영향을 미칩니다.
  • 클라이언트가 누구인지에 따라 API 워크플로가 특정 데이터에 접근하는 것을 중지할 수 있지만 API 워크플로 실행이 완전히 중지되지는 않습니다.

 

해당 워크플로 내에 데이터 변경 작업이 있다고 가정해 보겠습니다.

  • 이 작업은 Privacy Rule(개인 정보 보호 규칙)에 관계없이 완료되지만, 변경할 사항을 검색하는 경우 Privacy Rule(개인 정보 보호 규칙)으로 인해 변경하려는 항목을 찾지 못할 수도 있습니다.
  • 즉, 작업이 기술적으로 완료되지만 변경하려는 레코드를 찾지 못하면 아무런 차이가 없습니다.
본질적으로 API 워크플로를 실행하면 데이터베이스에서 원하는 내용을 자유롭게 변경할 수 있지만 데이터베이스 레코드에 대한 접근은 여전히 Privacy Rule(개인 정보 보호 규칙)에 의해 보호됩니다.

 

5. 주의사항

  • 앱 설정에서 Data API를 활성화할 때 도입되는 새로운 Privacy Rule(개인 정보 보호 규칙) 설정(API를 통해 생성, API를 통해 수정 및 API를 통해 삭제)은 API 워크플로에 영향을 주지 않습니다.

 

(5) Privacy Rule(개인 정보 보호 규칙) 무시

모든 API 워크플로에서 워크플로 실행 시 Ignore privacy rules when running the workflow(개인정보 보호 규칙 무시) 상자를 체크하여 Privacy Rule(개인정보 보호 규칙)을 무시하고 데이터에 접근할 수 있습니다.
  • 이는 Privacy rule(개인 정보 보호 규칙)으로 인해 현재 사용자가 접근할 수 없는 데이터에 액세스해야 하는 워크플로를 실행해야 하는 경우에 유용합니다.

Privacy Rule ignore(개인정보 보호 규칙 무시)
Privacy Rule ignore(개인정보 보호 규칙 무시)

 

  • Ignore privacy rules when running the workflow(개인정보 보호 규칙 무시)를 선택하면 이 워크플로와 관련된 모든 작업에서 워크플로를 시작한 사용자에게 영향을 미치는 규칙을 무시하고 데이터에 접근할 수 있습니다.

 

Workflow API Endpoint (중급) : root URL, endpoint URL 전체 구성 > 바로가기
API worflows (중급) : 백엔드 워크플로우 설정, 보안, 외부에서 사용하기 설정 > 바로가기
API workflow 생성하기 (중급) : 활성화, endpoint 정의, parameter 정의, 자동 감지 설정 > 바로가기
Scheduling API Workflows (중급) : 워크플로우 예약 사례, 예약 설정, list 예약 설정, 취소 > 바로가기
Recursive API Workflows(중급) : 재귀적 워크플로우 정의, 설정 > 바로가기