Darmowy szablon automatyzacji

Synchronizuj klientów Shopify z Arkuszami Google i plikiem csv zgodnym z Squarespace

304
27 dni temu
13
bloków


Opis workflow automatyzacji Shopify do Google Sheets w n8n

Ten workflow pobiera wszystkich klientów z Shopify i zapisuje ich do arkusza Google Sheets, wykorzystując Shopify Admin REST API. Wykorzystuje paginację, aby efektywnie zebrać wszystkich klientów.

Ponieważ n8n nie posiada wbudowanych akcji dla klientów, workflow został zbudowany przy użyciu węzła HTTP Request.

Jak to działa

  • Workflow używa węzła HTTP Request do ręcznego pobierania danych w paginowanych porcjach
  • Shopify wykorzystuje paginację opartą na kursorach (page_info) zamiast tradycyjnych numerów stron
  • Dane paginacji są przechowywane w nagłówkach odpowiedzi, dlatego należy włączyć opcję "Include Response Headers and Status" w węźle HTTP Request
  • Workflow przetwarza dane klientów, zapisuje je do Google Sheets i formatuje zgodny plik CSV do importu do Squarespace Contacts
  • Workflow może być uruchamiany na żądanie lub zaplanowany, aby utrzymywać dane aktualne

Parametry

Możesz dostosować te parametry w węźle HTTP Request:

  • limit - Liczba klientów na żądanie (domyślnie: 50, maksymalnie: 250)
  • fields - Rozdzielana przecinkami lista pól do pobrania
  • page_info - Używane do paginacji; tylko limit i fields są dozwolone podczas paginacji

Uwaga: Podczas wykonywania zapytań o paginowane porcje z page_info, dozwolone są tylko parametry limit i fields.

Wymagane dane uwierzytelniające

  • Klucz API Shopify - Wymagany do uwierzytelnienia
  • Dane uwierzytelniające API Google Sheets - Potrzebne do wstawienia danych do arkusza

Szablon Google Sheets

Skopiuj ten arkusz: Szablon Google Sheets

Zgodnie z dokumentacją Squarespace, Twój arkusz może zawierać do trzech kolumn i musi być ułożony w tej kolejności (bez nagłówka):

  • Adres e-mail
  • Imię (opcjonalne)
  • Nazwisko (opcjonalne)
  • ID klienta Shopify (to pole będzie ignorowane)

Eksport zgodnego pliku CSV dla Squarespace Contacts

Ten workflow generuje również plik CSV, który można zaimportować do Squarespace Contacts.

Jak zaimportować CSV do Squarespace:

  1. Otwórz panel Lists & Segments i kliknij na swoją listę mailingową
  2. Kliknij Add Subscribers, a następnie wybierz Upload a list
  3. Kliknij Add a CSV file i wybierz plik do importu
  4. Przełącz These subscribers accept marketing, aby potwierdzić zgodę
  5. Podgląd listy, a następnie kliknij Import

Dla kogo jest to rozwiązanie?

  • Właściciele sklepów Shopify, którzy potrzebują eksportować wszystkich klientów do Google Sheets
  • Każdy, kto szuka elastycznego i skalowalnego rozwiązania do ekstrakcji klientów Shopify
  • Właściciele stron Squarespace, którzy chcą zbiorczo tworzyć swoje kontakty za pomocą CSV

Przykłady zastosowań

Ta automatyzacja może być wykorzystana w wielu scenariuszach biznesowych i marketingowych. Oto kilka potencjalnych zastosowań:

  • Tworzenie bazy klientów do kampanii marketingowych
  • Synchronizacja danych klientów między Shopify a innymi systemami
  • Automatyczne aktualizowanie list mailingowych w Squarespace
  • Generowanie raportów i analiz na podstawie danych klientów
  • Integracja z systemami CRM
  • Tworzenie spersonalizowanych kampanii e-mailowych
  • Monitorowanie wzrostu bazy klientów w czasie

