Shopify Flow의 오류 문제 해결
Shopify Flow는 스토어의 작업과 프로세스를 자동화하는 데 도움이 되지만, 워크플로를 생성하거나 편집할 때 오류가 발생하거나 특정 제한에 도달할 수 있습니다. 이 페이지에서는 워크플로 제한 및 데이터 오류와 같이 직면할 수 있는 일반적인 문제를 설명하고 이를 해결하는 방법에 대한 지침을 제공합니다. 이러한 오류를 이해하면 문제를 해결하고 워크플로를 원활하게 실행하는 데 도움이 될 수 있습니다.
워크플로 생성 시 오류
워크플로를 생성할 때 새 워크플로 추가를 방해하는 오류가 발생할 수 있습니다. 발생할 수 있는 몇 가지 오류는 다음과 같습니다.
워크플로 수 초과
새 워크플로를 생성할 때 허용된 워크플로의 최대 한도인 1,000개에 도달했습니다. 계속하려면 사용하지 않는 워크플로를 삭제하고 다시 시도하십시오.라는 오류가 발생할 수 있습니다.
Flow는 스토어가 보유할 수 있는 워크플로 수를 1,000개로 제한합니다. 여기에는 활성 및 비활성 워크플로가 포함됩니다. 이 한도에 도달하여 새 워크플로를 생성하려면 사용하지 않거나 비활성화된 워크플로를 삭제해야 합니다.
이 한도가 설정되기 전에 스토어에 1,000개 이상의 워크플로가 있었던 경우, 스토어는 1,000개 이상의 워크플로로 계속 작동할 수 있습니다. 그러나 새 워크플로를 생성하려면 한도 미만이어야 합니다.
Flow 앱에서 여러 작업을 수행할 때 이 오류가 발생할 수 있습니다.
- 새 워크플로 생성
- 워크플로 복제
- 워크플로 가져오기
- 템플릿 설치
동일한 트리거에 워크플로가 너무 많음
워크플로를 활성화할 때 스토어에 동일한 트리거를 사용하는 활성 워크플로가 10개를 초과한다는 경고가 표시될 수 있습니다.
동일한 트리거를 공유하는 워크플로가 많으면 성능 문제가 발생할 수 있습니다. 트리거 이벤트가 발생할 때마다 Flow가 연결된 모든 워크플로를 처리해야 하기 때문입니다. 이러한 팬아웃으로 인해 실행 시간이 느려지고 리소스 사용량이 증가할 수 있습니다.
단일 트리거에 대한 워크플로 수를 줄이려면 다음 방법을 고려해 보십시오.
- 동일한 트리거를 사용하는 워크플로를 여러 분기 및 조건이 포함된 단일 워크플로로 결합하십시오.
- 더 이상 필요하지 않은 워크플로를 비활성화하거나 삭제하십시오.
- 일부 워크플로에 더 구체적인 트리거를 대신 사용할 수 있는지 검토하십시오.
워크플로 편집 시 오류
워크플로를 편집할 때 워크플로 저장을 방해하는 오류가 발생할 수 있습니다. 다음은 워크플로를 편집할 때 발생할 수 있는 일반적인 오류입니다.
데이터를 찾을 수 없음
워크플로에 새 작업을 추가할 때 데이터를 찾을 수 없음이라는 오류가 발생할 수 있습니다.

이 오류는 제품 태그 추가를 비롯한 여러 작업에 제품과 같은 Shopify 리소스가 필요하기 때문에 발생합니다. 해당 리소스를 사용할 수 없는 경우 작업이 실행될 수 없습니다. 일반적으로 워크플로에는 필요한 데이터와 유사하지만 실제로 필요한 데이터를 제공하지 않는 데이터가 포함될 수 있습니다.
다음 섹션에서는 이 오류를 유발할 수 있는 일반적인 시나리오와 해결 방법을 설명합니다.
문제 1: 단일 품목이 필요한 경우 '데이터 가져오기'에서 목록이 제공됨
워크플로에서 Shopify 리소스 목록을 제공하지만 작업에서는 단일 리소스만 허용하는 경우가 많습니다. 예를 들어, 워크플로가 제품 데이터 가져오기를 통해 제품 목록을 제공하지만 제품 태그 추가 작업에는 단일 제품이 필요합니다.
이 오류를 해결하려면 For each 작업을 추가하여 목록을 반복하고 목록의 각 품목에 대해 작업을 호출할 수 있습니다. 다음 예시는 오류와 For each를 사용한 해결 방법을 모두 보여줍니다.

