工作流介紹
從 Google 表格匯入多個製造商至 Shopware 6 – 工作流程分析
此 n8n 工作流程範本可自動化從 Google 表格將多個產品製造商匯入 Shopware 6 電子商務平台的流程。它使企業能夠直接從結構化的試算表中有效管理和同步製造商資料,包括名稱、網站、描述、翻譯和標誌圖片,從而減少手動輸入並最大限度地減少錯誤。
工作流程功能
該工作流程會擷取 Google 表格中的製造商資料,將其格式化為與 Shopware 6 同步 API 相容的有效匯入結構,將每個製造商匯入 Shopware,並在提供時有條件地上傳其標誌。它支援國際商店的多語言內容,並確保媒體(標誌)透過 MD5 雜湊的唯一識別碼正確關聯。整個流程由手動觸發,並分批執行以實現可擴展性和可靠性。
主要功能與能力
- 多語言支援:透過動態對應翻譯欄位,處理每個製造商最多三個額外的語言翻譯。
- 媒體處理:自動將製造商標誌上傳至 Shopware,並基於製造商名稱使用一致的媒體 ID 將其連結。
- 更新/插入邏輯:使用 Shopware 的
upsert功能來建立新製造商或更新現有製造商,避免重複。 - 批次處理:使用「分割成批次」節點分批處理製造商,這有助於避免逾時和 API 速率限制。
- 條件執行:僅在匯入步驟中成功建立媒體實體時嘗試上傳標誌。
- 安全驗證:利用 OAuth2 的用戶端認證授權類型,安全存取 Google 表格和 Shopware API。
- 可重複使用的結構:透過修改程式碼節點邏輯,可輕鬆擴展以支援更多語言或額外欄位。
主要節點及其用途
| 節點 | 用途 |
|---|---|
| 點擊「執行工作流程」時 | 手動觸發器,在使用者輸入後啟動工作流程執行。 |
| 設定 | 儲存組態變數,例如 Shopware URL 和預設語言代碼 (de_DE),供其他節點使用。 |
| 從 Google 表格取得製造商 | 讀取包含製造商資料(名稱、網站、描述、標誌 URL 等)的指定 Google 表格中的所有列。 |
| 建立匯入請求主體 | 使用 JavaScript 程式碼將原始表格資料轉換為與 Shopware 6 的 /api/_action/sync 端點相容的結構化 JSON 負載。它包括:<br>– 核心製造商詳細資訊<br>– 多語言翻譯<br>– 使用製造商名稱的 MD5 雜湊生成媒體 ID |
| 迴圈處理製造商 | 將製造商列表分割成個別項目,以便透過批次分割進行依序處理。確保逐一處理以實現可靠的 API 互動。 |
| 匯入製造商 | 透過 POST HTTP 請求將準備好的製造商資料傳送至 Shopware 6 的同步 API。執行更新/插入操作,避免重複。 |
| 如果具有標誌 | 條件檢查,評估 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,以確保跨執行的一致性。 - 建構最終的
manufacturer物件,以供 Shopware 的同步 API 使用。
-
批次處理迴圈
迴圈處理製造商節點將轉換後項目的陣列分割成單一項目的批次,實現依序處理。 -
匯入至 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 呼叫媒體上傳端點。
- 將外部
logo_url作為參數傳遞,讓 Shopware 擷取並儲存圖像。 - 設定動態查詢參數:
extension:從標誌 URL 派生(例如.png、.jpg)fileName:基於製造商名稱
-
完成
所有項目處理完畢且(如果適用)媒體上傳後,工作流程結束。
最終說明
此工作流程例證了 n8n 如何連接 Google 表格和 Shopware 6 等 SaaS 平台,以自動化複雜的業務流程。透過便條紙提供的清晰文件和模組化設計,它既是實用工具,也是開發人員和非開發人員的學習資源。透過遵循包含的 TODO(例如連接帳戶、建立正確的試算表格式以及組態 OAuth2 整合),使用者可以快速在生產環境中部署此自動化。
使用方法:下載 JSON 檔案,然後在 n8n 中選擇「從檔案匯入」。