Jak korzystać z platform Headless Commerce w kampaniach marketingowych?
Opublikowany: 2022-04-18Czym są bezgłowe platformy handlowe?
Bezgłowe platformy e-commerce lub platformy oparte na API - oprogramowanie, w którym frontend (lub „głowa”) został oddzielony lub całkowicie usunięty, pozostawiając tylko backend.
Koncepcja architektoniczna leżąca u podstaw tych platform rozpoczęła się od świata CMS. Oddzielając warstwy, biznes chciał walczyć z przeszkodami na drodze do szybszego dostarczania treści w coraz nowszych kanałach marketingowych – ze smartfonem grającym pierwsze skrzypce.
W przypadku tradycyjnego oprogramowania CMS, problemy niskiego poziomu, z jakimi borykali się programiści:
- projekt jest ograniczony przez starsze struktury, dostępny jest tylko predefiniowany zestaw doświadczeń;
- niewielka zmiana front-endu może wymagać zmian w bazie danych i kodzie back-endu, zwiększając czas testowania, a co za tym idzie całkowity koszt zadania;
- zmiany w kodzie zaplecza mogą powodować nieoczekiwane błędy w interfejsie;
nagromadziły się i przełożyły się z biegiem czasu na hamulec ręczny dla biznesu:
- mało miejsca lub brak miejsca na personalizację;
- zamieszanie i wzajemne niezrozumienie, dlaczego drobne zmiany w oprogramowaniu trwają wieki;
- niewykorzystane nowe kanały marketingowe lub ominięte oprogramowanie o niskim priorytecie, które pojawia się za późno.
W rezultacie rozkwitły „API-first”, „API-based” lub „headless CMS”. Ale wkrótce rozszerzyło się to na inne obszary cyfrowe, w tym e-commerce i marketing.
Jeśli po raz pierwszy spotykasz się z platformami bezgłowymi, mój ostatni artykuł może Cię zainteresować: Zrozumienie platform opartych na interfejsach API. Ponadto Paul w swoim Wstępie do handlu elektronicznego bez głowy pokazuje kilka rzeczywistych przykładów aplikacji zbudowanych za pomocą narzędzi opartych na interfejsie API.
Platformy bezgłowe – od pomysłu do gotowego do produkcji POC w 1 dzień
Sprawdźmy, czy naprawdę możemy tak szybko zbudować elastyczne oprogramowanie. Zamierzamy odtworzyć strategię marketingową stosowaną obecnie przez najlepsze marki. Krótko mówiąc:
- Geolokalizuj klientów.
- Przypisz do nich spersonalizowany kupon rabatowy.
- Dostarcz unikalny kod kuponu z powiadomieniem push.

Nietrudno sobie wyobrazić, że firmy takie jak Uber musiały zainwestować w to oprogramowanie kilkanaście osobo-miesięcy programistów, a nawet więcej.
To, co mogłoby wyglądać na najprostsze zadanie – przypisanie losowego kodu rabatowego – jest obarczone zastrzeżeniami. Nauczyłem się tego na własnej skórze, ponieważ nasz zespół pracuje nad tym już od 3 lat. Liczba nowych spraw narożnych rośnie i koszty zarządzania mogą spalić nawet coś, co wygląda na prosty system.
Na szczęście platformy bezgłowe są tutaj, aby nam pomóc.
Aby stworzyć działające rozwiązanie, użyjemy trzech przyjaznych dla programistów platform SaaS:
- Radar - API geolokalizacji
- Voucherify - API do zarządzania promocjami
- Braze - API powiadomień
Zobaczmy, jak możemy je połączyć, aby zadziwić Twoich klientów prawdziwie spersonalizowanymi promocjami dostarczanymi poprzez podejście bezgłowe.
Uwaga: poniższe rozwiązanie zakłada, że masz aktywne konto na Radar, Voucherify i Braze. Ponadto wszystkie z nich powinny być wypełnione bazą danych klientów, w tym polem, które może służyć do jednoznacznej identyfikacji osoby.
Wykrywanie momentu, w którym klient wchodzi do Twojego lokalu za pomocą Radara - bezgłowa geolokalizacja
Koncepcja radaru jest prosta. Platforma geolokalizuje aplikacje przy użyciu 3 typów kontekstów:
- Geofence – Radar szczyci się tym, że jest potężniejszy niż natywne geofencing dla systemu iOS lub Android, dzięki wieloplatformowej obsłudze nieograniczonej geofence, geofence wielokąta i wykrywania zatrzymania. Dzieje się tak, ponieważ wszystkie geofencing i generowanie zdarzeń odbywają się po stronie serwera.
- Miejsca - Radar potrafi rozpoznać obszerną listę miejsc, ponieważ korzysta z bazy danych Facebooka. A najfajniejsze w tym jest to, że możesz pracować z wbudowanymi kategoriami (np. główne lotniska) lub sieciami (np. Starbucks).
- Wgląd — ich silnik lokalizacji może również nauczyć się przybliżać, jak użytkownik wchodzi/wychodzi z domu i biura.
Gdy Radar wykryje, że użytkownik odwiedza lub opuszcza dane miejsce, umożliwia powiadomienie aplikacji za pomocą webhooka.
Jedyne, co musisz zrobić jako programista, to użyć jednego z pakietów programistycznych (iOS, Android, Web) do uwierzytelnienia, konfiguracji i dostrojenia opcji śledzenia - np. jeśli chcesz śledzić w tle lub na pierwszym planie.
Zobaczmy więc bezgłową platformę Radar w akcji!
1. Skonfiguruj swoje konto
Przejdź do radar.io i załóż konto, a następnie użyj testowych kluczy API, aby zainicjować widżet Radar, jak pokazano poniżej:
{{KOD}}
<script src="https://js.radar.io/v1.0.0/radar.min.js"integrity="sha384-TFQktvQ2F2ST3MCcepqaOHqwc36jDy7r/gAj7dOvU6VXtJ4m4Dj2hByxZ59d4MjK" crossorigin=">script=">
<script type="text/javascript">
Radar.initialize("TWÓJ_KLUCZ");
</script>{{ENDCODE}}
2. Śledź użytkowników
Ostatnim krokiem jest sprawdzenie, czy śledzenie działa. W tym celu użyjemy metody trackOnce , która jest wywoływana, gdy Radar wykryje jakiekolwiek zmiany lokalizacji.
Uruchommy kod i zobaczmy, jakie informacje dostarcza Radar (pamiętaj, aby umożliwić śledzenie lokalizacji w przeglądarce):
{{KOD}}
Radar.trackOnce(function(status, lokalizacja, użytkownik, zdarzenia) { console.log({ stan, lokalizacja, użytkownik, zdarzenia });});
{{KOD ZAKOŃCZENIA}}
Wyjście:
{{KOD}}
wydarzenia: [] (0)
lokalizacja: Współrzędne {szerokość: 50.254624799999998, długość geograficzna: 19.061743829999994, wysokość: zero, dokładność: 165, wysokośćDokładność: zero, …}
status: "SUKCES"
user: {userAgent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) Ap… (KHTML, jak Gecko) Wersja/12.1 Safari/605.1.15", ip: "93.179.216.18", locationAccuracy: 165, deviceType: "Sieć", zatrzymany: prawda, …}
{{KOD ZAKOŃCZENIA}}
OK - Radar znalazł naszą kryjówkę. Ale bez kontekstu nie wie, co zrobić z tymi informacjami. Popracujmy nad danymi wywiadowczymi Radara.
Podamy nazwę miejsca, z którego się zameldowałeś – ogólnie (także w Radarze) ten kontekst lokalizacji nazywa się geofence. Oto jak to zrobić:
- Przejdź do kreatora geofence.
- Wybierz odpowiedni typ źródła, przejdę do Place i wpiszę moją firmę jako zapytanie.
- W rezultacie Radar wyszukuje współrzędne geograficzne i sugeruje granicę geofence.

- Jeśli lokalizacja działa dla Ciebie, potwierdź strefę geofence za pomocą CREATE.
Teraz odświeżmy stronę i obejrzyjmy konsolę. Radar przesyła nam teraz kilka zdarzeń :
{{KOD}}
{
"createdAt":"2019-04-16T16:08:49.645Z",
"na żywo": fałsz,
"type":"user.entered_geofence",
"Lokalizacja":{
"współrzędne":[
19.062212,
50.254927099999996
],
"type":"Punkt"
},
"Dokładność lokalizacji":20,
„zaufanie”:3,
"actualCreatedAt":"2019-04-16T16:08:49.645Z",
"użytkownik":{
"_id":"5cb5f2ba36581b002a3534ca",
"userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/537.36 (KHTML, jak Gecko) Chrome/73.0.3683.103 Safari/537.36",
"deviceId":"a96ec0db-969c-4a77-996c-361a0530660a"
},
"geofence":{
"_id":"5cb5f7d3a60e95002b009ebd",
"opis":"z perspektywy",
"type":"koło",
"promień geometrii":100,
"geometryCenter":{
"type":"Punkt",
"współrzędne":[
19.062346299999945,
50,25495069999999
]
}
},
"_id":"5cb5fe117cd3430025b9ee0d"
}
{{KOD ZAKOŃCZENIA}}
Wygląda na to, że rozumie, że weszliśmy do naszej nowo utworzonej strefy geofence. Ponieważ siedzimy w tym samym miejscu, kolejne odświeżenia nie powinny przynosić nowych wydarzeń. Ale kiedy zmienimy lokalizację, Radar również to wykryje.
Aby to przetestować, chwyć maszynę, wyjdź poza strefę geofence i zaloguj się tam ponownieLub... możesz użyć czujników z narzędzi Chrome.

Sfałszuj swoją lokalizację, wybierając dowolne wystarczająco odległe i ponownie odśwież stronę. Teraz Radar pokazuje, że user.exited_geofence
Możesz śledzić zdarzenia geolokalizacji dla wszystkich zarejestrowanych i niezarejestrowanych użytkowników za pomocą wygodnego pulpitu nawigacyjnego Radar w czasie rzeczywistym:

Powiadamianie zewnętrznych aplikacji za pomocą wiadomości bez głowy
Tak więc śledzenie radaru rozumie teraz nasz kontekst lokalizacji. Aby jednak wykorzystać to w naszym scenariuszu, Radar musi podzielić się nim ze światem zewnętrznym. I robi to na wiele sposobów. Jednym z nich jest użycie webhooków.
Webhook to koncepcja interfejsu API, która umożliwia aplikacji udostępnianie innym aplikacjom informacji w czasie rzeczywistym.
Według Segmentu, platformy, która pomaga zbierać i wymieniać dane klientów w wielu systemach, popularność webhooków szybko rośnie.

Typowa implementacja webhooka umożliwia użytkownikowi aplikacji:
- powiadomić system zewnętrzny (lub wiele systemów)
- z wywołaniem API
- moment wystąpienia określonego zdarzenia.
Dzięki takiemu mechanizmowi użytkownik aplikacji nie musi często odpytywać o dane, aby wychwycić zmiany w czasie rzeczywistym.
Wysłanie żądania do zewnętrznego interfejsu API to tylko jedna strona procesu. Aby zakończyć cykl elementu webhook, klient odbierający musi go pomyślnie wykorzystać.
W świecie HTTP oznacza to zwykle odpowiedź ze statusem 2**. Jeśli tak się nie stanie, aparat webhook spróbuje ponownie później (zasada ponawiania zależy od zdefiniowanych autorów zasad).
W naszym przypadku Radar wysyła ładunek zdarzenia, który widzieliśmy, gdy zmieniliśmy naszą lokalizację na podany punkt końcowy. Dodajmy jeden, aby zobaczyć webhooki w akcji.
- Przejdź do Integracji.
- Wybierz środowisko testowe i dostarczanie pojedynczego zdarzenia .
- Podaj punkt końcowy, który ma zostać powiadomiony. Masz tutaj kilka opcji. Możesz:
- wyłącz prosty serwer WWW na swoim komputerze i użyj ngrok do kierowania ruchu,
- użyj usterki, aby natychmiast wdrożyć swój punkt końcowy,
- wybierz jeden z internetowych łapaczy webhooków, takich jak: webhook.site lub requestbin
- Wklej swój unikalny adres URL do formularza i potwierdź.

- Kliknij Test w kolumnie AKCJE, aby uruchomić swoje pierwsze wydarzenie. Jeśli skonfigurujesz to poprawnie, powinieneś zobaczyć ładunek webhooka, jak pokazano na poniższym obrazku:

Jak na razie dobrze. Wynik jest całkiem obiecujący, prawda? Z odrobiną „kopiuj i wklej” i fragmentem kodu JavaScript omówiliśmy część naszego przypadku użycia dotyczącą geolokalizacji. Na obecnym etapie Radar nie może identyfikować użytkowników inaczej niż za pomocą identyfikatora urządzenia zapisanego w plikach cookies. Aby uczynić go bardziej niezawodnym, zidentyfikujmy użytkownika za pomocą adresu e-mail. Dzięki SDK Radara jest to jednowierszowe:
{{KOD}}
Radar.setUserId("[email protected]");
{{KOD ZAKOŃCZENIA}}
Możesz od razu zobaczyć nowy identyfikator w panelu:

Tak więc teraz musimy zająć się osobistym wymogiem rabatowym - unikalnym kodem kuponu.
Łączenie bezgłowego silnika promocyjnego Radar i Voucherify
Podobnie jak Radar, Voucherify z interfejsem API zapewnia elastyczną funkcję kuponowania za ułamek kosztów, które poniósłbyś, gdyby zaczął od zera.
Jak wkrótce się dowiemy, obsługuje inne akcje promocyjne, takie jak rabaty, polecenia czy programy lojalnościowe, które mogą być dostarczane dowolnym strumieniem przyszłego kanału marketingowego.
Aby skorzystać z funkcji personalizacji Voucherify, musisz najpierw zaimportować dane użytkowników i zachować ich synchronizację.
Voucherify przechowuje dane klientów w Customer Objects, które można pogrupować w segmenty według osobistych atrybutów, lokalizacji i historii interakcji Voucherify.

Załóżmy, że zaimportowałeś już swojego klienta testowego do Voucherify i teraz zobaczymy, jak zsynchronizować jego lokalizację z Radarem - bez kodu.
Zapier – klej do sieci
Wyobraź sobie, że wszystkie platformy, które eksponują webhooki, zostały umieszczone w jednym katalogu, z ujednoliconą strukturą i możliwością łączenia ich jak bloki – poznaj Zapiera.
Zapier łączy ponad 1000 aplikacji internetowych i umożliwia im współpracę w tle.

Każdy Zap zaczyna się od wyzwolenia zdarzenia w jednej z Twoich aplikacji, które rozpoczyna Twój przepływ pracy. Oto kilka przykładów z dokumentów Zapiera:
- Zautomatyzuj swoją obecność w mediach społecznościowych, wysyłając nowe elementy RSS do Facebooka jako posty;
- Utrzymuj porządek w projektach, kopiując nowe karty Trello do Evernote;
- Bądź w kontakcie z potencjalnymi klientami, dodając respondentów formularzy z Typeform do swojej listy mailingowej w MailChimp;
- Upewnij się, że Twój zespół nigdy nie przegapi spotkania, powiadamiając kanał w Slack o nadchodzących wydarzeniach w Kalendarzu Google;
- …i wiele więcej!
Zapewne teraz zapytasz: „Czy Zapier może nam pomóc?”. Tak, może! Pobawmy się kilkoma Zapami, aby zaktualizować zmiany geolokalizacji w Voucherify.
- Kliknij Make a Zap i wybierz Webhooki.
- Dzięki tej opcji Zapier może utworzyć punkt końcowy (podobny do webhook.site), którego możemy użyć do wykorzystania webhooka z Radara. Aby to zrobić, wybierz Złap hak.
- W następnym widoku otrzymasz adres URL punktu końcowego, który zastąpi stary w konfiguracji webhooka Radar.

- Wklej link do Radara i uruchom test ponownie. Jeśli Radar potwierdzi nowy punkt końcowy zielonym migającym paskiem, przejdź do następnego kroku w Zapier.
- Na następnym ekranie powinieneś zauważyć ładunek swojego żądania testowego

- Potwierdź formularz i pierwszy krok Zap - wyzwalacz - jest gotowy.
Teraz musimy wykorzystać zużyte wiadomości do pracy. Aby ukończyć Zapa, potrzebujemy przynajmniej jednej akcji (możesz połączyć kilka platform jednym Zapem).
- Wybierz Kupon z Eksploratora akcji. Uwaga Voucherify Zap jest dostępny „za zaproszeniem”, oto link, aby go pobrać.

- Wybierz opcję Aktualizuj klienta i przejdź do formularza Konfiguracja szablonu .
- To kluczowa część. W tym formularzu Zapier umożliwia mapowanie danych wejściowych do wyjściowych. Edytor jest zarówno potężny, jak i intuicyjny. Posiada inteligentne pole wyszukiwania, które umożliwia przeglądanie przychodzącego JSON zarówno według kluczy, jak i wartości. Możesz także łatwo połączyć dwa lub więcej pól wejściowych w jedno wychodzące.
W naszym przypadku chcemy po prostu zidentyfikować klienta po source_id i zaktualizować niestandardowe pole „rspectiveHQ” zgodnie ze zdarzeniem, więc mapowanie wygląda następująco:
Kupon: Identyfikator źródła - Radar: Identyfikator użytkownika
Kupon: Metadane -> rspectiveHQ - Radar: Typ zdarzenia

- Pomiń test i wypełnij formularz - ZAP jest włączony i czeka!
Skonfigurowaliśmy webhook Radara i włączyliśmy Voucherify Zap. Sprawdźmy, czy cały potok działa. Przejdź do naszej aplikacji internetowej i spróbuj ponownie zmienić lokalizację, aby powiadomić detektor radaru.
Oto, co powinno nastąpić:
- Radar śledzi 2 zdarzenia, użytkownik wychodzi i znajduje się w strefie geofence.
- Zapier łapie odpowiednio 2 webhooki.
- Kuponów tory do aktualizacji profilu klienta.



Zapier to coś więcej. Gdy spojrzysz na opcje konfiguracji workflow, zauważysz trybiki, które pozwalają na budowanie dość złożonych procesów. Kroki pomocnicze, takie jak warunki, filtry lub opóźnienia, będą pomocne w przetwarzaniu i przetwarzaniu danych wejściowych oraz odpowiednim formatowaniu danych wyjściowych.


