inhire.ioBlogInneJak automatyzować zadania mikroaplikacjami Marketing Cloud?

Jak automatyzować zadania mikroaplikacjami Marketing Cloud?

Inne
Praca w IT
20/04/2021

W jaki sposób mikroaplikacja Marketing Cloud może pomóc osiągnąć Twoje cele biznesowe? W tym artykule opisuje to Mateusz Dąbrowski, Konsultant i deweloper Salesforce Marketing Cloud, w PwC buduje rozwiązania Marketing Automation szyte na miarę.

Gdy standardowe rozwiązania nie wystarczają

Możliwości Salesforce Marketing Cloud są ogromne. Wykorzystując dostępne Studia, Buildery i powiązane produkty z ekosystemu Salesforce, możesz osiągnąć prawie wszystko. Prawie.

Zawsze jednak istnieć będą pewne procesy lub wymagania biznesowe, które są zbyt niszowe lub zbyt unikalne, aby dało się je zaspokoić gotowym rozwiązaniem. Czasem jest to możliwe po kilku kompromisach. Czasem pozostaje tworzenie rozwiązań szytych na miarę.

W zależności od potrzeb i zasobów Twojej organizacji możesz rozwiązać takie problemy na dwa sposoby. Zakupami w AppExchange – sklepie z aplikacjami rozszerzającymi możliwości chmur Salesforce – lub stworzeniem własnej aplikacji wykorzystującej SFMC API (do tego oczywiście też jest dedykowany produkt Salesforce – Heroku).

AppExchange jest świetnym pomysłem, jeżeli tylko znajdziesz tam produkt rozwiązujący Twój problem – dodatkowa licencja oznacza jednak stały koszt w Twoim budżecie. Własna aplikacja może za to dostarczać dokładnie to, czego potrzebujesz. Ceną będą znaczne koszta początkowe (czy to w formie wynagrodzenia zewnętrznych programistów, czy też czasu zespołu wewnętrznego) oraz stałe nakłady na utrzymanie i rozwój.

Jest też trzecia możliwość – mikroaplikacja Marketing Cloud. Idealna, jeśli Twój problem da się rozwiązać niewielką, opartą o API, SSJS i AMPScript aplikacją ułatwiającą życie Twojego zespołu. Wymagane będą jedynie minimalne nakłady czasu i finansów.

Niestandardowe podejście do standardowych rozwiązań

Mikroaplikacje Marketing Cloud oferują głęboką integrację z SFMC w stylu AppExchange oraz elastyczność charakterystyczną dla własnych aplikacji. Hostowane są w Web Studio i dostępne za pośrednictwem głównego menu Marketing Cloud.

Zalety? Możesz użyć SSJS oraz AMPscript, by kontrolować elementy i zdarzenia w Marketing Cloud. Mając wdrożony Marketing Cloud Connect, dostępne dla takiej aplikacji stają się również obiekty znajdujące się w Sales i Service Cloud. Dodatkowo, funkcje GET i POST oraz Script.Util.HttpRequest umożliwiają Ci ścisłą integrację po API z zewnętrznymi systemami. Wszystko to bez konieczności dbania o hosting, skalowanie i współdziałanie z SFMC. Finansowo zaś uruchomienie aplikacji kosztuje tyle samo, co wyświetlenie zwykłego Cloud Page’a przez klienta.

Wady? Podejście to nadaje się do stosunkowo prostych aplikacji. Najlepiej sprawdza się prosty frontend na Cloud Page wspierany przez backend napisany w SSJS/AMpscript i osadzony na darmowym Code Resource. Nie oznacza to, że nie dasz rady zbudować w ten sposób czegoś bardziej zaawansowanego z wykorzystaniem frameworków, lecz szybko możesz dotrzeć do punktu, w którym całe przedsięwzięcie byłoby łatwiejsze dzięki pełnoprawnej aplikacji hostowanej na przykład na Heroku.

Czytaj takżeUniwersalne aplikacje webowe w Salesforce

Osiągnij swoje cele biznesowe

Do czego więc możesz wykorzystać mikroaplikację? Ogranicza Cię tylko wyobraźnia, a inspiracji nie brakuje:

  • Globalna wyszukiwarka do szybkiego lokalizowania ścieżki folderów do konkretnego Data Extension lub Content Blocku.
  • Rozwiązanie do analizy Data Extension pozwalające szybko zrozumieć dostępne dane, a nawet zwizualizować ich relacje w celu łatwiejszej segmentacji.
  • Raport KPI wyświetlający najważniejsze dla biznesu dane związane z działaniami w Marketing Cloud – lub nawet powiązane dane zaciągnięcie z Sales, lub Service Cloud.
  • Raport Deliverability pobierający dane z Marketing Cloud oraz zewnętrznych narzędzi do monitorowania i ostrzegania o problemach z dostarczalnością.
  • Przeszukiwalny zbiór dokumentacji i poradników dotyczących Twoich procesów marketingowych i najlepszych praktyk dotyczących budowania doświadczeń klienta za pomocą Marketing Cloud.
  • Kreator kampanii pozwalający na tworzenie kopii sprawdzonych w Twoim biznesie szablonów Journey Builder za pomocą jednego kliknięcia.

Wszystko, co wymaga dużej ilości manualnych kroków, przetwarzania lub sprawdzania danych w wielu miejscach, może być dobrym pomysłem na nową mikroaplikację.

Stwórz mikroaplikację Marketing Cloud

Wdrożenie podstawowej mikroaplikacji jest proste i wystarczy Ci na to kilka minut:

  • Stwórz Cloud Page (wystarczy pusta strona z napisem „Hello World”).
  • Opublikuj go i skopiuj wygenerowany adres URL.
  • Przejdź do Marketing Cloud Setup -> Apps -> Installed Packages i utwórz nową paczkę.
  • Dodaj komponent Marketing Cloud App do paczki, wklej adres URL Cloud Page’a w obu polach przeznaczonych na Endpoint i zapisz.