문제 2: 단일 품목이 필요할 때 트리거에서 목록을 제공한 경우
작업에는 단일 리소스가 필요한데 트리거가 목록을 제공하는 경우 비슷한 오류가 발생할 수 있습니다. 예를 들어, 주문 처리 대상 주문을 처리됨으로 표시에는 주문 처리 대상 주문이 하나 필요하지만, 주문에서 시작된 트리거는 주문 처리 대상 주문 목록을 제공합니다.
이 오류를 해결하려면 문제 1에서와 같이 For each 작업을 추가하여 목록을 반복하고 목록의 각 품목에 대해 작업을 호출할 수 있습니다.

또는 필요한 리소스를 제공하는 다른 트리거를 사용할 수도 있습니다. 예를 들어 주문 생성됨 트리거 대신 단일 주문 처리 대상 주문을 제공하는 주문 처리 준비 완료된 주문 처리 대상 주문 트리거를 사용할 수 있습니다.

문제 3: '예약된 시간' 트리거에서 데이터를 제공하지 않은 경우
예약된 시간 트리거는 Shopify 리소스 데이터를 제공하지 않습니다. 트리거 다음에 Shopify 리소스가 필요한 작업을 연결하려고 하면 오류가 발생합니다.
이 오류를 해결하려면 제품 데이터 가져오기와 같이 필요한 데이터를 제공하는 작업을 추가하십시오. 문제 1에서 언급했듯이, 데이터를 가져오는 작업에서 반환되는 모든 목록을 반복하려면 For each 작업도 추가해야 합니다.

