Czego się dowiesz

Czego się dowiesz

Dowiedz się więcej o kodzie i o tym, jak tworzyć niestandardowe funkcje, które są wykonywane bezpośrednio przez Klaviyo.

Kod wymaga niestandardowego rozwoju, a zespół ds. pomocy Klaviyonie jest w stanie zaoferować praktycznej pomocy. Jeśli nie masz programisty w swoim zespole i nie czujesz się komfortowo pisząc kod samodzielnie, rozważ skontaktowanie się z partnerem Klaviyo w celu uzyskania pomocy.

Kilka słów na początek

Kilka słów na początek

Zaawansowana platforma danych klientów Klaviyo nie jest zawarta w standardowej aplikacji marketingowej Klaviyo, a dostęp do powiązanych funkcji wymaga subskrypcji. Przejdź do naszego przewodnika po rozliczeniach, aby dowiedzieć się, jak kupić ten plan.

Czym jest kod?

Czym jest kod?

Kod włącza Cię do wykonywania niestandardowych funkcji w odpowiedzi na zdarzenia zbierane w Klaviyo. Możesz pisać własne funkcje Javascript lub Python w edytorze kodu, które są następnie wykonywane bezpośrednio na platformie.

Kod umożliwia wysyłanie danych do zewnętrznych systemów bez konieczności konfigurowania publicznego punktu końcowego HTTP na potrzeby odbierania elementów webhooków oraz tworzenie niestandardowych funkcji, które są uruchamiane w reakcji na wystąpienie zdarzenia. Można również uzyskać dostęp do wielu popularnych gotowych modułów, co ułatwi tworzenie niestandardowych rozwiązań.

W tym artykule znajdziesz instrukcję tworzenia niestandardowych funkcji za pomocą kodu. 

Tematy

Tematy

Kod umożliwia wykonywanie niestandardowych funkcji w odpowiedzi na dowolne zdarzenie, o które można zapytać za pośrednictwem interfejsu API Get Events.

Należą do nich:

  • zdarzenia e-mail (np. kliknięcie wiadomości e-mail, oznaczenie wiadomości e-mail jako spam )
  • Zdarzenia SMS (np. wysłane wiadomości SMS, odebrane wiadomości SMS)
  • powiadomienie o zdarzeniach push (np. Odebrane push, Odbite push)
  • Zdarzenia z integracji (tj. zdarzenia z własnych integracji utworzonych przez Klaviyo)
  • API zdarzenia (tj. zdarzenia zsynchronizowane za pośrednictwem interfejsu API Klaviyo)

Klaviyo Kod nie obsługuje następujących zdarzeń jako tematów:

  1. Otwarto e-mail
  2. Otrzymano wiadomość e-mail
Interfejs kodu

Interfejs kodu

Aby uzyskać dostęp do Kodu, przejdź do zakładki Kod w Zaawansowana platforma danych klientów Klaviyo > dane Management > Kod.

Aby utworzyć funkcję niestandardową, wybierz przycisk Utwórz funkcję :

Utwórz przycisk funkcyjny

Zostaniesz przeniesiony na stronę Recipes , gdzie możesz wybrać gotowe rozwiązanie do wykonania lub pustą funkcję Python lub Node.js.

image (9).jpg

Jeśli wybierzesz istniejącą recepturę, zobaczysz edytor kodu z kodem rozwiązania wraz z opisem funkcjonalności. 

image (10).jpg

Jeśli wybierzesz pustą funkcję, aby móc tworzyć własne niestandardowe rozwiązania, pojawi się okno dialogowe Szczegóły, w którym możesz to zrobić:

  • Nazwij swoją funkcję
    Nazwa identyfikująca Twoją funkcję.
  • Wybierz temat dla swojej funkcji
    Zdarzenie, które uruchomi wykonanie twojego kodu.
  • Wybierz środowisko uruchomieniowe
    Środowisko uruchomieniowe, w którym wykonywany jest kod (np. Python lub Node.js).

