Powiadomienia o zamówieniach Shopify docierające na telefon w kilka sekund

Wyślij webhooki Shopify prosto na telefon: ciche powiadomienie o każdym zamówieniu, głośniejsze o dużym koszyku i połączenie, gdy zwrot albo anulowanie potrzebuje ciebie.

Aktualizacja

Spis treści

Maile o zamówieniach od Shopify przychodzą wtedy, gdy twojej aplikacji pocztowej zachce się zsynchronizować, lądują w folderze, który odfiltrowałeś, i wyglądają identycznie, czy zamówienie było na 12 €, czy na 1200 €. Jeśli prowadzisz sklep sam, to zły kształt sygnału.

Webhook to naprawia. Shopify wyśle każde zamówienie POST-em na wybrany przez ciebie adres, a Echobell zamieni ten POST w powiadomienie, którego głośność ustalasz ty.

Wybierz topiki, które zasługują, by ci przerwać

Shopify nazywa typy zdarzeń webhooków topikami. Te cztery wystarczą większości jednoosobowych sklepów:

TopikCo oznaczaPilność
orders/createZłożono zamówienie.Zwykła
orders/paidPłatność przeszła. Użyj tego, jeśli liczy się tylko pieniądz, który naprawdę dotarł.Zwykła
orders/cancelledKlient anulował. Warto wiedzieć, zanim spakujesz.Czasowo krytyczna
refunds/createWystawiono zwrot.Czasowo krytyczna

Subskrybuj orders/create albo orders/paid, nie oba — chyba że naprawdę chcesz dwa powiadomienia na sprzedaż. Dla większości sklepów uczciwszy jest orders/paid.

Krok 1 — Utwórz kanał

Utwórz w Echobell kanał o nazwie w rodzaju „Zamówienia Shopify", skopiuj jego adres webhooka i włącz Tylko POST. Shopify zawsze wysyła POST-em.

Jeśli chcesz osobny, głośniejszy kanał na anulowania i zwroty, utwórz go teraz i ustaw jako czasowo krytyczny.

Krok 2 — Dodaj webhooka w Shopify

W panelu Shopify przejdź do Ustawienia → Powiadomienia → Webhooki → Utwórz webhooka. Wybierz topik, ustaw format na JSON i wklej adres swojego kanału.

Przy zapisie Shopify wysyła testowy payload. Jeśli telefon zawibruje, droga działa.

Krok 3 — Do szablonu tylko te pola, które naprawdę czytasz

Payloady zamówień Shopify są długie — ponad sto pól na zamówienie. Potrzebujesz tylko kilku:

Tytuł

Nowe zamówienie #{{order_number}} · {{total_price}} {{currency}}

Treść

{{customer.first_name}} {{customer.last_name}}
{{line_items[0].title}}

line_items to tablica, więc line_items[0] to pierwsza pozycja. Szablony Echobell obsługują dostęp przez indeks, ale nie ma pętli: zamówienie na trzy pozycje pokaże pierwszą i nic więcej. Jeśli to istotne, dopisz obok liczbę:

{{line_items[0].title}} · łącznie {{line_items.length}} pozycji

W przeciwieństwie do Stripe Shopify wysyła total_price jako łańcuch dziesiętny — "49.00", nie 4900 — więc czyta się poprawnie bez żadnej matematyki.

Krok 4 — Routing po topiku za pomocą warunku

Jeśli skierujesz kilka topików na jeden kanał, Shopify powie w nagłówku, który to:

header["x-shopify-topic"] == "orders/paid"

To najczystszy sposób rozdzielenia zachowań bez tworzenia webhooka na kanał w panelu.

Budź mnie tylko przy dużych zamówieniach

Schemat, którego naprawdę chce większość właścicieli sklepów: wszystkie zamówienia idą na cichy kanał, a tylko te powyżej progu na głośny.

Utwórz drugi kanał, ustaw go jako czasowo krytyczny, skieruj na niego kolejnego webhooka orders/paid i nadaj mu warunek:

total_price > 500

Teraz zwykły dzień to szum w tle, a zamówienie za 900 € to coś, co czujesz.

Czego to nie robi

Brak weryfikacji HMAC. Shopify podpisuje każdego webhooka nagłówkiem X-Shopify-Hmac-Sha256. Echobell go nie weryfikuje, więc adres twojego kanału to jedyna rzecz trzymająca obcych z dala. Trzymaj go w tajemnicy, zostaw włączone Tylko POST, a jeśli sfałszowane powiadomienie o zamówieniu wyrządziłoby realną szkodę, postaw z przodu własny endpoint, który zweryfikuje HMAC i dopiero wywoła Echobell.

Shopify może dostarczyć tego samego webhooka dwa razy. Ponawia przy niepowodzeniu, a ponowienia nie są deduplikowane. Traktuj powiadomienie jako zachętę do zajrzenia w zamówienie, nie jako licznik zamówień. Źródłem prawdy jest twój panel Shopify.

Topiki magazynowe szybko robią się hałaśliwe. inventory_levels/update odpala przy każdym ruchu stanu, łącznie z twoimi własnymi edycjami. Jeśli chcesz alertów o niskim stanie, filtruj ostro, bo inaczej pożałujesz przed obiadem.

Najczęstsze pytania

Czy potrzebuję do tego aplikacji Shopify?

Nie. Webhooki w Ustawienia → Powiadomienia są wbudowane w panel i nie wymagają aplikacji, konta partnerskiego ani kodu.

Czy magazyn może widzieć zamówienia, nie widząc mojego panelu Shopify?

Tak. Udostępnij im kanał. Dostają powiadomienia i nic więcej — bez dostępu do panelu i bez danych klientów poza tym, co zawiera twój szablon.

Czy powinienem umieszczać nazwiska klientów w powiadomieniu?

To twoja decyzja i warto podjąć ją świadomie. Wszystko, co jest w szablonie, pojawia się na zablokowanym ekranie. Numer zamówienia i kwota zwykle wystarczą, żeby zadziałać.

Czy dostanę telefon przy chargebacku?

Spory w Shopify Payments przychodzą topikiem disputes/create w sklepach korzystających z Shopify Payments. Skieruj go na kanał połączeniowy — to jedyne zdarzenie zamówieniowe z terminem.

Podsumowanie

Jeden webhook, jeden szablon i warunek, jeśli chcesz wersję głośną. Zajmuje jakieś pięć minut i zastępuje odświeżanie strony zamówień.

Pobierz Echobell na iPhone'a albo weź go z Google Play, a potem złóż testowe zamówienie i zobacz, jak dociera przed mailem potwierdzającym.


Powiązane treści