Hoe je toestemming naar Klaviyo stuurt via Zapier
Wat je leert
Ontdek hoe je een aangepaste Zapier-webhook maakt om sms-toestemming naar Klaviyo te sturen. Je kunt de instructies in deze handleiding eenvoudig aanpassen om ook e-mailtoestemming te versturen.
De onderstaande stappen helpen je een Zap te maken met een webhook (ook wel een catch hook genoemd) die een Python-scriptactie triggert. Het script verstuurt een API-call naar Klaviyo om e-mail- en telefoonnummers aan te melden voor een lijst.
Deze functie is alleen beschikbaar voor gebruikers met Premium Zapier-abonnementen.
Over de integratie
Deze integratie wordt niet volledig ondersteund door Klaviyo, maar kan indien nodig als tijdelijke oplossing worden gebruikt. We raden je aan deze integraties alleen te gebruiken als je developers in je team hebt die deze kunnen ondersteunen.
Deze handleiding gebruikt een Zapier-codeactie die een Python-script uitvoert wanneer de trigger wordt gedetecteerd. Met deze oplossing kun je velden koppelen aan de gegevenstypen die Klaviyo-eindpunten vereisen; specifiek de eindpunten Profielen aanmelden en Profielen afmelden.
Zapier-webhook instellen
- Log in bij je Zapier-account.
- Selecteer op de hoofdpagina in Zapier +Maken en selecteer vervolgens Zap.
- Voer een naam in voor je nieuwe Zap (bijv. Klaviyo-webhook).
- Zoek naar webhook en selecteer vervolgens Webhooks by Zapier in het menu Trigger.
- Selecteer in het volgende menu Catch Hook in de opties voor Trigger Event.
- Klik op Doorgaan.
- Selecteer het tabblad Test.
- Kopieer de webhook-URL die Zapier voor je aanbiedt om je verzoeken naartoe te sturen.
- Voordat je gaat testen, moet je testgegevens naar je webhook sturen. Bekijk voor meer informatie onze handleiding over Testgegevens naar Zapier sturen. Zorg dat je telefoonnummers correct opmaakt wanneer je testgegevens verstuurt.
- Zodra je de testgegevens naar de webhook hebt gestuurd, klik je op Testtrigger (op het tabblad Test).
- Als de aanvraag is gelukt, zie je een succesbericht en worden de testgegevens onder het succesbericht ingevuld, vergelijkbaar met het onderstaande voorbeeld:
- Zodra je trigger werkt, klik je op Doorgaan met geselecteerde record.
Zapier-actie instellen
- Voer in het menu Actie Code by Zapier in het zoekvak in en selecteer de optie in de lijst.
- Klik op Kies een event > Python uitvoeren.
- Klik op Doorgaan.
Stel veldtoewijzing in en maak scriptlogica
- Stel veldmapping in om de invoergegevens in de tabel hieronder te koppelen aan de juiste testgegevens die je eerder hebt verzonden.
Invoergegevens | Testgegevens toegewezen |
| 1. E-mail: <Test email> |
| 1. Telefoonnummer: <Test phone number> |
| 1. Sms_consent: true |
| 1. Naam: <Test name> |
- Voeg een script zoals hieronder toe aan het codevak:
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} - Vervang
your-private-api-keydoor je Klaviyo privé-API-sleutel.
Behandel privé-API-sleutels als wachtwoorden – bewaar ze op een veilige plek en maak ze nooit openbaar.
- Vervang de
LIST_ID(op beide locaties) door de Klaviyo-lijst-ID waarnaar je je Zapier-gegevens wilt sturen. Je vindt je lijst-ID in Klaviyo door te navigeren naar Doelgroep > Lijsten & segmenten > Instellingen. Als je mensen direct wilt aanmelden zonder bevestiging (wat handig kan zijn tijdens het testen), zorg er dan voor dat je lijst is ingesteld op single opt-in (te vinden onder het tabblad Toestemming in de lijstinstellingen). - Klik op Doorgaan en klik vervolgens op Teststap.
- Als je test is geslaagd, zie je een reactie zonder fouten, zoals hieronder:
- Je kunt ook in Klaviyo controleren of een test is gelukt door naar je lijst te gaan en te controleren of het profiel is toegevoegd.
- Als je test is geslaagd, klik je op Publiceren om je zap te publiceren. Als je test niet succesvol is, bekijk dan onze tips voor probleemoplossing voor veelvoorkomende problemen.
Tips voor probleemoplossing
De volgende problemen komen vaak voor bij het instellen van de Zapier-webhook. Als je andere problemen tegenkomt, kun je contact opnemen met de Klaviyo Community voor verdere begeleiding.
EOL tijdens het scannen van stringliteral
Als je deze fout ziet, ontbreekt er een aanhalingsteken rond een van je variabelen. Controleer de lijst-ID en private API-sleutel om te zorgen dat ze aan beide kanten tussen aanhalingstekens staan.
SyntaxError: ongeldige syntaxis
Als je deze fout ziet, verwijder dan de opmerkingen in de Python-code (elke regel die begint met een #).