3.11.jpg

Po dokonaniu wymaganych wyborów i wybraniu przycisku Utwórz funkcję , zostaniesz przeniesiony do interfejsu z następującymi zakładkami: 

  • Edytor 
  • Wyjście testowe 
  • Dzienniki
Przyznawanie uprawnień

Przyznawanie uprawnień

Gdy po raz pierwszy utworzysz funkcję za pośrednictwem Code, zostaniesz poproszony o uwierzytelnienie aplikacji Code OAuth. Jest to wymagane, aby Twoje funkcje Code miały dostęp do danych na Twoim koncie Klaviyo.

Po przyznaniu dostępu zostaniesz przeniesiony do edytora kodu.

Edytor

Edytor

Na stronie Edytora w Kodzie, podzielisz stronę na 3 zakładki:

  • Kod
    Zakładka kodu zawiera edytor, w którym możesz pisać funkcje Python lub Javascript.
  • Moduły
    Moduły to pakiety innych firm, które dodają funkcjonalność do twoich funkcji.
  • Zmienne środowiskowe
    Zmienne środowiskowe to pary klucz-wartość, do których twoja funkcja uzyskuje dostęp podczas działania. 
Kod

Kod

Na karcie Kod zobaczysz edytor, którego możesz użyć do napisania funkcji Python lub Javascript, które są wykonywane w odpowiedzi na wybrany temat.

3.11(2).jpgjs.jpg

Parametry funkcji obsługi

Parametry funkcji obsługi

Aby Klaviyo mogło wykonać napisany przez Ciebie kod, musi on zostać opakowany w funkcję o nazwie "handler", która przyjmuje 2 parametry:

  • Zdarzenie
    Zawiera dane zdarzenia powiązane ze zdarzeniem wyzwalającym w formacie JSON:API. Jeśli wyzwalacz nie jest oparty na zdarzeniach (np. Dodano do listy), wówczas wartość tego parametru będzie wynosić Brak lub Null w zależności od języka.
  • Kontekst
    Zawiera dodatkowe metadane dotyczące wykonania funkcji, w tym profil powiązany z wywołaniem funkcji. Możesz uzyskać dostęp do obiektu profil poprzez context.profil w Javascript lub context["profil" ] w Python.

Poniżej znajdują się przykłady parametrów zdarzenia i kontekstu, które są przekazywane do funkcji obsługi.

Przykładowy format zdarzenia

{
 {
 " dane": {
 " type": "event",
 " id": "7S2q9haejYG",
 " attributes": {
 " timestamp": 1694435729,
 " event_properties": {
        "MfaEnabled": false,
        "IpAddress": "000.00.0.0",
        "UserAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36",
        "UserRole": "Owner",
        "SessionId": "34sh0a9nh8ngnk2nfacjxmt592yx40ib",
        "LoginType": "Username_password",
        "current_company_id": "XXXXX",
        "$event_id": "1694435729"
      },
 " datetime": "2023-09-11 12:35:29+00:00",
 " uuid": "b0b8fe80-509f-11ee-8001-278cc529fcd3"
 },
 " relacje": {
 " dane  profilowe": {
          "type": "profile",
          "id": "123456"
        },
 " linki": {
          "self": "https://a.klaviyo.com/api/events/7S2q9haejYG/relationships/profile/",
          "related": "https://a.klaviyo.com/api/events/7S2q9haejYG/profile/"
        }
      },
 " metryka": {
 " dane": {
          "type": "metric",
          "id": "4Tdup6"
        },
 " linki": {
          "self": "https://a.klaviyo.com/api/events/7S2q9haejYG/relationships/metric/",
          "related": "https://a.klaviyo.com/api/events/7S2q9haejYG/metric/"
        }
      }
    },
 " links": {
      "self": "https://a.klaviyo.com/api/events/7S2q9haejYG/"
    }
  }
}

Przykładowy format kontekstu 