To wszystko. Właśnie utworzyłeś swoją pierwszą mikroaplikację Marketing Cloud. Odśwież stronę, a po najechaniu na ikonę AppExchange w głównym menu zobaczysz nową pozycję.

Dobra aplikacja to bezpieczna aplikacja

Twoja mikroaplikacja jest już dostępna w menu Marketing Cloud. Niestety jest również dostępna poza nim – technicznie jest bowiem wciąż zwykłym Cloud Pagem. Oczywiście, nie jest to idealne rozwiązanie. Przypadkowe osoby nie powinny mieć dostępu do wewnętrznej aplikacji z szerokim dostępem do danych i opartej na API.

Na szczęście możesz wykorzystać stworzone w poprzednim kroku Installed Package, aby zabezpieczyć swoją mikroaplikację. Do paczki dodaj kolejny komponent – tym razem wybierz API Integration. Zaznacz Web App jako typ integracji i wklej adres URL Cloud Page’a jako URI.

Nie potrzebujesz zaznaczać niczego w Scope, aby zabezpieczyć swoją mikroaplikację. Wbudowane funkcje SSJS i AMPScript nie potrzebują tych uprawnień.

Po zapisaniu zobaczysz, że nowy komponent API Integration zawiera teraz: Client Id, Client Secret i adresy bazowe do autoryzacji, REST i SOAP. Skopiuj je, przydadzą się w następnym kroku.

Teraz czas wykorzystać SSJS lub AMPScript na Cloud Page’u, aby przed załadowaniem samej mikroaplikacji przekierować użytkownika na Twój unikalny adres Authentication API rozszerzony o endpoint v2/authorize. Konieczne będą również dodatkowe parametry: Client Id, adres Cloud Page’a oraz żądanie odpowiedzi w formie kodu. Dzięki temu każdy użytkownik chcący uruchomić mikroaplikację będzie musiał zalogować się do Marketing Cloud. Co więcej, nastąpi to automatycznie dla tych osób, które już są zalogowane (mikro Single Sign-On).

Do powyższego adresu możesz dodać również parametr State – jego wartość będzie dostępna po pomyślnym zalogowaniu. Doskonale nadaje się do rozpoznawania, czy dane wyświetlenie strony ma miejsce przed czy po zalogowaniu.

Wykorzystując SSJS możesz to napisać w ten sposób (identyczną logikę można zakodować również w AMPScript):

/* Sprawdzamy czy URL zawiera Status */
var state = Platform.Request.GetQueryStringParameter('state');

/* Jeżeli nie, użytkownik musi się wpierw zalogować */
if (!state) {
    state = GUID();
    Platform.Response.Redirect(authenticationBaseURI + 'v2/authorize?response_type=code&client_id=' + clientID + '&redirect_uri=' + cloudPageURL + '&state=' + state);
}

Gdy Twoja mikroaplikacja przeładuje się po pomyślnej autoryzacji, możesz pobrać parametr z kodem za pomocą SSJS lub AMPScript. Będzie on potrzebny do wysłania HTTP POST do Authentication API z endpointem “v2/token”. Jeżeli przesłany w treści tego żądania kod będzie poprawny i zgodny z Client Id oraz Client Secret, w odpowiedzi otrzymasz token. Potwierdzi to, że odwiedzający jest uprawniony do korzystania z mikroaplikacji.

/* Jeżeli URL zawiera Status, sprawdzamy czy użytkownik ma uprawnienia do załadowania aplikacji */
if (state) {
    var code = Platform.Request.GetQueryStringParameter('code');
    var payload = {
        grant_type: 'authorization_code',
        code: code,
        client_id: clientID,
        client_secret: clientSecret,
        redirect_uri: cloudPageURL
    }

/* Wysyłamy do Marketing Cloud żądanie wygenerowania tokena */
    var response = HTTP.Post(authenticationBaseURI + 'v2/token', 'application/json', Stringify(payload))
/* Jeżeli udało się wygenerować token, mamy potwierdzenie uprawnień użytkownika oraz przez 18 minut możemy wykorzystać token do pozostałych zapytań po API */
    if (response.StatusCode == 200) {
        var parsedResponse = Platform.Function.ParseJSON(response.Response[0])
        var accessToken = parsedResponse.access_token;

/* Polecam zapisać Status oraz Token w Data Extension, aby zabezpieczyć backend. Przy każdym zapytaniu XHR z frontendu możemy wówczas przekazać te dane i następnie w Code Resource sprawdzić ich poprawność Lookupem. */
        Platform.Function.UpsertData('microAppLogDataExtension', ['session'], [state], ['appName', 'token'], ['Nazwa Mikroaplikacji', accessToken]);
    }
}

Tym samym dodałeś funkcję mikro Single Sign-On, która zabezpiecza Twoją mikroaplikację tak samo jak całą platformę. To nie wszystko! Ponieważ ograniczyłeś dostęp tylko do użytkowników Marketing Cloud, możesz teraz wykorzystać wbudowany system zarządzania licencjami Installed Package, aby kontrolować, kto zobaczy mikroaplikację w menu głównym.

Masz bezpieczną i zintegrowaną z Marketing Cloudem mikroaplikację. Czas wypełnić ją logiką, która zaspokoi potrzeby biznesowe i zautomatyzuje pracę Twojego zespołu.

Autor: Mateusz Dąbrowski

Odwiedź stronę Mateusza 🙂

Sprawdź aktualne oferty pracy w PwC