Możesz nawet napisać niestandardowy kod (w JavaScript i Python), jeśli potrzebujesz większej elastyczności w jednym z kroków — czy już mówiłem, że możesz łączyć serię par wyzwalacz-akcja?
Daj dokumentację szybkiego startu Zapier, aby zrozumieć, jaka to oszczędność czasu.
Generowanie unikalnego kuponu dla geolokalizowanych użytkowników za pomocą bezgłowego silnika promocji
Jedną z podstawowych funkcji Voucherify jest personalizacja rabatów na podstawie profilu klienta w czasie rzeczywistym. Jest to możliwe dzięki dynamicznym segmentom, które monitorują atrybuty klientów i to, co umieścili w koszyku, i uruchamiają akcje zgodnie z pewnymi regułami biznesowymi.
W naszym przypadku zbudujemy segment, który sprawdza nasze niestandardowe pole (rspectiveHQ), które z kolei przechowuje informacje, czy klient wszedł do strefy geofence. Możemy to osiągnąć za pomocą jednego punktu końcowego z Voucherify API, ale najszybszym sposobem jest po prostu skorzystanie z dashboardu.
Przejdź do Klientów i otwórz kreatora segmentów. Teraz odfiltruj klienta za pomocą odpowiedniego pola metadanych, jak na poniższym obrazku:

Potwierdź filtr, kliknij ponownie , a zobaczysz wszystkich klientów pasujących do segmentu. Możesz „poprosić” użytkownika testowego o opuszczenie strefy geofence i ponowne załadowanie segmentu, aby sprawdzić, czy integracja działa zgodnie z oczekiwaniami.

Jeśli to, co widzisz, odzwierciedla rzeczywistość, zapisz segment.
Kolejnym krokiem jest wykorzystanie informacji o lokalizacji do dostosowania rabatu.
Ale zanim zagłębimy się w to, chcę, żebyś się na chwilę zatrzymał i przeanalizował , ile osiągnęliśmy do tej pory bez pisania ani jednego kodu back-endowego . Jednocześnie nie zamknęliśmy naszego rozwiązania na zmiany , ponieważ zarówno Radar, jak i Voucherify udostępniają bogate API i architekturę headless, którą możesz podłączyć, kiedy tylko zajdzie taka potrzeba.
Ostatnim krokiem jest utworzenie Dystrybucji , która:
- wyślij unikalny kod kuponu
- do wykrytego klienta
- z predefiniowanym kanałem
Na początek wygenerujmy unikalny kod promocyjny dla każdego użytkownika. Niech to będzie zniżka 10%. Przejdź do kreatora kampanii, wybierz opcję Kody zbiorcze i postępuj zgodnie z krokami, w których zdefiniujesz:
- rodzaj i wysokość rabatu,
- ramy czasowe,
- wzór kodów obejmujący długość, prefiks, sufiks i zestaw znaków,
- początkowa liczba kodów,
- i inne szczegóły.
Szczególnie interesujący jest 4 etap kreatora – zasady walidacji. To miejsce, w którym możesz określić, kto i na jakich warunkach może zrealizować kod. Pamiętaj, że chcemy ograniczyć wykup tylko do tych klientów, którzy odwiedzili nasze geofence. Do wykonania tego kroku użyjemy naszego segmentu.

To narzędzie daje znacznie więcej opcji filtrowania. Jeśli pracujesz nad kampaniami pozyskiwania lub utrzymywania klientów, możesz sprawdzić odniesienie do reguł walidacji, ponieważ może to zaoszczędzić mnóstwo wierszy kodu.
Kiedy Voucherify zakończy generowanie zbiorcze, powinieneś zobaczyć je na liście:

Mamy segment i kody promocyjne, teraz podłączmy je do naszego marketingowego kanału wychodzącego!
Możesz to zaimplementować za pomocą Voucherify API i webhooków, ale jest szybszy sposób - poznaj dystrybucje.
Ta funkcja pozwala wykryć nowego klienta, który wszedł (lub opuścił) segment, przypisać mu unikalny kod kuponu i wysłać go za pomocą e-maila, SMS-a, powiadomienia push, czatu na żywo lub reklam w mediach społecznościowych. Dodatkowo edytor wizualny pomaga stworzyć spersonalizowaną kopię promocyjną.