{
 " company_id": "XXXXX",
 " trigger": {"type": "event", "uid": "123456"},
 " function_id": "123456",
}
Moduły

Moduły

Na karcie Moduły możesz wybierać spośród najpopularniejszych gotowych modułów (tj. pakietów innych firm, które dodają możliwości do twoich funkcji). 

Aby dodać zewnętrzny moduł do użycia w kodzie, wybierz przycisk Dodaj moduł:

Przycisk Dodaj moduł

W wyświetlonym oknie możesz wyszukać i wybrać moduł, który chcesz dodać: 

Dodaj moduł modalny

Po dodaniu możesz używać modułu z kodem, który piszesz w Klaviyo.

Powinieneś zapoznać się z natywną dokumentacją modułu zewnętrznego, aby uzyskać informacje na temat korzystania z niego.

Dodane moduły

Moduł Klaviyo

Wszystkie funkcje Code są dostarczane z niestandardowym Klaviyo który jest preinstalowany w twoim środowisku Code. Moduł ten umożliwia Twoim funkcjom dostęp do danych na Twoim koncie Klaviyo bez konieczności podawania jakichkolwiek danych uwierzytelniających, takich jak klucz API.

Adres API modułu Klaviyo zależy od tego, czy Twój kod jest napisany w Pythonie, czy w Javascript.

Python Klaviyo moduł

Python Klaviyo moduł

Adres API preinstalowanego modułu Klaviyo jest taki sam jak obiekt Klaviyo SDK, który normalnie utworzyłbyś za pomocą modułu Klaviyo-API Python. Możesz myśleć o Klaviyo jako o wstępnie zdefiniowanym Klaviyo SDK.

Na przykład w tradycyjnej organizacji pracy najpierw utworzysz instancję nowego klienta Klaviyo SDK, przekazując klucz API do konstruktora, a następnie użyjesz wynikowego obiektu SDK.

from klaviyo_api importuj
importuj KlaviyoAPI
importuj importuj os
def handler(event, context):
Klaviyo = KlaviyoAPI(api_key=os.getenv("KLAVIYO_API_KEY"))
print(Klaviyo.metryka.get_metrics())

Dzięki Code wystarczy zaimportować zaimportować obiekt Klaviyo, a uwierzytelnienie zostanie wykonane za Ciebie.

importuj
import Klaviyo

def handler(event, context):
print(Klaviyo.metryka.get_metrics())

Wyświetl dostępne obiekty Klaviyo i ich metody.

Javascript Klaviyo moduł

Javascript Klaviyo moduł

Podczas korzystania z preinstalowanego modułu Klaviyo w swoich funkcjach Javascript, zaimportuj konkretne Klaviyo funkcje, do których chcesz uzyskać dostęp, używając składni nawiasów klamrowych z modułu Klaviyo modułu. Następnie użyj ich tak, jak normalnie używałbyś API obiektu za pomocą modułuKlaviyo-API Javascript.

importuj
importuj { Metrics } z 'Klaviyo';
export default async (event, context) => {
console.log(await Metrics.getMetrics())
}

Wyświetl dostępne obiekty Klaviyo i ich metody

 

Zmienne środowiskowe 

Zmienne środowiskowe 

Zakładka Zmienne środowiskowe umożliwia ustawienie par klucz-wartość, do których Twój kod w Klaviyo może się odwoływać podczas działania. Mogą one być używane do przechowywania informacji, takich jak dane uwierzytelniające i tajne klucze, dzięki czemu twoje funkcje mogą uzyskać do nich dostęp podczas ich działania. 

Aby dodać zmienną środowiskową, wybierz przycisk Dodaj zmienną

Przycisk Dodaj zmienne środowiskowe

W wyświetlonym oknie możesz ustawić parę klucz-wartość dla zmiennej środowiskowej. 

Zestaw par klucz-wartość dla zmiennej środowiskowej

Po utworzeniu zmienne środowiskowe zostaną wyświetlone na stronie i mogą być używane w twoim kodzie. 

