Imparerai
Scopra come creare un webhook Zapier personalizzato per inviare il consenso via SMS a Klaviyo. Può facilmente modificare le istruzioni di questa guida per inviare anche il consenso via e-mail.
I passi seguenti la aiuteranno a creare uno Zap utilizzando un webhook (chiamato anche catch hook) che attiva un'azione di uno script Python. Lo script invia una chiamata API a Klaviyo per iscrivere i numeri di telefono e le e-mail a una lista.
Questa funzione è 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. Raccomandiamo di utilizzare questa integrazione solo se nel suo team ci sono sviluppatori in grado di supportarla.
Questa guida utilizza un'azione di codice Zapier che esegue uno script Python quando viene rilevato il trigger. Con questa soluzione, può mappare i campi sui tipi di dati richiesti dagli endpoint di Klaviyo; in particolare, gli endpoint Profili di iscrizione e Profili di cancellazione.
Impostare il webhook ZapierImpostare il webhook Zapier
- Acceda al suo account Zapier.
- Dalla pagina principale di Zapier, selezioni +Crea, quindi selezioni Zap.
- Inserisca un nome per il suo nuovo Zap (ad esempio, Klaviyo Webhook).
- Cerchi Webhook, quindi selezioni Webhooks by Zapier dal menu Trigger.
- Nel menu successivo, selezioni Gancio di cattura tra le opzioni di Evento scatenante.
- Clicchi su Continua.
- Selezioni la scheda Test.
- Copi l'URL del webhook che Zapier le fornisce per inviare le sue richieste.
- Prima di eseguire il test, dovrà inviare i dati di prova al suo webhook. Per maggiori informazioni, consulti la nostra guida su Come inviare dati di test a Zapier. Si assicuri di formattare correttamente i numeri di telefono quando invia i dati di prova.
- Una volta inviati i dati di test al webhook, faccia clic su Test trigger (nella scheda Test ).
- Se la richiesta va a buon fine, verrà visualizzato un messaggio di successo e i dati del test verranno visualizzati sotto il messaggio di successo, come nell'esempio seguente:
- Una volta che il trigger funziona, faccia clic su Continua con il record selezionato.
Impostare l'azione Zapier
- Nel menu Azione, inserisca Code by Zapier nella casella di ricerca e selezioni l'opzione dall'elenco.
- Clicchi su Scegliere un evento > Eseguire Python.
- Clicchi su Continua.
Impostare la mappatura dei campi e creare la logica dello script
- Impostate la mappatura dei campi per correlare i dati di input nella tabella sottostante ai dati di test corretti che avete inviato in precedenza.
Dati di ingresso Dati del test mappati e-mail
1. Email: <Test email> numero_di_telefono
1. Numero di telefono: <Test phone number> sms_consenso
1. Sms_consent: true nome
1. Nome: <Test name>
- Aggiunga uno script come quello qui sotto alla casella del codice:
importare le richieste # configurare la chiamata di sottoscrizione o annullamento degli sms if (input_data["sms_consent"] == "true" o input_data["sms_consent"] == "True" o input_data["sms_consent"] == "TRUE"): url = "https://a.klaviyo.com/api/profile-subscription-bulk-create-jobs/"
carico utile = { "data": { "tipo": "profilo-sottoscrizione-bulk-creazione-lavoro", "attributi": { "profili": { "dati": [ { "tipo": "profilo", "attributi": { "email": input_data["email"], "numero di telefono": input_data["numero di telefono"], "iscrizioni": { "sms": { " marketing": { "consent": "SUBSCRIBED" } } } } } ] } }, "relazioni": { "elenco": { "dati": { "type": "list", "id": "LIST_ID" } } } } } elif (input_data["sms_consent"] == "false" o input_data["sms_consent"] == "False" o input_data["sms_consent"] == "FALSE"):
url = "https://a.klaviyo.com/api/profile-subscription-bulk-delete-jobs/" carico utile = { "data": { "tipo": "profilo-abbonamento-bulk-cancellazione-lavoro", "attributi": { "profili": { "dati": [ { "tipo": "profilo", "attributi": { "email": input_data["email"], "phone_number": input_data["phone_number"], } } ] } }, "relazioni": { "elenco": { "dati": { "type": "list", "id": "LIST_ID" } } } } }
intestazioni = { "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=intestazioni) # Zapier richiede un oggetto 'output output = {"response text": response.text} - Sostituisca
your-private-api-key con la
sua chiave API privata di Klaviyo.
Tratta le chiavi API private come le password: le conservi in un luogo sicuro e non le esponga mai al pubblico.
- Sostituisca
LIST_ID
(in entrambe le posizioni) con l'ID della lista Klaviyo a cui desidera inviare i dati Zapier. Può trovare l'ID della sua lista in Klaviyo navigando su Audience > Liste & segmenti > Impostazioni. Se desidera iscrivere immediatamente le persone senza una conferma (cosa che può essere utile durante i test), si assicuri che la sua lista sia impostata su single opt-in (si trova nella scheda Consenso all'interno delle impostazioni della lista). - Clicchi su Continua, quindi su Test step.
- Se il suo test ha successo, vedrà una risposta senza errori, come quella qui sotto:
- Può anche verificare che il test sia andato a buon fine in Klaviyo, navigando nella sua lista e verificando che il profilo sia stato aggiunto.
- Una volta che il suo test è riuscito, clicchi su Pubblica per pubblicare il suo zap. Se il test non va a buon fine, consulti i nostri suggerimenti per la risoluzione dei problemi più comuni.
Suggerimenti per la risoluzione dei problemi
Di seguito sono riportati i problemi comuni in cui può imbattersi durante l'impostazione del webhook Zapier. Se riscontra altri problemi, può rivolgersi alla Community di Klaviyo per ulteriori indicazioni.
EOL durante la scansione di un letterale di stringaEOL durante la scansione di un letterale di stringa
Se vede questo errore, le manca una virgoletta intorno a una delle sue variabili. Controlli l'ID dell'elenco e la chiave API privata per assicurarsi che siano circondati da entrambi i lati da virgolette.
SyntaxError: sintassi non validaSyntaxError: sintassi non valida
Se vede questo errore, rimuova i commenti nel codice Python (qualsiasi riga che inizia con un #
).