Zobacz więcej szablonów: Sprawdź moje inne szablony n8n


   Skopiuj kod szablonu   
{"meta":{"instanceId":"e634e668fe1fc93a75c4f2a7fc0dad807ca318b79654157eadb9578496acbc76","templateCredsSetupCompleted":true},"nodes":[{"id":"ff5634c3-349b-4181-a03a-97b310e5232b","name":"When clicking ‘Test workflow’","type":"n8n-nodes-base.manualTrigger","position":[120,60],"parameters":{},"typeVersion":1},{"id":"66e204fb-3e00-45e0-b1b2-341836476b95","name":"Extract page_info ","type":"n8n-nodes-base.code","position":[900,120],"parameters":{"jsCode":"function parseNextParams(headerValue) {n // Match the URL inside <>n const urlMatch = headerValue.match(/<([^>]+)>;\s*rel="next"/);n if (!urlMatch) return null;nn const url = urlMatch[1]; // Extracted URLn const paramsString = url.split("?")[1]; // Get query stringnn if (!paramsString) return {}; // No params foundnn // Convert query string to objectn return paramsString.split("&").reduce((acc, param) => {n const [key, value] = param.split("=");n acc[decodeURIComponent(key)] = decodeURIComponent(value);n return acc;n }, {});n}nn/* Example usagen`; rel="next"`n*/nconst headerValue = $input.first().json.headers.link;nconst params = parseNextParams(headerValue);nreturn params;"},"typeVersion":2},{"id":"5b0086ce-f09b-4d55-86b6-9a14574506ab","name":"Merge Loop items","type":"n8n-nodes-base.code","position":[1120,-100],"parameters":{"jsCode":"let results = [],n i = 0;nndo {n try {n results = results.concat($("Get Customers").all(0, i));n } catch (error) {n return results;n }n i++;n} while (true);"},"typeVersion":2},{"id":"2302257c-51c0-42d7-8745-ecc0b4fc9faf","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[440,-160],"parameters":{"width":232,"height":346,"content":"## Edit this node 👇nnGet your store URL and replace in the GET url: https://{your-store}.myshopify.com/admin/api/2025-01/customers.jsonn"},"typeVersion":1},{"id":"d857962a-6599-44b2-acb0-3eb8165e93ce","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[1560,-440],"parameters":{"width":272,"height":506,"content":"## Clone this spreadsheetnnhttps://docs.google.com/spreadsheets/d/1E8i98hwiFW7XG9HuxIZrOWfuLxGFaDm3EOAGQBZjhfk/edit?usp=sharingnnYour spreadsheet can have up to three columns, and need to be arranged in this order (no header):nnEmail addressnFirst name (optional)nLast name (optional)nShopify Customer ID (will be ignored)"},"typeVersion":1},{"id":"be7cf143-893a-44f8-ace9-8ad581bddb68","name":"Schedule Trigger","type":"n8n-nodes-base.scheduleTrigger","position":[120,-120],"parameters":{"rule":{"interval":[{}]}},"typeVersion":1.2},{"id":"58097363-29ec-4067-a439-717d355df91f","name":"Assign page_info parameter","type":"n8n-nodes-base.set","position":[1120,120],"parameters":{"options":{},"assignments":{"assignments":[{"id":"57e59bb7-ac20-4a1b-b54a-3468fc0519d3","name":"page_info","type":"string","value":"={{ $json.page_info }}"}]}},"typeVersion":3.4},{"id":"0676abce-4405-42a1-87d3-ba75355fe264","name":"Check page_info existence","type":"n8n-nodes-base.if","position":[720,0],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"30d965c3-cbba-430e-81c2-ef8b543665e7","operator":{"type":"string","operation":"notContains"},"leftValue":"={{ $json.headers.link }}","rightValue":"rel="next""}]}},"typeVersion":2.2},{"id":"1cc63979-b2f8-4678-b40b-f3f0ad63d377","name":"Get Customers","type":"n8n-nodes-base.httpRequest","position":[500,0],"parameters":{"url":"https://{your-store}.myshopify.com/admin/api/2025-01/customers.json","options":{"response":{"response":{"fullResponse":true}}},"sendQuery":true,"authentication":"predefinedCredentialType","queryParameters":{"parameters":[{"name":"limit","value":"250"},{"name":"fields","value":"id,email,first_name,last_name"},{"name":"={{ $json.page_info ? "page_info" : "status" }}","value":"={{ $json.page_info ? $json.page_info : 'any' }}"}]},"nodeCredentialType":"shopifyAccessTokenApi"},"credentials":{"shopifyAccessTokenApi":{"id":"vtyKGPLLdjc7MLea","name":"Shopify Access Token account"}},"typeVersion":4.2},{"id":"ce91af42-1634-4773-944a-2b24dcaf812b","name":"List Customers","type":"n8n-nodes-base.splitOut","position":[1380,-100],"parameters":{"options":{},"fieldToSplitOut":"body.customers"},"typeVersion":1},{"id":"19a0f6a7-b86a-43bd-8504-62e3bd37af89","name":"Customers Spreadsheet","type":"n8n-nodes-base.googleSheets","position":[1620,-100],"parameters":{"columns":{"value":{"Last name":"={{ $json.last_name }}","First name":"={{ $json.first_name }}","Email address":"={{ $json.email }}","Shopify Customer ID":"={{ $json.id }}"},"schema":[{"id":"Email address","type":"string","display":true,"removed":false,"required":false,"displayName":"Email address","defaultMatch":false,"canBeUsedToMatch":true},{"id":"First name","type":"string","display":true,"removed":false,"required":false,"displayName":"First name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Last name","type":"string","display":true,"removed":false,"required":false,"displayName":"Last name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Shopify Customer ID","type":"string","display":true,"removed":false,"required":false,"displayName":"Shopify Customer ID","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["Shopify Customer ID"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"appendOrUpdate","sheetName":{"__rl":true,"mode":"list","value":1358690917,"cachedResultUrl":"https://docs.google.com/spreadsheets/d/1yf_RYZGFHpMyOvD3RKGSvIFY2vumvI4474Qm_1t4-jM/edit#gid=1358690917","cachedResultName":"sqs_contacts"},"documentId":{"__rl":true,"mode":"list","value":"1yf_RYZGFHpMyOvD3RKGSvIFY2vumvI4474Qm_1t4-jM","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1yf_RYZGFHpMyOvD3RKGSvIFY2vumvI4474Qm_1t4-jM/edit?usp=drivesdk","cachedResultName":"Squarespace automation"}},"credentials":{"googleSheetsOAuth2Api":{"id":"JgI9maibw5DnBXRP","name":"Google Sheets account"}},"typeVersion":4.5},{"id":"48ec5e3b-9bb5-451c-9495-b03080c9211e","name":"Convert to Squarespace contacts csv","type":"n8n-nodes-base.convertToFile","position":[1920,160],"parameters":{"options":{"headerRow":false}},"typeVersion":1.1},{"id":"8de9174a-af87-4602-a9aa-a5c35a3f0ed4","name":"Extract customers data","type":"n8n-nodes-base.set","position":[1620,160],"parameters":{"options":{},"assignments":{"assignments":[{"id":"27c42d50-df07-46b4-b67a-13a1b64b5145","name":"Email address","type":"string","value":"={{ $json['Email address'] }}"},{"id":"9fd2c3fd-9b03-4562-ad78-9ce30da7bb26","name":"First name","type":"string","value":"={{ $json['First name'] }}"},{"id":"f51b7da6-0065-41ea-b04c-420058ce3b9c","name":"Last name","type":"string","value":"={{ $json['Last name'] }}"}]}},"typeVersion":3.4}],"pinData":{},"connections":{"Get Customers":{"main":[[{"node":"Check page_info existence","type":"main","index":0}]]},"List Customers":{"main":[[{"node":"Customers Spreadsheet","type":"main","index":0},{"node":"Extract customers data","type":"main","index":0}]]},"Merge Loop items":{"main":[[{"node":"List Customers","type":"main","index":0}]]},"Schedule Trigger":{"main":[[{"node":"Get Customers","type":"main","index":0}]]},"Extract page_info ":{"main":[[{"node":"Assign page_info parameter","type":"main","index":0}]]},"Customers Spreadsheet":{"main":[[]]},"Extract customers data":{"main":[[{"node":"Convert to Squarespace contacts csv","type":"main","index":0}]]},"Check page_info existence":{"main":[[{"node":"Merge Loop items","type":"main","index":0}],[{"node":"Extract page_info ","type":"main","index":0}]]},"Assign page_info parameter":{"main":[[{"node":"Get Customers","type":"main","index":0}]]},"When clicking ‘Test workflow’":{"main":[[{"node":"Get Customers","type":"main","index":0}]]},"Convert to Squarespace contacts csv":{"main":[[]]}}}
  • CSV
  • Sheet
  • Spreadsheet
  • GS
  • API
  • Request
  • URL
  • Build
  • cURL
  • cpde
  • Javascript
  • JS
  • Python
  • Script
  • Custom Code
  • Function
Planeta AI 2025 
magic-wandmenu linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram