# Shopify + Brew

Spouštěj automatizace v Brew pomocí událostí zákazníků, objednávek, pokladny a vyřízení objednávek ze Shopify. Postavíš na nich sekvence pro uvítání, potvrzení objednávky, opuštěnou pokladnu i odeslání zásilky.

Kanonická URL: https://brew.new/cs/browse/integrations/shopify

- Směr: Příchozí data
- Připojení: Tajemství webhooku
- Spouštěče e-commerce událostí

## Dostupné funkce

- **Spouštěče událostí**: Spouštěj automatizace v Brew pomocí událostí zákazníků, objednávek, pokladny a vyřízení objednávek ze Shopify. Postavíš na nich sekvence pro uvítání, potvrzení objednávky, opuštěnou pokladnu i odeslání zásilky.

## Udělej z událostí e-shopu užitečné e-maily

Připoj Shopify a spouštěj e-maily v duchu značky, když se zaregistruje zákazník, zaplatí se objednávka, vytvoří se pokladna nebo se odešle zásilka. Brew podporuje 13 typů událostí webhooků Shopify napříč zákazníky, objednávkami, pokladnami a vyřízením objednávek.

Nastavení využívá webhooky, které vytvoříš v Shopify Admin. Aplikaci Shopify, client ID ani OAuth nepotřebuješ. Objednávky, platby a vyřizování objednávek má dál na starosti Shopify. Brew e-maily vytváří a posílá.


## Co můžeš vytvořit

- Uvítací e-maily pro zákazníky: událost customers/create nastane, když se v Shopify vytvoří záznam zákazníka.
- Potvrzení objednávek a účtenky: událost orders/create nastane, když zákazník odešle objednávku, a orders/paid, když je platba stržena. Obě obsahují pole orderNumber, totalPrice, currency a financialStatus. Pro každou zprávu vyber jen jednu z nich, aby nic neodešlo dvakrát.
- Oznámení o zrušení: událost orders/cancelled nastane, když je objednávka zrušena, a obsahuje číslo objednávky a stav platby.
- Oznámení o odeslání: událost fulfillments/create obsahuje pole trackingNumber a trackingUrl, pokud je vyřízení objednávky má. Při odeslání objednávky nastane i událost orders/fulfilled, ta ale pole pro sledování zásilky nemá, takže pro každý e-mail o odeslání vyber jen jeden spouštěč.
- Navazující e-maily k vyřízení objednávky: událost fulfillments/update nastane, když se vyřízení objednávky změní. Pole fulfillmentStatus udává stav zpracování zásilky, například pending, success nebo failure, a není potvrzením doručení. Pro poděkování po doručení nebo žádost o recenzi spusť vlastní událost Brew, až když tvoje aplikace doručení potvrdí.
- Připomínky opuštěné pokladny: událost checkouts/create nastane, když se vytvoří pokladna, a může obsahovat abandonedCheckoutUrl, tedy odkaz, přes který se dá v nákupu pokračovat.
- Slaď e-maily se zákaznickými oznámeními Shopify, aby zákazník nedostal stejnou zprávu z obou stran.

## Připomínky opuštěné pokladny potřebují kontrolu stavu

Událost checkouts/create nastane, když se pokladna vytvoří, ne když ji zákazník opustí. Sekvence s připomínkou proto začíná tady a čeká. Odeslání objednávky už spuštěný běh nezastaví.

Po kroku Čekání čte podmínka aktuální pole kontaktu, například shopify_last_order_status a shopify_last_order_at. Ta ale popisují nejnovější objednávku, kterou Brew zachytil, ne tuto konkrétní pokladnu, takže nedokážou potvrdit, že se z ní stala objednávka.

Událost checkouts/update nastane při každé změně pokladny, ne po pevně dané době, takže sama o sobě jako načasovaná druhá připomínka nefunguje.

Pokladna bez e-mailové adresy žádnou automatizaci nespustí, pokud Brew už dřív nezachytil e-mail pro stejné ID zákazníka v Shopify. Před publikováním otestuj pokladnu, ze které se stane objednávka, i takovou, ze které ne.


## Nastavení Shopify v Brew

- Otevři Integrace, vyber Shopify a klikni na Vygenerovat URL webhooku.
- Zadej svou doménu myshopify.com, například acme.myshopify.com, ne vlastní doménu svého e-shopu. Brew ji u každého webhooku porovnává s hlavičkou X-Shopify-Shop-Domain.
- V Shopify Admin otevři Settings > Notifications a sjeď dolů k sekci Webhooks. Shopify posílá každý typ události jen webhooku, který je pro něj vytvořený, takže vytvoř jeden webhook pro každou událost, kterou chceš používat. Format nastav na JSON, vlož URL z Brew a vyber nejnovější verzi API.
- Ve spodní části sekce Webhooks zkopíruj podpisové tajemství. Stejné tajemství podepisuje všechny webhooky e-shopu. Vlož ho do Brew a klikni na Připojit.
- U každého vytvořeného webhooku otevři nabídku a klikni na „Send test“. První test přepne stav v Brew z „Čeká na testovací událost“ na „Připojeno“ a každý test označí svou událost jako přijatou. Test webhook jen ověří. Brew nepřidá žádný kontakt a nespustí žádnou automatizaci.
- Po kliknutí na Připojit vzniknou spouštěče pro všech 13 typů událostí. Jednotlivé události nejde zapnout ani vypnout, ale typ události bez webhooku v Shopify nikdy nenastane.
- Vytvoř automatizaci, vyber pro ni událost ze Shopify a pošli test, dokud je to ještě koncept. Když dorazí odpovídající událost, spustí se jen aktivní automatizace.