Aby uzyskać dostęp do zmiennych środowiskowych w kodzie, użyj os.getenv("Key") dla Pythona lub process.env.KEY dla Node.js.

Utworzone zmienne środowiskowe

Aby zaktualizować wartość istniejącej zmiennej środowiskowej, musisz utworzyć nową zmienną z tym samym kluczem, dla którego chcesz zaktualizować wartość.

Wyniki testu

Wyniki testu

Zakładka Testuj dane wyjściowe w Kodzie pozwala na przetestowanie twojego kodu z ostatnimi zdarzeniami, aby potwierdzić, że dane wyjściowe zachowują się zgodnie z oczekiwaniami. 

Aby przetestować swoją funkcję:

  1. Wybierz przycisk Uruchom test:
    Przycisk Uruchom test
  2. W wyświetlonym oknie wybierz zdarzenie do przetestowania. Możesz wybierać spośród 10 ostatnich wydarzeń zbierać w Klaviyo.
    Ostatnie wydarzenia do przetestowania
  3. Po wybraniu zdarzenia do przetestowania wyświetlony zostanie wynik testu:Wyniki testu
Dzienniki

Dzienniki

Zakładka Logi pokazuje kondycję twoich bieżących funkcji Code. Zobaczysz:

  • Status
    Postęp wykonywania funkcji. 
  • Czas reakcji
    Czas potrzebny na wykonanie kodu w odpowiedzi na zdarzenie.
  • Data
    Znacznik czasu wykonania funkcji. 
Limity stawek

Limity stawek

Kod Klaviyo ma następujące limity stawek:

  • Limit czasu funkcji
    Funkcje w Kodzie mogą być wykonywane przez maksymalnie 15 sekund przed upływem limitu czasu.
  • Limit szybkości funkcji
    Funkcje w Code pozwalają na maksymalnie 25 jednoczesnych wykonań na funkcję.
Wdrażanie kodu 

Wdrażanie kodu 

Aby wdrożyć kod napisany w edytorze, przełącz menu rozwijane statusu na pozycję Live

przełączenie do wdrożenia kodu

Po ustawieniu na żywo, napisany przez Ciebie kod będzie wykonywany za każdym razem, gdy zdarzenie tematyczne zostanie zebrane w Klaviyo.

Gdy funkcja jest ustawiona jako aktywna, może wystąpić do 15 minut opóźnienia, zanim zdarzenia zaczną uruchamiać funkcję.

Przykładowe rozwiązanie

Przykładowe rozwiązanie

Poniżej znajduje się przykład niestandardowego rozwiązania zaimplementowanego za pomocą Code.

W przykładzie dane zdarzenia są ustawione jako właściwości profilu, dzięki czemu mogą być używane w ukierunkowanych wiadomościach e-mail i segmentacji. Zdarzenie niestandardowe Zarezerwowana sesja jest zbierane w witrynie Klaviyo, gdy klient zarezerwuje sesję z marką, a dane o mieście rezerwacji i powiązanym adresie URL są ustawiane jako właściwości profilu na odpowiednim profilu.

Tworzona jest również właściwość o nazwie Ostatnie rezerwacje , która sklep dane z 5 ostatnich zarezerwowanych sesji, dzięki czemu można ją zapętlić i uzyskać do niej dostęp w szablonie e-mailowym.

Kod

Kod

Kod Python dla tego rozwiązania jest napisany w edytorze Code i jest wykonywany bezpośrednio przez Klaviyo.

Code_updates.jpg

Przykładowy kod

Przykładowy kod

Moduły

Moduły

W tym przykładzie użyto wbudowanego modułu Klaviyo moduł jest używany. Moduł Klaviyo polega na dodaniu do funkcji modułu Klaviyo-API. Po dodaniu, moduł Klaviyo moduł obsłuży uwierzytelnienie za Ciebie, więc klucz API nie jest potrzebny.

Zmienne środowiskowe

Zmienne środowiskowe