문제 4: 앱 트리거에서 데이터를 제공하지 않은 경우
문제 3과 유사하게, 앱에서 생성된 일부 트리거는 필요한 Shopify 리소스 데이터를 제공하지 않습니다. 예를 들어, “리뷰 생성됨” 트리거는 이메일 주소를 제공할 수는 있지만 고객 태그 추가와 같은 많은 작업에 필요한 고객 개체를 제공하지는 않습니다.
이 오류를 해결하려면 “데이터 가져오기” 작업을 사용하여 필요한 Shopify 리소스를 가져올 수 있습니다. 예를 들어, 고객 데이터 가져오기를 사용하여 트리거에서 제공한 이메일 주소로 고객 개체를 가져올 수 있습니다. 다른 문제와 마찬가지로 데이터를 가져오는 작업에서 반환되는 모든 목록을 반복하려면 For each 작업도 추가해야 합니다.
“데이터 가져오기”를 사용할 수 없는 경우 앱 개발자에게 문의하여 필요한 데이터를 제공하도록 트리거를 수정할 수 있는지 문의해야 할 수 있습니다.
대기 단계 수 초과
워크플로에 새 대기 단계를 추가할 때 워크플로에는 대기 단계가 40개 이하여야 합니다.라는 오류가 발생할 수 있습니다.
Flow는 워크플로에서 허용되는 대기 단계 수를 40개로 제한합니다. 이 오류가 발생하면 이 한도를 초과한 것입니다. 이 문제를 해결하려면 워크플로의 다른 위치에서 대기 단계를 제거하십시오.
이 한도가 도입되기 전에 40개 이상의 대기 단계가 포함된 워크플로가 이미 있는 경우 해당 워크플로는 예상대로 계속 작동합니다. 그러나 추가 대기 단계를 추가하려면 먼저 기존 단계를 제거하여 한도 미만으로 유지해야 합니다.
또한 모든 대기 단계의 총 대기 시간은 90일을 초과할 수 없습니다.
구성 필드 값 크기 제한 초과
워크플로의 조건 내에서 구성 필드 값을 편집할 때 구성 필드 값은 50kB 미만이어야 합니다.라는 오류가 발생할 수 있습니다.
Flow는 구성 필드 값의 크기를 50kB 데이터로 제한합니다. 이 오류가 발생하면 한도에 도달했거나 초과한 것입니다. 이 문제를 해결하려면 해당 필드에 추가하는 데이터의 길이를 줄이십시오.
이미 50kB 이상의 값을 가진 구성 필드가 있는 경우 워크플로는 예상대로 계속 실행됩니다. 그러나 워크플로를 변경하려면 오류를 유발하는 값을 수정해야 합니다.
워크플로 실행 시 오류
워크플로 실행 시 오류가 발생하면 워크플로 실행이 실패로 표시됩니다. 오류 메시지는 워크플로 실행 세부 정보에 표시됩니다. 다음은 워크플로 실행이 실패할 때 발생할 수 있는 일반 오류입니다.
- 일시적인 오류는 Flow가 작업을 완료할 수 없을 때 발생하는 임시 오류입니다. 이 오류는 성공하거나 시간 초과 한도에 도달할 때까지 재시도됩니다.
- 영구적인 오류는 Flow가 작업을 완료할 수 없으며 작업을 재시도할 수 없을 때 발생하는 오류입니다.
일시적인 오류
일시적인 오류는 Flow가 작업을 완료할 수 없을 때 발생하는 임시 오류입니다. 이 오류는 성공하거나 시간 초과 한도에 도달할 때까지 재시도됩니다. 예를 들어 커넥터 작업을 실행할 때 Flow가 파트너에게 연결할 수 없는 경우 Flow는 포기하기 전에 작업을 여러 번 재시도합니다.
재시도 간의 지연 시간은 시도할수록 늘어나도록 분산됩니다. 일반적으로 워크플로에 일시적인 오류가 발생하면 작업을 재시도하는 동안 오랫동안 실행 중 상태로 유지됩니다.
작업이 성공적으로 재시도되면 워크플로가 계속됩니다. 재시도된 작업에 영구적인 오류가 발생하면 워크플로가 실패합니다. 모든 워크플로 섹션의 총 실행 한도는 36시간입니다. 일시적인 오류가 있는 단계가 이 한도에 도달하기 전에 성공하지 못하면 워크플로가 실패합니다.
대기 단계가 있는 워크플로는 여러 섹션으로 나뉘며, 이는 워크플로에서 시간 초과 한도를 계산하는 방식에 영향을 줍니다. 각 섹션은 함께 실행되는 작업 그룹이며, 각 섹션에는 36시간의 자체 시간 제한이 있습니다. 예를 들어, 워크플로에 1시간을 기다리는 대기 단계가 있는 경우, 대기 단계 이전의 작업은 한 섹션에서 함께 실행되고 대기 단계 이후의 작업은 다른 섹션에서 함께 실행됩니다. 워크플로에 여러 대기 단계가 있는 경우 각 대기 단계 사이의 작업이 한 섹션에서 함께 실행됩니다. 대기 단계가 없는 워크플로는 하나의 섹션으로 간주됩니다.
일시적인 오류가 간혹 발생하는 것은 일반적입니다. 그러나 여러 실행에 걸쳐 동일한 일시적인 오류가 지속적으로 발생하는 워크플로가 있는 경우 해당 워크플로를 재구성해야 할 수 있습니다.
단계 시간 초과
단계 시간 초과 오류는 일반적으로 워크플로의 작업이 한 섹션 내에서 너무 많은 데이터를 쿼리하려고 할 때 발생합니다. 이 오류는 목록, 특히 빠르게 처리하기에는 너무 큰 중첩 목록을 반복하는 워크플로에서 자주 발생합니다.
이 오류가 발생하면 트리거 또는 대기 단계가 재시도 중으로 표시됩니다.
이 문제를 해결하려면 목록 및 중첩 목록에 액세스하는 조건을 검토하여 올바르게 설정되었는지 확인하십시오. 일반적인 문제는 주문의 제품만 확인하는 대신 스토어의 모든 제품을 확인하는 조건입니다.
5XX 상태
대부분의 Flow 작업에는 HTTP 호출이 포함됩니다. 경우에 따라 네트워킹 또는 기타 서버 문제로 인해 HTTP 호출이 실패하고 500~599 사이의 오류 코드가 반환될 수 있습니다. 이 오류가 한 번 발생하는 것은 문제가 되지 않지만, 반복되는 경우에는 단계 구성 방식이 아닌 작업을 처리하는 서버에 문제가 있음을 나타낼 수 있습니다.
이러한 유형의 오류는 HTTP 요청 보내기 작업에서 가장 일반적으로 표시되지만 대부분의 작업에서 발생할 수 있습니다.
GraphQL 속도 제한
워크플로에서 완료한 총 작업량은 API 속도 제한에 의해 제한되며, 이는 플랜에 따라 부분적으로 결정됩니다. 일반적으로 워크플로가 매우 복잡하거나 의도하지 않은 설계 오류를 포함하지 않는 한 이러한 제한에 도달하지 않습니다.
다음 예는 이 오류로 이어질 수 있는 상황을 설명합니다.
- 워크플로의 Liquid 또는 조건이 HTML을 포함하는 메타 필드 값을 확인하는 등 대량의 데이터가 포함된 목록을 반복합니다.
- 워크플로의 Liquid 또는 조건이 대규모 스토어에서
shop.orders를 반복하는 등 대규모 목록을 반복합니다. - 워크플로가 계속해서 새 워크플로 실행을 생성하는 무한 루프가 발생하는 워크플로. 예를 들어, 워크플로가 고객 태그 추가됨 트리거를 사용하고 고객 태그 추가 작업을 포함하는 경우 이러한 현상이 발생할 수 있습니다.
한도에 도달하면 GraphQL 속도 제한 오류가 발생합니다. 이 오류는 다른 워크플로가 실행을 시도할 때 영향을 미칠 수 있으므로 오류가 발생하면 즉시 해결하십시오.
영구적인 오류
영구적인 오류는 Flow가 작업을 완료할 수 없고 작업을 재시도할 수 없을 때 발생하는 오류입니다. 예를 들어, 이메일 주소가 유효하지 않아 Flow가 이메일을 보낼 수 없는 경우 작업을 재시도하지 않습니다. 대신 워크플로가 실패합니다.
필드: id가 필요하지만 비어 있습니다
Shopify 작업이 실행되려면 제품, 고객 또는 주문과 같은 하나 이상의 리소스가 필요합니다. 필요한 리소스를 사용할 수 없는 경우 작업이 의도한 대로 실행될 수 없습니다. 예를 들어 Shopify 관리자에서는 고객 없이 주문을 생성할 수 있습니다. 고객 태그 추가와 같은 작업을 실행하면 작업이 실패하고 이 오류가 발생합니다.
이 오류를 방지하려면 작업 전에 조건을 추가하여 리소스가 있는지 확인하십시오. 이전 예에서 고객 태그 추가와 동일한 워크플로에서 내부 이메일을 보내려는 경우 실패할 수 있는 단계 앞에 이메일 작업을 배치하거나 다음 접근 방식 중 하나를 사용할 수 있습니다.
작업을 병렬 분기(한 단계에서 2개 이상의 분기가 나오는 경우)에 배치합니다.