Każdy kanał ma swój specyficzny szablon wiadomości, zobaczmy jak wygląda dla powiadomień push. Aby jednak kontynuować, musimy założyć konto Braze i połączyć je z Voucherify za pomocą klucza API.
Wysyłanie kodu promocyjnego za pomocą powiadomienia push z Braze
Braze (dawniej AppBoy) to jeden z liderów narzędzi marketingu mobilnego. Wykorzystamy tylko ułamek ich możliwości, więc polecam sprawdzić ich dokumentację, aby dowiedzieć się więcej o ich ofercie.
Konfiguracja naszego scenariusza wymaga 3 kroków:
- Tworzenie kampanii powiadomień push;
- Wysyłanie kodów kuponów z Voucherify do Braze;
- Konfiguracja powiadomienia web push w naszej aplikacji.
Kampania powiadomień push
Podobnie jak Voucherify, Braze może uruchamiać pewne akcje na podstawie zmian atrybutów klienta w czasie rzeczywistym. W tym konkretnym przypadku dystrybucja, którą stworzyliśmy w Voucherify ustawi niestandardowe pole wypełnione unikalnym kodem z kampanii kodów zbiorczych.
Zdefiniujemy kampanię Braze w taki sposób, aby wykrywała tę zmianę i wysyłała powiadomienie push do instancji aplikacji, w której jest zalogowany klient.
- Otwórz Zarządzaj grupą aplikacji, aby zdefiniować kontekst aplikacji.
- Wybierz aplikację internetową, aby uzyskać klucz publiczny interfejsu API.

- Teraz możesz przejść do Kampanii i stworzyć nową kampanię Push Notification.
- Napisz wiadomość zawierającą kod kuponu {{custom_attribute.${coupon}}}, wybierz zakładkę Test i użyj opcji Wyślij test do siebie. Jeśli zezwolisz na powiadomienia internetowe, powinieneś zauważyć komunikat przesuwający się w prawym górnym rogu.

- Kod kuponu w wiadomości testowej będzie pusty, ponieważ nie dodaliśmy tego niestandardowego atrybutu do żadnego z użytkowników. Zapiszmy szkic kampanii i ręcznie utwórzmy użytkownika testowego z kodem.
Utwórz prosty plik CSV zgodnie z następującymi liniami:
{{KOD}}
zewnętrzny_id, kupon
[email protected], xyz
{{KOD ZAKOŃCZENIA}}
I przejdź do Importu użytkownika, aby go przesłać.

- Teraz, gdy mamy dane testowe i zaznaczoną opcję „Zastąp atrybuty odbiorców…”, widzimy podstawioną zmienną.
- W zakładce Dostawa zmień typ dostawy na Opartą na działaniu i wybierz Zmień wyzwalacz wartości atrybutu niestandardowego, jak na poniższym obrazku:

- Zarejestruj „Wszystkich Użytkowników” w kampanii w następnym kroku i pomiń pozostałe ustawienia bez zmian. Kiedy będziesz gotowy, kliknij Uruchom kampanię w prawym dolnym rogu.
Dostarczanie Braze z kodami kuponów
To jest moment, w którym powinniśmy podłączyć Voucherify do Braze. Na szczęście Voucherify obsługuje Braze z natywną integracją. Jedyne, co pozostało do połączenia tych dwóch platform marketingowych, to przejście do Integracji, wybranie Braze i dostarczenie punktu końcowego API i klucza.

Teraz możesz ponownie otworzyć wersję roboczą naszej dystrybucji i wykonać ostatni krok. Podaj nazwy pól niestandardowych, pod którymi Voucherify przypisuje unikalny kod i jego wartość:

I ustaw go na żywo. Od teraz, za każdym razem, gdy Radar wykryje zdarzenie geofence, a tym samym zaktualizuje segment klienta, Voucherify przypisze temu klientowi kod kuponu i opublikuje go w profilu użytkownika w Braze.
Kampania Braze wykryje nową zmianę pola i spróbuje wysłać powiadomienie internetowe.
Otrzymywanie powiadomień push
Prawie jesteśmy na miejscu! Ostatnim krokiem do sfinalizowania naszego łańcucha promocji jest umożliwienie przepływu powiadomień push do naszej aplikacji.
Jak zwykle w przypadku platform headless, nie ma potrzeby ręcznego wdrażania. Braze jako prawdziwa platforma dla programistów oferuje pakiet SDK typu open source dla sieci Web.
Aby go uruchomić, musisz wkleić krótki fragment kodu i wypełnić go publicznym kluczem API.
{{KOD}}
<script type="text/javascript">
const test_user = {
imię : "Mike",
nazwisko : "Sedzielewski",
email : "[email protected]"
}
+funkcja(a,p,P,b,y){appboy={};appboyQueue=[];for(var
s="inicjuj zniszczenie getDeviceId toggleAppboyLogging setLogger
openSession changeŻądanie użytkownikaImmediateDataFlush requestFeedRefresh
zasubskrybuj żądanie aktualizacji kanałów treściOdśwież karty treści
zasubskrybuj karty treści Aktualizacje dziennikaWyświetlenia dziennikaKartaKliknij
logCardDismissal logFeedDisplayed logContentCardsDisplayed
logInAppMessageImpression logInAppMessageClick
Zaloguj sięAppMessageButtonClick zaloguj sięAppMessageHtmlClick
zapisz się do nowych wiadomości w aplikacji usuń subskrypcję
removeAllSubscriptions logCustomEvent logPurchase isPushSupported
isPushBlocked isPushUdzielone isPushZezwolenieUdzielone
zarejestrujAppboyPushWiadomości wyrejestrujAppboyPushWiadomości
submitFeedback trackLocation stopWebTracking resumeWebTracking
wipeData ab ab.DeviceProperties ab.User ab.User.Płeć
ab.User.NotificationSubscriptionTypes ab.User.prototype.getUserId
ab.Użytkownik.prototyp.setImię ab.Użytkownik.prototyp.setNazwisko
ab.User.prototype.setEmail ab.User.prototype.setPłeć
ab.User.prototype.setDateOfBirth ab.User.prototype.setCountry
ab.User.prototype.setHomeCity ab.User.prototype.setLanguage
ab.User.prototype.setEmailNotificationSubscriptionType
ab.User.prototype.setPushNotificationSubscriptionType
ab.User.prototype.setPhoneNumber ab.User.prototype.setAvatarImageUrl
ab.User.prototype.setLastKnownLocation
ab.User.prototype.setUserAttribute
ab.User.prototype.setCustomUserAttribute
ab.User.prototype.addToCustomAttributeArray
ab.User.prototype.removeFromCustomAttributeArray
ab.User.prototype.incrementCustomUserAttribute
ab.User.prototype.addAlias
ab.User.prototype.setCustomLocationAttribute
ab.InAppMessage ab.InAppMessage.SlideFrom ab.InAppMessage.ClickAction
ab.InAppMessage.DismissType ab.InAppMessage.OpenTarget
ab.InAppMessage.ImageStyle ab.InAppMessage.TextAlignment
ab.InAppMessage.Orientation ab.InAppMessage.CropType
ab.InAppMessage.prototype.subscribeToClickedEvent
ab.InAppMessage.prototype.subscribeToDismissedEvent
ab.InAppMessage.prototype.removeSubskrypcja
ab.InAppMessage.prototype.removeAllSubscriptions
ab.InAppMessage.Button
ab.InAppMessage.Button.prototype.subscribeToClickedEvent
ab.InAppMessage.Button.prototype.removeSubscription
ab.InAppMessage.Button.prototype.removeAllSubscriptions
ab.SlideUpMessage ab.ModalMessage ab.FullScreenMessage
ab.HtmlMessage ab.ControlMessage ab.Feed
ab.Feed.prototype.getUnreadCardCount ab.ContentCards
ab.ContentCards.prototype.getUnviewedCardCount ab.Card
ab.ClassicCard ab.CaptionedImage ab.Banner ab.ControlCard
ab.WindowUtils display display.automatically ShowNewInAppMessages
display.showInAppMessage display.showFeed display.destroyFeed
display.toggleFeed display.showContentCards display.hideContentCards
display.toggleContentCards sharedLib.split("
"),i=0;i<s.długość;i++){for(zmienna
m=s[i],k=appboy,l=m.split("."),j=0;j<l.długość-1;j++)k=k[l[j]];k[l[ j]
]=(nowa funkcja("funkcja powrotu
"+m.replace(/\./g,"_")+"(){appboyQueue.push(argumenty); zwrócić
true}"))()}appboy.getUser=function(){return new
appboy.ab.User};appboy.getCachedFeed=funkcja(){zwróć nowy
appboy.ab.Feed};appboy.getCachedContentCards=function(){zwróć nowe
appboy.ab.ContentCards};(y=p.createElement(P)).type='text/javascript
';y.src='https://js.appboycdn.com/web-sdk/2.3/appboy.min.js';y.async
=1;(b=p.getElementsByTagName(P)[0]).parentNode.insertBefore(y,b)}(wi
ndow,dokument,'skrypt');
appboy.initialize('TWÓJ_KLUCZ', {baseUrl:
"https://sdk.iad-03.braze.com/api/v3"});
appboy.toggleAppboyLogging();
appboy.registerAppboyPushMessages()
appboy.changeUser("[email protected]");
appboy.display.automaticallyShowNewInAppMessages();
appboy.openSession();
</script>
{{KOD ZAKOŃCZENIA}}
I zarejestruj service-worker.js:
{{KOD}}
self.importScripts('https://js.appboycdn.com/web-sdk/2.3/service-worker.js');
{{KOD ZAKOŃCZENIA}}
Gdy jest na miejscu, uruchom kolejny test z użytkownikiem „tekst@przykład” w polu wejściowym „Dodaj indywidualnych użytkowników”. Twoja aplikacja powinna otrzymać powiadomienie z kodem promocyjnym „xyz”.
Teraz przetestujmy, czy kampania wyzwala wiadomość push po zmianie pola kuponu .
Najpierw upewnij się, że Twoja kampania jest aktywna, a aplikacja internetowa jest uruchomiona. Po drugie, pobierz kolekcję Braze Postman, otwórz katalog danych użytkownika i wybierz opcję Ścieżka użytkownika — przykład atrybutów. (Jeśli nie znasz Listonosza, możesz nadrobić zaległości tutaj)
Zmień adres URL punktu końcowego na ten, do którego jesteś przypisany, w moim przypadku jest to: https://rest.iad-03.braze.com/
A ładunek żądania do:
{{KOD}}{
"api_key":"TWÓJ_KLUCZ",
"atrybuty":[
{
"external_id":"[email protected]",
"kupon":"123"
}
]
} {{KOD KOŃCOWY}}
Wyślij prośbę i oczekuj kolejnej wiadomości ze zaktualizowanym kodem kuponu.
Testowanie wszystkich bezgłowych cegiełek
Aby upewnić się, że przepływ pracy spełni to, o co prosiliśmy, po prostu otwórz aplikację i użyj czujnika, aby „zlokalizować” inne miejsce, a następnie wrócić do strefy geofence. Za kilka sekund powinieneś zobaczyć spersonalizowane powiadomienie na ekranie!
Teraz użytkownik może wziąć swój kod i umieścić go w polu kuponu zatwierdzonym przez Voucherify na zapleczu.
Podsumujmy tutaj wygrane platform bezgłowych:
- W mniej więcej godzinę dostarczyliśmy działające rozwiązanie dla dość złożonego scenariusza biznesowego.
- Baza kodu jest bardzo krótka i prosta - co przekłada się na mniejsze koszty utrzymania.
- Chociaż nie mamy 100% kontroli nad rozwiązaniem, nadal można je dostosowywać dzięki dostępowi API.
- Brak pełnej odpowiedzialności jest równoważony wsparciem zespołów dostawców i lepszą jakością narzędzi.
- Dzięki webhookom i narzędziom takim jak Zapier łączysz i przeplatasz różne działy i systemy w mgnieniu oka.
Jedną rzeczą, na którą należy zwrócić uwagę podczas korzystania z wielu dostawców SaaS, jest rozwiązanie awaryjne. Czasami platforma nie działa i musisz poinstruować swój system, jak ma zareagować – np. jak przechowywać i kolejkować działania. Platformy przyjazne programistom udostępniają jednak interfejsy, za pomocą których można monitorować dostępność ich API i reagować na czas.
Z drugiej strony super solidne rozwiązania awaryjne nie są konieczne w przypadku aplikacji na etapie POC.
Jak podejście bezgłowe może mi pomóc?
Krótko mówiąc, ucząc się, jak wykorzystać platformy bezgłowe, aby szybko i przy niższych kosztach zbudować coś wartościowego, staniesz się bardziej wartościowy na rynku pracy.
To nie języki programowania czy frameworki stanowią dziś o przewadze konkurencyjnej. Często jest zupełnie inaczej – w ten sposób firmy mogą wykorzystać dostępne narzędzia, aby rozwiązać swoje problemy przy jak najmniejszej ilości kodu. Innymi słowy, są to rzeczy, które liczą się bardziej niż opanowanie danego stosu technologii lub stosów:
- Wiedza, jak skrócić czas wprowadzania na rynek;
- Przegląd technik obniżania kosztów utrzymania;
- Umiejętność zmniejszania zależności od poszczególnych technologii;
- Przegląd aktualnych technologii wspierających trzy powyższe.
Gdzie szukać więcej bezgłowych platform handlowych?
Dobrym punktem wyjścia może być ta lista:
Promocje
- Kupon
- Podarunek
- Vauchar
Katalog i inwentarz
- Recombee
- Channelape
- Krystalizować
Wózek
- Snipcart
- Lisi
Zapłata
- Naszywka
- Należny
- Kwadrat
Wiadomości
- Warstwa
- Popychacz
- Numer publikacji
Rezerwacje i wydarzenia
- Zestaw czasu
- Ingreso
Wysyłka
- Wysyłka
- Chmura statku
- Lob
Ogólny
- Elastyczny
- Snipcart
- Moltin
- Zamów Cloud
- Narzędzia handlowe
Ale jeśli chcesz wyjść poza bezgłowy e-commerce, proponuję odwiedzić https://www.programmableweb.com i zagłębić się. Innym sposobem rozpoczęcia badań jest przejrzenie integracji Zapier.
Jeszcze innym jest przejście do sieci Postman API.
Zasoby:
Demo kodu źródłowego na usterce
