Czego się dowiesz?

Dowiedz się, jak utworzyć niestandardowy webhook Zapier, aby wysyłać zgodę na SMS do Klaviyo. Instrukcje zawarte w tym przewodniku możesz też łatwo zmodyfikować, aby wysyłać zgodę na e-mail.

Poniższe kroki pomogą utworzyć Zap z użyciem webhooka (nazywanego też catch hook), który wyzwala działanie skryptu Python. Skrypt wysyła wywołanie API do Klaviyo, aby subskrybować adresy e-mail i numery telefonów do listy.

Ta funkcja jest dostępna tylko dla użytkowników planów Premium Zapier.

Informacje o integracji

Ta integracja nie jest w pełni wspierana przez Klaviyo, ale w razie potrzeby można jej użyć jako obejścia. Zalecamy korzystanie z tej integracji tylko wtedy, gdy w zespole są deweloperzy, którzy mogą ją wspierać.

W tym przewodniku używana jest akcja kodu Zapier, która uruchamia skrypt Python po wykryciu wyzwalacza. Dzięki temu rozwiązaniu możesz mapować pola na typy danych wymagane przez punkty końcowe Klaviyo; w szczególności punkty końcowe Subskrybuj profile i Wycofaj subskrypcję profili.

Konfigurowanie webhooka Zapier

  1. Zaloguj się do swojego konta Zapier.
  2. Na stronie głównej w Zapier wybierz +Utwórz, a następnie wybierz Zap.
  3. Wprowadź nazwę nowego Zapa (np. Klaviyo Webhook).
  4. Wyszukaj webhook, a następnie wybierz Webhooks by Zapier z menu Wyzwalacz.
  1. W następnym menu wybierz Catch Hook z opcji Wyzwalacz zdarzenia.
  1. Kliknij Kontynuuj.
  2. Wybierz kartę Test.
  3. Skopiuj URL webhooka, który Zapier udostępnia do wysyłania żądań.
  1. Przed rozpoczęciem testów trzeba wysłać dane testowe do webhooka. Więcej informacji znajdziesz w naszym przewodniku: Jak wysłać dane testowe do Zapier. Pamiętaj, aby prawidłowo formatować numery telefonów podczas wysyłania danych testowych.
  2. Po przesłaniu danych testowych do webhooka kliknij Testuj wyzwalacz (na karcie Test).
  1. Jeśli żądanie się powiedzie, zobaczysz komunikat o powodzeniu, a dane testowe pojawią się poniżej komunikatu o powodzeniu, podobnie jak w poniższym przykładzie:
  1. Gdy wyzwalacz działa, kliknij Kontynuuj z wybranym rekordem.

Skonfiguruj działanie Zapier

  1. W menu Action wpisz Code by Zapier w polu wyszukiwania i wybierz opcję z listy.
  1. Kliknij Wybierz zdarzenie > Uruchom Python.
  1. Kliknij Kontynuuj.

Skonfiguruj mapowanie pól i utwórz logikę skryptu

  1. Skonfiguruj mapowanie pól, aby powiązać dane wejściowe w poniższej tabeli z odpowiednimi danymi testowymi, które wcześniej zostały wysłane.

Dane wejściowe

Zmapowane dane testowe

email

1. E-mail: <Test email>

phone_number

1. Numer telefonu: <Test phone number>

sms_consent

1. Sms_consent: true

name

1. Nazwa: <Test name>

  1. Dodaj skrypt taki jak poniżej do pola kodu:
text
import requests

# configuring sms subscribe or unsubscribe call
if (input_data["sms_consent"] == "true" or input_data["sms_consent"] == "True" or input_data["sms_consent"] == "TRUE"):
  url = "https://a.klaviyo.com/api/profile-subscription-bulk-create-jobs/"  payload = { "data": {
        "type": "profile-subscription-bulk-create-job",
        "attributes": {
            "profiles": { "data": [
                    {
                        "type": "profile",
                        "attributes": {
                            "email": input_data["email"],
                            "phone_number": input_data["phone_number"],
                            "subscriptions": {
                                "sms": { "marketing": { "consent": "SUBSCRIBED" } }
                            }
                        }
                    }
                ] }
        },
        "relationships": { "list": { "data": {
                    "type": "list",
                    "id": "LIST_ID"
                } } }
    } }

elif (input_data["sms_consent"] == "false" or input_data["sms_consent"] == "False" or input_data["sms_consent"] == "FALSE"):  url = "https://a.klaviyo.com/api/profile-subscription-bulk-delete-jobs/"
  payload = { "data": {
        "type": "profile-subscription-bulk-delete-job",
        "attributes": {
            "profiles": { "data": [
                    {
                        "type": "profile",
                        "attributes": {
                            "email": input_data["email"],
                            "phone_number": input_data["phone_number"],
                        }
                    }
                ] }
        },
        "relationships": { "list": { "data": {
                    "type": "list",
                    "id": "LIST_ID"
                } } }
    } }
headers = {
    "accept": "application/json",
    "revision": "2024-05-15",
    "content-type": "application/json",
    "Authorization": "Klaviyo-API-Key your-private-api-key"
}

response = requests.post(url, json=payload, headers=headers)

# Zapier requires an 'output' object
output = {"response text": response.text}
  1. Zastąp your-private-api-keyswoim prywatnym kluczem API Klaviyo.

Traktuj prywatne klucze API jak hasła - przechowuj je w bezpiecznym miejscu i nigdy nie ujawniaj ich publicznie.

  1. Zastąp LIST_ID (w obu miejscach) identyfikatorem listy Klaviyo, do której chcesz wysyłać dane z Zapier. Identyfikator listy znajdziesz w Klaviyo, przechodząc do Odbiorcy > Listy i segmenty > Ustawienia. Jeśli chcesz od razu subskrybować osoby bez potwierdzenia (co może być przydatne podczas testów), upewnij się, że Twoja lista ma ustawione pojedyncze opt-in (znajdziesz to na karcie Zgoda w ustawieniach listy).
  2. Kliknij Kontynuuj, a następnie kliknij Testuj krok.
  3. Jeśli test się powiedzie, zobaczysz odpowiedź bez błędów, taką jak poniżej:
  1. Możesz też sprawdzić, czy test zakończył się powodzeniem w Klaviyo, przechodząc do listy i upewniając się, że profil został dodany.
  1. Gdy test zakończy się pomyślnie, kliknij Opublikuj, aby opublikować zap. Jeśli test nie zakończy się pomyślnie, sprawdź nasze wskazówki dotyczące rozwiązywania problemów dla typowych kwestii.

Wskazówki dotyczące rozwiązywania problemów

Poniżej znajdują się typowe problemy, na które możesz natrafić podczas konfigurowania webhooka Zapier. Jeśli napotkasz jakiekolwiek inne problemy, możesz skontaktować się ze Społecznością Klaviyo, aby uzyskać dodatkowe wskazówki.

EOL podczas skanowania literału łańcuchowego

Jeśli widzisz ten błąd, brakuje cudzysłowu wokół jednej ze zmiennych. Sprawdź identyfikator listy i prywatny klucz API, aby upewnić się, że z obu stron są ujęte w cudzysłowy.

SyntaxError: nieprawidłowa składnia

Jeśli widzisz ten błąd, usuń komentarze w kodzie Python (dowolną linię rozpoczynającą się od #).

Dodatkowe źródła

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.
Partnerzy
Zatrudnij certyfikowanego eksperta Klaviyo, który pomoże Ci w konkretnym zadaniu lub w ciągłym zarządzaniu marketingiem.
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.