작업 전에 고객이 있는지 확인하는 조건을 추가합니다. 예를 들어 order / customer / id가 비어 있지 않고 존재하는지 확인할 수 있습니다.

Flow에 Google Sheets 계정에 대한 권한이 없습니다. 계정을 다시 연결하십시오.
Google Sheets 커넥터를 사용하려면 시트에 쓸 수 있는 권한을 얻도록 Google 계정을 Flow에 연결해야 합니다. 이 오류는 Flow에서 계정 연결이 해제되었거나 해당 계정이 시트에 액세스할 수 없어 Flow에 시트에 쓸 권한이 없는 경우에 발생할 수 있습니다.
이 문제를 해결하려면 커넥터에 사용되는 계정이 시트를 열 수 있고 편집 액세스 권한이 있는지 확인하십시오. 잘못된 계정이 연결된 경우 연결을 끊고 새 계정을 연결할 수 있습니다.
단계:
- 기존 워크플로를 열거나 새 워크플로를 생성합니다.
- 워크플로에 작업을 추가합니다.
- Google Sheets 커넥터를 선택합니다.
- 연결 끊기를 클릭한 다음 연결을 클릭하여 올바른 Google 계정을 다시 연결합니다.
잘못된 속성으로 Flow 작업을 수신했습니다. 고객이 마케팅에 동의하지 않습니다.
마케팅 이메일 보내기 작업은 수신에 동의하지 않은 고객에게 이메일을 보내지 않으며, 워크플로가 이를 시도하면 영구적으로 실패합니다.
이 문제를 해결하려면 고객의 구독 상태를 확인하는 조건을 워크플로에 추가하십시오. 이메일을 보내기 전에 고객이 마케팅 이메일 수신에 동의했는지 확인할 수 있습니다. 이메일 가입자 목록 관리의 단계를 따르십시오.
[리소스 유형] 리소스가 누락되었습니다
이 오류는 워크플로가 고객 또는 주문과 같은 리소스의 데이터를 가져오기 전에 해당 리소스가 삭제되었음을 나타냅니다. 대부분 대기 단계 후에 발생하지만, 트리거 이벤트가 발생한 직후 리소스가 삭제되는 경우 트리거에서도 발생할 수 있습니다.
오류 발생 시 알림 받기
오류가 스토어 운영에 영향을 미치는 경우, 오류 발생 시 알림을 설정할 수 있습니다. 워크플로 오류 발생 트리거를 사용하면 오류 알림을 워크플로로 생성할 수 있습니다. 오류 알림은 불필요한 알림을 줄이도록 설계되었으므로 워크플로 버전당 알림 1개만 받게 됩니다.
시작하려면 다음 템플릿 중 하나를 사용할 수 있습니다.
실행 재시도
경우에 따라 워크플로 실행 시 오류가 발생하거나 의도한 대로 실행되지 않을 수 있습니다. 관련 워크플로의 문제를 해결하고 수정한 후에는 과거 실행을 수동으로 재시도하여 이전 실행 결과를 소급 적용하여 수정할 수 있습니다. 워크플로 실행 재시도에 대해 자세히 알아보십시오.
실행 중(속도 제한됨)
경우에 따라 워크플로가 너무 많은 리소스를 사용할 수 있으며, 이로 인해 문제가 발생하는 것을 방지하기 위해 Flow는 스토어의 실행을 의도적으로 제한합니다. 이로 인해 지연 및 시간 초과 오류가 발생할 수 있습니다. 이 문제는 일반적으로 의도한 대로 작동하지 않는 버그를 수정하기 위해 비효율적인 워크플로를 다시 작성하여 해결할 수 있습니다.
장시간 실행
이 메시지는 워크플로 실행에 매우 오랜 시간이 걸린다는 것을 의미합니다. 이는 일반적으로 Flow에서 가져오는 데 시간이 오래 걸리는 대량의 데이터를 워크플로 내에서 사용하기 때문에 발생합니다.
이러한 케이스는 여러 품목 목록을 통과하는 깊은 요청 경로로 인해 흔히 발생합니다(예: 제품이 속한 모든 컬렉션의 모든 제품에 대한 모든 메타 필드를 요청하는 경우):