## Podporované události Shopify

Brew podporuje těchto 13 typů událostí webhooků:

- customers/create
- customers/update
- customers/delete
- customers/enable
- customers/disable
- orders/create
- orders/paid
- orders/cancelled
- orders/fulfilled
- checkouts/create
- checkouts/update
- fulfillments/create
- fulfillments/update

## Synchronizace kontaktů a personalizace

Každá ověřená událost se skutečnou e-mailovou adresou vytvoří nebo aktualizuje kontakt v Brew s touto adresou, a to bez ohledu na to, jestli událost používá nějaká automatizace. Pokud jsou data k dispozici, Brew nastaví jméno, příjmení, shopify_customer_id a shopify_shop_domain.

Události objednávek aktualizují shopify_last_order_number, shopify_last_order_total, shopify_last_order_currency a shopify_last_order_at. Události orders/create, orders/paid a orders/cancelled navíc nastaví shopify_last_order_status a orders/fulfilled nastaví shopify_last_fulfillment_status. Události vyřízení objednávek aktualizují shopify_last_tracking_number, shopify_last_tracking_url a shopify_last_fulfillment_status. Události pokladny aktualizují shopify_last_checkout_url.

Události customers/delete, customers/disable a customers/enable nastaví shopify_account_status na deleted, disabled nebo active. Brew kontakt neodstraní ani neodhlásí, takže tam, kde na tom záleží, podle tohoto pole filtruj.

Pro proměnné vycházej z deklarovaného schématu payloadu vybrané události. Každá událost obsahuje pole email, firstName, lastName, currency, shopDomain a createdAt, pokud jsou k dispozici. Události objednávek přidávají orderNumber, totalPrice, financialStatus a fulfillmentStatus. Události pokladny přidávají totalPrice a abandonedCheckoutUrl. Události vyřízení objednávek přidávají trackingNumber, trackingUrl a fulfillmentStatus.

Pole totalPrice je částka, kterou Shopify posílá v měně objednávky, například 49.95, ne v centech. Payloady neobsahují položky objednávky a ID objektů Shopify nejsou proměnné.

Zákaznické webhooky Shopify už souhlas s marketingem neobsahují, takže ho Brew nedostane. Souhlas zaznamenej zvlášť a před propagačními rozesílkami ho ověř.


## Podporuje Brew refundace a události košíku?

Ne. Shopify nemá typ události orders/refunded a jeho webhook pro refundace neobsahuje zákazníka. Událost carts/update nenese identitu příjemce, takže z ní Brew nemůže bezpečně posílat. Webhooky pro tyto typy událostí nepřidávej.


## Proč se událost zobrazí, ale e-mail neodejde?

Přijetí události a odeslání e-mailu jsou samostatné kroky. Ověř, že odpovídající automatizace je aktivní, a pak projdi její filtry a historii běhů a zkontroluj, jestli má příjemce na e-mail nárok a jak je na tom odesílací doména. Doručení přes „Send test“ se zobrazí jako testovací událost a nikdy nespustí žádnou automatizaci. Událost bez e-mailové adresy od neznámého zákazníka se zaznamená s nedohledaným příjemcem.


## Omezení a řešení potíží

- Brew nemůže měnit zákazníky, objednávky ani vyřízení objednávek v Shopify.
- Chyba 401 s kódem shop_domain_mismatch znamená, že doména zadaná v Brew neodpovídá e-shopu, který webhook posílá. Připoj Shopify znovu s kanonickou doménou myshopify.com.
- Pokud podpisové tajemství v Shopify obměníš, připoj Shopify znovu s novou hodnotou. Brew vyžaduje, aby tajemství mělo alespoň 16 znaků.
- Pokud spouštěč ukazuje „Zatím žádné události“, vytvoř v Shopify webhook pro daný typ události a pošli z něj test.
- Webhooky objednávek nemusí obsahovat jméno zákazníka. Pro firstName nastav záložní hodnotu proměnné, například výchozí oslovení.
- U každého e-mailu zkontroluj souhlas a účel. Synchronizace zákazníků ze Shopify tě neopravňuje k propagačním rozesílkám.

## Zdroje a návody k nastavení

- [Návod k nastavení Shopify](https://docs.brew.new/integrations/import/shopify)
- [Vytvoř automatizaci](https://docs.brew.new/create-emails/build-an-automation)
- [Proměnné](https://docs.brew.new/create-emails/merge-tags)
- [Co můžeš posílat přes Brew](https://docs.brew.new/get-started/what-you-can-send)
- [Webhooky Shopify](https://shopify.dev/docs/apps/build/webhooks)

## Související

- [Všechny integrace](https://brew.new/cs/browse/integrations.md)
- [Registrace](https://brew.new/cs/sign-up.md)
- Web: https://brew.new
