Shopify Flow의 조건
Shopify Flow에서 트리거가 워크플로를 시작한 후작업이 실행되는지 여부는 조건에 따라 결정됩니다. 조건을 설정할 때스토어의 데이터에서 수집된 값,논리 연산자를 선택하고 확인할 값을 수동으로 선택합니다.
Flow와 함께 사용되는 데이터 유형
Flow 조건의 첫 번째 값은 스토어에서 수집된 데이터이며GraphQL 관리자 API에서 얻습니다.
Flow에서 지원하는 데이터는 다음과 같습니다.
- 부동: 부동 값은 소수가 있는 숫자입니다(예: 4.25).
- 정수: 정수 값은 소수가 없는 정수입니다(예: 42).
- 날짜: 날짜 값은 날짜를 숫자로 표현한 것입니다(예: 01012021).
- 문자열: 문자열 값은 텍스트입니다. 문자열 값을 사용하는 비교는 대소문자를 구분하지 않습니다.
- 부울: 부울 값은 참 또는 거짓입니다.
- Enum: Enum 값은 변수가 미리 정의된 상수 집합으로 되도록 하는 데이터 유형입니다.
Flow에서 사용되는 논리 연산자
논리 연산자는 조건이 적용되는 방식을 정의합니다. 조건은 주문 총액이 특정 금액보다 많은지, 고객이 마케팅을 수락하는지와 같은 간단한 속성을 확인할 수 있습니다. 논리 연산자는 보다 복잡한 속성도 확인할 수 있습니다.
Flow에서는 다음 연산자를 사용할 수 있습니다.
같음
같음은 값을 비교하여 동일한지 확인합니다. 다음 예에서order.currentTotalDiscountsSet.shopMoney.amount
값은 스토어 데이터에서 검색되어 두 번째 값(50)과 비교됩니다.
첫 번째 값이 50과 같다면 조건은 참이며, 주문이 취소되었습니다.
같지 않음
같지 않음은 값을 비교하여 값이 동일하지 않은지 확인합니다. 다음 예에서order.currentTotalDiscountsSet.shopMoney.amount
값은 스토어 데이터에서 검색되어 두 번째 값(50)과 비교됩니다.
첫번째값이93과같다면조건은참이며,주문이취소되었습니다。
초과 및 이상
초과및이상은 값을 비교하여 첫 번째 값이 두 번째 값보다 큰지, 크거나 같은지 확인합니다. 다음 예에서order.currentTotalDiscountsSet.shopMoney.amount
값은 스토어 데이터에서 검색되어 두 번째 값(50)과 비교됩니다.
스토어에서 수집된 값이 137인 경우 137이 50보다 크기 때문에 조건은 참이며, 주문이 취소되었습니다.
미만 및 이하
미만및이하는 값을 비교하여 첫 번째 값이 두 번째 값보다 작은지, 작거나 같은지 확인합니다. 다음 예에서order.currentTotalDiscountsSet.shopMoney.amount
값은 스토어 데이터에서 검색되어 두 번째 값(50)과 비교됩니다.
스토어에서 수집된 값이 47인 경우 47이 50 이하이므로 조건은 참이며, 주문이 취소되었습니다.
어느 것
어느 것은 데이터 배열의 값을 비교하여 첫 번째 값 입력에 두 번째 입력 값 데이터가 포함되어 있는지 확인합니다. 확인할 값을 입력한 다음 개별적으로 ENTER 키를 눌러야 합니다.어느 것을 빈 배열에서 사용하면 거짓으로 평가됩니다. 다음 예에서order.lineitem.product.title
값은 스토어 데이터에서 검색되어 파인애플, 구아바, 키위와 같은 두 번째 값 집합과 비교됩니다.
스토어에서 수집된 값이 구아바인 경우 구아바가 파인애플, 구아바, 키위 배열에 포함되어 있으므로 조건은 참이며, 주문이 취소되었습니다.
어느 것도 아님
어느 것도 아님은 데이터 배열의 값을 비교하여 첫 번째 값 입력에 두 번째 입력 값 데이터가 포함되어 있지 않은지 확인합니다. 확인할 값을 입력한 다음 개별적으로 ENTER 키를 눌러야 합니다. 다음 예에서order.lineitem.product.title
값은 스토어 데이터에서 검색되어 파인애플, 구아바, 키위와 같은 두 번째 값 집합과 비교됩니다.
스토어에서 수집된 값이 라즈베리인 경우 라즈베리가 파인애플, 구아바, 키위 배열에 포함되지 않으므로 조건은 참이며, 주문이 취소되었습니다.
포함
포함은 값을 비교하여 첫 번째 값 입력이 두 번째 입력 값 데이터를 포함하는지 여부를 확인합니다. 다음 예에서order.lineitem.product.title
값은 스토어 데이터에서 검색되어 두 번째 값(scrape)과 비교됩니다.
스토어 데이터에서 수집된 값이 skyscraper인 경우 scrape 문자열이 정확하게 skyscraper 문자열에 포함되어 있으므로 조건은 참이며, 주문이 취소되었습니다.
포함하지 않음
포함하지 않음은 값을 비교하여 첫 번째 값 입력이 두 번째 입력 값 데이터를 포함하지 않은지 여부를 확인합니다. 다음 예에서order.lineitem.product.title
값은 스토어 데이터에서 검색되어 두 번째 값(scrape)과 비교됩니다.
스토어 데이터에서 수집된 값이 scrap-metal인 경우 scrap-metal 문자열에 scrape 문자열이 정확하게 포함되지 않았으므로 조건은 참이며, 따라서 주문은 취소됩니다.
다음으로시작
다음으로시작은 값을 비교하여 첫 번째 값이 두 번째 값의 데이터로 시작하는지 확인합니다. 다음 예에서order.shippingAddress.country
값은 스토어 데이터에서 검색되어 두 번째 값(United)과 비교됩니다.
스토어에서 수집된 값이 United Kingdom인 경우 United Kingdom 문자열이 United 문자열로 시작하므로 조건은 참이며, 주문이 취소되었습니다.
다음으로시작하지 않음
다음으로시작하지 않음은 값을 비교하여 첫 번째 값이 두 번째 값의 데이터로 시작하지 않는지 확인합니다. 다음 예에서order.shippingAddress.country
값은 스토어 데이터에서 검색되어 두 번째 값(United)과 비교됩니다.
스토어에서 수집된 값이 Canada인 경우 United Kingdom 문자열이 Canada 문자열로 시작하지 않으므로 조건은 참이며, 주문이 취소되었습니다.
다음으로 끝남
다음으로 끝남은 값을 비교하여 첫 번째 값이 두 번째 값의 데이터로 끝나는지 확인합니다. 다음 예에서order.lineitems.product.title
값은 스토어 데이터에서 검색되어 두 번째 값(마지막으로 구입 가능)과 비교됩니다.
스토어에서 수집된 값이 운동용 양말-마지막으로 구입 가능이라면 해당 문자열(운동용 양말-마지막으로 구입 가능)이 마지막으로 구입 가능이라는 문자열로 끝나므로 조건은 참이며, 주문이 취소되었습니다.
다음으로 끝나지 않음
다음으로 끝나지 않음은 값을 비교하여 첫 번째 값이 두 번째 값의 데이터로 끝나지 않는지 확인합니다. 다음 예에서order.lineitems.product.title
값은 스토어 데이터에서 검색되어 두 번째 값(마지막으로 구입 가능)과 비교됩니다.
스토어에서 수집된 값이 운동용 양말-신제품이라면 해당 문자열(운동용 양말-신제품)이 마지막으로 구입 가능이라는 문자열로 끝나지 않으므로 조건은 참입니다. 따라서 주문은 취소됩니다.
주문 조건
여러조건이포함된워크플로를생성할수있으며,각조건에따라다양한 작업을 수행할 수 있습니다. 조건의 순서가 중요합니다. 조건을 확인할 때는 워크플로의 첫 번째 조건에서 시작하여 각 조건을 차례로 처리합니다. 그리고 조건이 충족되면 확인 작업도 중지됩니다.
여러 조건 충족
조건을 설정할 때 여러 기준을 설정하며 모든 조건 또는 조건 충족 시, 아니면 하나의 조건이라도 충족되는 경우 조건을 참으로 간주할지 여부를 결정할 수 있습니다.
모든 조건이 충족되는 경우
모든 조건이 충족되는 경우를 선택하면 설정한 모든 기준이 참인 경우에만 참으로 표시됩니다.
예를 들어 캐나다에 위치한 고객에게 태그 지정하고 단일 주문에 $500 이상을 소비하는 워크플로를 생성합니다.
워크플로는 고객이 캐나다에 있으며 주문 금액이 $500 이상인 경우에만 고객에게 태그를 지정합니다. 이러한 조건 중 하나가 거짓이면 고객에게 태그 지정되지 않습니다.
조건이 충족되는 경우
조건이 충족되는 경우를 선택하면 설정한 기준 중 하나라도 참인 경우 참으로 표시됩니다.
예를 들어 위험 수준이 높음 또는 보통으로 간주되는 주문에 태그를 지정하는 워크플로를 생성합니다.
워크플로는 위험 수준이 높음 또는 보통인 경우 주문에 태그를 지정합니다. 해당 조건 중 하나가 참이면 주문에 태그 지정됩니다.
조건 및 작업 결합
하나의 큰 조건을 만들기 위해 조건을 함께 결합할 수 있습니다. 조건이 결합되면 모든 조건이 충족되어야 전체 조건은 참이 됩니다. 조건이 하나라도 충족되지 않으면 전체 조건은 거짓입니다. 다음 예에서 고객은 마케팅 자료를 수락해야 하며 주문의 총 가격은 특정 임계값을 충족해야 합니다.
마찬가지로 여러 작업이 실행되도록 여러 작업을 결합할 수 있습니다. 이 예제에서는 여러 조건을 사용하여 고객이 스토어에서 소비한 총 금액을 기준으로 로열티 프로그램이 적용되는지를 확인합니다. 위의 예제에서 아래의 조건이 표시 순서대로 확인됩니다.
- 총 금액이 $1,000을 초과하고 고객이 마케팅 수락에 동의했다면 골드 태그로 태그를 지정합니다.
- 총 금액이 $1,000 미만이지만 $500을 초과하고 고객이 마케팅 수락에 동의했다면 실버 태그로 태그를 지정합니다.
- 고객이 $200를 초과하여 소비하고 마케팅 수락에 동의했다면 브론즈 태그로 태그를 지정합니다.
조건의 정적 및 동적 데이터
일반적으로 조건의 두 번째 값은 수동으로 입력된 정적 값입니다. 이 값은 워크플로가 실행될 때마다 동일하게 유지됩니다.
두 번째 값의 필드에>
기호가 표시되면 동적 값을 사용할 수도 있습니다. 워크플로가 실행될 때마다 스토어 데이터에서 동적 값을 얻습니다. 동적 값을 사용하려면>
기호를 클릭하고 확인할 값을 선택합니다. 일부 필드에는 동적 값을 사용할 수 없습니다.
예를 들어 주문의 청구 주소 국가가 배송 주소의 국가와 일치하는 경우 주문에 태그 지정하는 워크플로를 생성합니다.
이 예에서는 두 번째 값을 확인할 정적 문자열을 수동으로 지정하는 대신 스토어 데이터에서 첫 번째와 두 번째 값을 모두 수집합니다. 고객이 제공한 청구 주소의 국가가 배송 주소에 제공한 국가와 같은 경우 조건은 참이고 주문에 태그 지정됩니다.