Zmienne środowiskowe mogą być używane do przechowywania informacji, takich jak dane uwierzytelniające i tajne klucze, dzięki czemu twoje funkcje mogą uzyskać do nich dostęp podczas ich uruchamiania. W tym przykładzie ustawiona jest następująca para klucz-wartość:

  • MAX_PROPERTIES_TO_STORE
    Zmienna środowiskowa używana do definiowania maksymalnej liczby właściwości do przechowywania dla przykładowej funkcji.
Testowanie

Testowanie

Podczas tworzenia funkcji ustawiającej dane zdarzenia jako właściwości profilu, zakładka Test output służy do weryfikacji oczekiwanych wyników.

test_output.jpg

Dzienniki

Dzienniki

Po utworzeniu i przetestowaniu funkcji na karcie Dzienniki wyświetlany jest stan zdrowia funkcji wykonywanej w odpowiedzi na zdarzenia zarezerwowanych sesji

Logs.jpg

Rezultat

Rezultat

Dzięki tej funkcji kodu, gdy klient zarejestruje się na sesje i uruchomi niestandardowe zdarzenie Zarezerwowana sesja, dane zdarzenie zostanie zapisane w profilu klienta do wykorzystania w segmentacji i ukierunkowanym kampanie. 

Wdrażanie przepisów  

Wdrażanie przepisów  

Receptury w kodzie umożliwiają wdrażanie gotowych rozwiązań bez konieczności tworzenia własnych.

Aby zaimplementować przepis na koncie Klaviyo:

  1. Wybierz przycisk Utwórz funkcję na stronie Kod.
  2. Wybierz Przepis, który chcesz zaimplementować na swoim koncie. Zostaniesz przeniesiony do edytora, w którym możesz zobaczyć kod wybranego przepisu wraz z opisem działania funkcji.
  3. Kliknij przycisk Wybierz, aby kontynuować.
    Przepis na przelicznik walut w Klaviyo
  4. Wybierz nazwę funkcji i wyzwalacz, który spowoduje jej wykonanie. Czas działania jest ustawiany automatycznie na podstawie kodu receptury.
  5. Wybierz przycisk funkcji Utwórz.
  6. Po utworzeniu funkcji ustaw odpowiednie zmienne środowiskowe, aby funkcja miała dane potrzebne do jej uruchomienia.
  7. Przepis można teraz przetestować i ustawić jako aktywny.

Przepisy mogą wymagać aktualizacji niektórych pól, aby dopasować je do preferencji nazewnictwa i danych w Twoich wydarzeniach. Zapoznaj się z instrukcjami dotyczącymi przepisu, aby sprawdzić, które pola można zmieniać i edytować.

Dodatkowe źródła 

Dodatkowe źródła 

Pierwsze kroki z Zaawansowaną platformą danych klientów Klaviyo
Poznaj różne webhooki dostępne w Klaviyo

Czy ten artykuł był pomocny?
Ten formularz służy tylko do przesyłania opinii na temat artykułów. Dowiedz się, jak skontaktować się z zespołem ds. pomocy.

Dowiedz się od Klaviyo więcej

Społeczność
Nawiązuj kontakty z osobami na podobnych stanowiskach, partnerami oraz ekspertami i ekspertkami Klaviyo – inspirujcie się nawzajem, wymieniajcie spostrzeżeniami i pomagajcie szukać odpowiedzi na nurtujące Was pytania.
Szkolenie na żywo
Chcesz poznać najlepsze praktyki, nauczyć się konfigurować najważniejsze funkcje i nie tylko? Dołącz do sesji na żywo z udziałem ekspertów i ekspertek Klaviyo.
Pomoc

Uzyskaj wsparcie za pośrednictwem konta.

E-mail do zespołu ds. pomocy (konta w bezpłatnym okresie próbnym oraz konta płatne) Całodobowa dostępność

Czat/wirtualna pomoc
Dostępność różni się w–zależności od lokalizacji i typu planu.