이는 워크플로의 트리거 단계 시간 초과와도 자주 연관됩니다.
모든 메타 필드를 순환하는 워크플로는 특정 메타 필드만 사용하면 개선되는 경우가 많습니다. 여러 중첩 목록(예: 제품의 모든 컬렉션에 있는 모든 제품)이나 특히 규모가 큰 목록(예: 모든 개체에 대한 모든 메타 필드를 포함하는 메타 필드 정의)에 의도치 않게 액세스했을 수 있습니다. 이 경우 올바른 필드(단일 제품 또는 개체의 단일 메타 필드)를 선택하면 효율성을 크게 높일 수 있습니다. 다른 경우에는 쿼리 필터가 포함된 '제품/주문/고객 데이터 가져오기' 작업을 사용하면 사용되는 개체 수를 크게 줄이면서도 관련 개체에는 계속 액세스할 수 있습니다.
과도한 데이터 처리
이 메시지는 워크플로 실행 시 대량의 데이터가 생성되고 있음을 나타냅니다. 이는 주로 여러 계층의 목록에 있는 필드를 확인해야 하는 복잡한 상태로 인해 발생합니다.
예를 들어 “이 고객의 태그 중 하나 이상, 주문 품목 중 하나 이상, 해당 품목의 태그 중 하나 이상에 대해”와 같은 상태는 많은 확인이 수행되고 해당 확인 결과를 표시하기 위해 많은 데이터가 생성되는 결과로 이어질 수 있습니다.

자동 재시도 실패
이 메시지는 일시적인 문제로 인해 워크플로 실행이 반복적으로 실패하고 있으며, 이후 재시도에서도 자주 성공하지 못하고 있음을 나타냅니다. 이는 Shopify의 Admin API 또는 파트너의 앱에서 많은 양의 요청이 발생할 때 자주 발생합니다.