Come inviare il consenso a Klaviyo tramite Zapier
Cosa imparerai
Scopri come creare un webhook Zapier personalizzato per inviare il consenso agli SMS a Klaviyo. Puoi modificare facilmente le istruzioni di questa guida anche per inviare il consenso alle e-mail.
I passaggi seguenti ti aiuteranno a creare uno Zap usando un webhook (chiamato anche catch hook) che attiva un'azione di script Python. Lo script invia una chiamata API a Klaviyo per iscrivere indirizzi e-mail e numeri di telefono a un elenco.
Questa funzionalità è disponibile solo per gli utenti con piani Zapier Premium.
Informazioni sull’integrazione
Questa integrazione non è completamente supportata da Klaviyo, ma può essere utilizzata come soluzione alternativa, se necessario. Ti consigliamo di usare questa integrazione solo se nel tuo team ci sono sviluppatori che possono supportarla.
Questa guida utilizza un’azione di codice Zapier che esegue uno script Python quando viene rilevato l’attivatore. Con questa soluzione, puoi mappare i campi ai tipi di dati richiesti dagli endpoint di Klaviyo; in particolare, gli endpoint Iscrivi profili e Annullare l’iscrizione ai profili.
Imposta il webhook Zapier
- Accedi al tuo account Zapier.
- Dalla pagina principale di Zapier, seleziona +Crea, quindi seleziona Zap.
- Inserisci un nome per il tuo nuovo Zap (ad es. Klaviyo Webhook).
- Cerca webhook, quindi seleziona Webhooks by Zapier dal menu Trigger.
- Nel menu successivo, seleziona Catch Hook dalle opzioni Evento attivatore.
- Clicca su Continua.
- Seleziona la scheda Test.
- Copia l'URL del webhook che Zapier ti fornisce per inviare le tue richieste.
- Prima di eseguire il test, dovrai inviare dati di test al tuo webhook. Consulta la nostra guida su Come inviare dati di test a Zapier per ulteriori informazioni. Assicurati di formattare correttamente i numeri di telefono quando invii dati di test.
- Dopo aver inviato i dati di test al webhook, fai clic su Attiva trigger di test (nella scheda Test).
- Se la richiesta va a buon fine, vedrai un messaggio di conferma e i dati di test verranno visualizzati sotto il messaggio di conferma, come nell'esempio seguente:
- Una volta che l’attivatore funziona, fai clic su Continua con il record selezionato.
Imposta un'azione Zapier
- Nel menu Azione, inserisci Code by Zapier nella casella di ricerca e seleziona l’opzione dall’elenco.
- Fai clic su Scegli un evento > Esegui Python.
- Clicca su Continua.
Configura la mappatura dei campi e crea la logica dello script
- Configura la mappatura dei campi per correlare i dati di input nella tabella qui sotto ai dati di test corretti che hai inviato in precedenza.
Dati di input | Dati di test mappati |
| 1. E-mail: <Test email> |
| 1. Numero di telefono: <Test phone number> |
| 1. Sms_consent: true |
| 1. Nome: <Test name> |
- Aggiungi uno script come quello qui sotto nella casella del codice:
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} - Sostituisci
your-private-api-keycon la tua chiave API privata di Klaviyo.
Tratta le chiavi API private come password: conservale in un luogo sicuro e non rivelarle mai al pubblico.
- Sostituisci
LIST_ID(in entrambe le posizioni) con l'ID dell'elenco Klaviyo a cui vuoi inviare i dati di Zapier. Puoi trovare l'ID del tuo elenco in Klaviyo andando su Pubblico > Elenchi e segmenti > Impostazioni. Se vuoi iscrivere immediatamente le persone senza una conferma (che può essere utile durante i test), assicurati che l'elenco sia impostato su single opt-in (disponibile nella scheda Consenso nelle impostazioni dell'elenco). - Clicca su Continua, quindi clicca su Test del passaggio.
- Se il test ha esito positivo, vedrai una risposta senza errori, come quella qui sotto:
- Puoi anche verificare l’esito positivo di un test in Klaviyo andando al tuo elenco e assicurandoti che il profilo sia stato aggiunto.
- Una volta che il test è riuscito, clicca su Pubblica per pubblicare il tuo zap. Se il test non riesce, dai un’occhiata ai nostri consigli per la risoluzione dei problemi per i problemi più comuni.
Suggerimenti per la risoluzione dei problemi
Di seguito sono riportati alcuni problemi comuni che potresti riscontrare durante la configurazione del webhook Zapier. Se riscontri altri problemi, puoi contattare la Klaviyo Community per ulteriore supporto.
EOL durante la scansione del letterale della stringa
Se visualizzi questo errore, manca una virgoletta attorno a una delle tue variabili. Controlla l'ID dell'elenco e la chiave API privata per assicurarti che siano racchiusi tra virgolette su entrambi i lati.
SyntaxError: sintassi non valida
Se visualizzi questo errore, rimuovi i commenti nel codice Python (qualsiasi riga che inizia con #).