워크플로 소개
Google Sheets에서 Shopware 6로 여러 제조사 가져오기 – 워크플로우 분석
이 n8n 워크플로우 템플릿은 Google 스프레드시트에서 Shopware 6 전자상거래 플랫폼으로 여러 제품 제조사를 가져오는 프로세스를 자동화합니다. 이를 통해 기업은 이름, 웹사이트, 설명, 번역 및 로고 이미지를 포함한 제조사 데이터를 구조화된 스프레드시트에서 직접 효율적으로 관리하고 동기화하여 수동 입력을 줄이고 오류를 최소화할 수 있습니다.
워크플로우 기능
이 워크플로우는 Google 스프레드시트에서 제조사 데이터를 검색하고, Shopware 6의 동기화 API와 호환되는 유효한 가져오기 구조로 형식을 지정하고, 각 제조사를 Shopware로 가져오고, 제공된 경우 조건부로 로고를 업로드합니다. 국제 상점을 위한 다국어 콘텐츠를 지원하며 MD5 해싱을 사용하여 고유 식별자를 통해 미디어(로고)가 올바르게 연결되도록 합니다. 전체 프로세스는 수동으로 트리거되며 확장성과 안정성을 위해 배치로 실행됩니다.
주요 기능 및 역량
- 다국어 지원: 동적으로 번역 필드를 매핑하여 제조사당 최대 세 개의 추가 언어 번역을 처리합니다.
- 미디어 처리: 제조사 로고를 Shopware로 자동 업로드하고 제조사 이름을 기반으로 일관된 미디어 ID를 사용하여 연결합니다.
- Upsert 로직: Shopware의
upsert기능을 사용하여 중복 없이 새 제조사를 생성하거나 기존 제조사를 업데이트합니다. - 배치 처리: 배치 분할 노드를 사용하여 제조사를 배치로 처리하여 시간 초과 및 API 속도 제한을 방지합니다.
- 조건부 실행: 가져오기 단계에서 미디어 엔티티가 성공적으로 생성된 경우에만 로고 업로드를 시도합니다.
- 보안 인증: Google 스프레드시트 및 Shopware API 모두에 대한 안전한 액세스를 위해 OAuth2와 클라이언트 자격 증명 부여 유형을 활용합니다.
- 재사용 가능한 구조: 코드 노드 로직을 수정하여 더 많은 언어나 추가 필드에 대해 쉽게 확장할 수 있습니다.
주요 노드 및 목적
| 노드 | 목적 |
|---|---|
| "워크플로우 실행" 클릭 시 | 사용자 입력 시 워크플로우 실행을 시작하는 수동 트리거입니다. |
| 설정 | Shopware URL 및 기본 언어 코드(de_DE)와 같은 구성 변수를 저장하여 다른 노드에서 사용할 수 있도록 합니다. |
| Google 스프레드시트에서 제조사 가져오기 | 제조사 데이터(이름, 웹사이트, 설명, 로고 URL 등)가 포함된 지정된 Google 스프레드시트에서 모든 행을 읽습니다. |
| 가져오기 요청 본문 생성 | JavaScript 코드를 사용하여 원시 스프레드시트 데이터를 Shopware 6의 /api/_action/sync 엔드포인트와 호환되는 구조화된 JSON 페이로드로 변환합니다. 다음을 포함합니다:<br>– 핵심 제조사 세부 정보<br>– 여러 언어에 대한 번역<br>– 제조사 이름의 MD5 해싱을 사용한 미디어 ID 생성 |
| 제조사 반복 | 배치 분할을 사용하여 순차 처리를 위해 제조사 목록을 개별 항목으로 분할합니다. 안정적인 API 상호 작용을 위해 일대일 처리를 보장합니다. |
| 제조사 가져오기 | 준비된 제조사 데이터를 동기화 API에 대한 HTTP POST 요청을 통해 Shopware 6로 보냅니다. 중복이 방지되도록 upsert 작업을 수행합니다. |
| 로고가 있는 경우 | Shopware의 응답에 미디어 엔티티가 포함되어 있는지(로고를 업로드해야 함을 나타냄) 평가하는 조건부 확인입니다. |
| 제조사 로고 업로드 | 로고 URL이 존재하는 경우에만 실행됩니다. 외부 URL의 이미지를 Shopware의 미디어 업로드 엔드포인트로 직접 보내 올바른 파일 확장명과 이름을 설정합니다. |
| 고정 메모 | 사용자를 위한 인라인 문서 및 설정 지침을 제공합니다(예: 자격 증명 구성, Google 스프레드시트 준비). |
사용 사례 및 이점
사용 사례:
- B2B 또는 B2C 온라인 스토어에 새 브랜드를 온보딩합니다.
- 다국어 상점에서 업데이트된 제조사 정보(현지화된 콘텐츠 포함)를 동기화합니다.
- 생성 중에 브랜드 로고를 연결하여 디지털 자산 관리를 자동화합니다.
- 레거시 제품 데이터를 스프레드시트에서 최신 전자상거래 시스템으로 마이그레이션합니다.
이점:
- 시간 절약: Shopware 백엔드에서 수많은 수동 데이터 입력을 제거합니다.
- 정확성: 자동화된 구문 분석 및 유효성 검사를 통해 인간 오류를 줄입니다.
- 확장성: 대량 작업을 지원하며 배치 처리를 통해 수백 개의 항목을 처리할 수 있습니다.
- 현지화 준비 완료: 이름 및 설명 번역을 위한 내장 지원은 글로벌 시장 준비 상태를 향상시킵니다.
- 확장성: 유사한 패턴을 사용하여 제품, 카테고리 또는 공급업체를 가져오도록 조정할 수 있습니다.
단계별 워크플로우 로직
-
워크플로우 시작
사용자가 "워크플로우 실행"을 클릭하여 수동으로 워크플로우를 트리거합니다. -
구성 설정
설정 노드는 필수 환경 변수를 설정합니다.shopware_url: Shopware 인스턴스의 기본 URLdefault_language_code: 기본 로케일(예:de_DE)
-
Google 스프레드시트에서 데이터 가져오기
Google 스프레드시트에서 제조사 가져오기 노드는 미리 정의된 스프레드시트에서 모든 행을 가져옵니다. 각 행은 다음과 같은 열을 가진 제조사를 나타냅니다.name(필수, 고유)websitedescriptionlogo_url- 선택적 번역 필드:
translation_language_code_1,translation_name_1등
-
코드를 사용하여 데이터 변환
가져오기 요청 본문 생성 노드는 각 항목을 처리합니다.- 핵심 필드 및 선택적 번역을 추출합니다.
- 언어 코드를 키로 하는 중첩된
translations객체를 빌드합니다. md5("media-" + name)를 사용하여 결정론적 미디어 ID를 생성하여 실행 간 일관성을 보장합니다.- Shopware의 동기화 API에 대해 구조화된 최종
manufacturer객체를 구성합니다.
-
배치 처리 루프
제조사 반복 노드는 변환된 항목 배열을 단일 항목 배치로 분할하여 순차 처리를 가능하게 합니다. -
Shopware로 가져오기
각 배치에 대해:- 제조사 가져오기 노드는
https://your-shopware-url.com/api/_action/sync에 POST 요청을 보냅니다. - 전체 페이로드와 함께
import-manufacturer매개변수를 포함합니다. - "SW6 Demo" 자격 증명 아래 구성된 OAuth2 인증을 사용합니다.
- 제조사 가져오기 노드는
-
조건부 로고 업로드 확인
가져오기 후 로고가 있는 경우 노드는 API 응답에 미디어 엔티티가 포함되어 있는지 확인합니다.- 확인 경로:
$json.data['import-manufacturer'].result[0].entities.media - 존재하는 경우 업로드로 진행하고, 그렇지 않으면 건너뜁니다.
- 확인 경로:
-
Shopware로 로고 업로드
제조사 로고 업로드 노드는:- 가져오기에서 반환된 미디어 ID와 함께 미디어 업로드 엔드포인트를 호출합니다.
- Shopware가 이미지를 가져와 저장하도록 외부
logo_url을 매개변수로 전달합니다. - 동적 쿼리 매개변수를 설정합니다.
extension: 로고 URL에서 파생됨(예:.png,.jpg)fileName: 제조사 이름을 기반으로 함
-
완료
모든 항목이 처리되고(해당하는 경우) 미디어가 업로드되면 워크플로우가 종료됩니다.
최종 참고 사항
이 워크플로우는 n8n이 Google 스프레드시트와 Shopware 6와 같은 SaaS 플랫폼을 연결하여 복잡한 비즈니스 프로세스를 자동화하는 방법을 보여줍니다. 고정 메모를 통한 명확한 문서화와 모듈식 설계를 통해 실용적인 도구이자 개발자와 비개발자 모두를 위한 학습 리소스 역할을 합니다. 포함된 TODO(계정 연결, 올바른 스프레드시트 형식 생성, OAuth2 통합 구성 등)를 따르면 사용자는 이 자동화를 프로덕션 환경에 신속하게 배포할 수 있습니다.
사용 방법: JSON을 다운로드한 뒤 n8n에서 “파일에서 가져오기”를 선택하세요.