Qué aprenderás
Aprenda a crear un webhook Zapier personalizado para enviar el consentimiento por SMS a Klaviyo. Puede modificar fácilmente las instrucciones de esta guía para enviar también el consentimiento por correo electrónico.
Los pasos siguientes le ayudarán a crear un Zap utilizando un webhook (también llamado gancho de captura) que desencadena una acción de script Python. El script envía una llamada API a Klaviyo para suscribir correos electrónicos y números de teléfono a una lista.
Esta función sólo está disponible para los usuarios con planes Zapier Premium.
Acerca de la integración
Esta integración no es totalmente compatible con Klaviyo, pero se puede utilizar como una solución si es necesario. Le recomendamos que sólo utilice esta integración si cuenta con desarrolladores en su equipo que puedan soportarla.
Esta guía utiliza una acción de código Zapier que ejecuta un script Python cuando se detecta el disparador. Con esta solución, puede asignar campos a los tipos de datos que requieren los puntos finales de Klaviyo; en concreto, los puntos finales Perfiles de suscripción y Perfiles de anulación de suscripción.
Configurar el webhook ZapierConfigurar el webhook Zapier
- Inicie sesión en su cuenta Zapier.
- En la página principal de Zapier, seleccione +Crear y, a continuación, seleccione Zap.
- Introduzca un nombre para su nuevo Zap (por ejemplo, Klaviyo Webhook).
- Busque Webhook y, a continuación, seleccione Webhooks by Zapier en el menú Trigger.
- En el siguiente menú, seleccione Gancho de captura entre las opciones de Evento desencadenante.
- Pulse Continuar.
- Seleccione la pestaña Prueba.
- Copie la URL del webhook que Zapier le proporciona para enviar sus peticiones.
- Antes de realizar la prueba, deberá enviar datos de prueba a su webhook. Consulte nuestra guía sobre Cómo enviar datos de prueba a Zapier para obtener más información. Asegúrese de formatear correctamente los números de teléfono al enviar los datos de prueba.
- Una vez que haya enviado los datos de prueba al webhook, haga clic en Activar prueba (en la pestaña Prueba ).
- Si la solicitud tiene éxito, verá un mensaje de éxito, y los datos de la prueba se rellenarán debajo del mensaje de éxito, de forma similar al ejemplo siguiente:
- Una vez que su activador funcione, haga clic en Continuar con el registro seleccionado.
Configurar la acción Zapier
- En el menú Acción, introduzca Code by Zapier en el cuadro de búsqueda y seleccione la opción de la lista.
- Haga clic en Elija un evento > Ejecutar Python.
- Pulse Continuar.
Configure la asignación de campos y cree la lógica de script
- Configure el mapeo de campos para correlacionar los datos de entrada de la tabla siguiente con los datos de prueba correctos que envió previamente.
Datos de entrada Datos de prueba mapeados correo electrónico
1. Correo electrónico: <Correo electrónico de prueba> <Test email> número_teléfono
1. Número de teléfono: <Número de teléfono de prueba> <Test phone number> sms_consentimiento
1. Sms_consentimiento: true nombre
1. Nombre: <Test name>
- Añada un script como el siguiente a la caja de código:
importar peticiones # configurar llamada de suscripción o baja de sms 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/"
carga útil = { "datos": { "tipo": "perfil-suscripción-granel-crear-trabajo", "atributos": { "perfiles": { "datos": [ { "tipo": "perfil", "atributos": { "correo electrónico": input_data["correo electrónico"], "número_teléfono": input_data["número_teléfono"], "suscripciones": { "sms": { " marketing": { "consent": "SUBSCRIBED" } } } } } ] } }, "relaciones": { "lista": { "datos": { "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/" carga útil = { "datos": { "type": "profile-subscription-bulk-delete-job", "atributos": { "perfiles": { "datos": [ { "tipo": "perfil", "atributos": { "email": input_data["email"], "phone_number": input_data["phone_number"], } } ] } }, "relaciones": { "lista": { "datos": { "type": "list", "id": "LIST_ID" } } } } }
cabeceras = { "accept": "application/json", "revision": "2024-05-15", "content-type": "application/json", "Authorization": "Klaviyo-API-Key your-private-api-key" } response = requests.post(url, json=carga de pago, cabeceras=cabeceras) # Zapier requiere un objeto 'output salida = {"response text": response.text} - Sustituya
su-clave-api-privada por
su clave API privada de Klaviyo.
Trate las claves API privadas como contraseñas: guárdelas en un lugar seguro y nunca las exponga al público.
- Sustituya el
LIST_ID
(en ambas ubicaciones) por el ID de la lista de Klaviyo a la que desea enviar los datos de Zapier. Puede encontrar el ID de su lista en Klaviyo navegando a Audiencia > Listas & segmentos > Configuración. Si desea suscribir inmediatamente a las personas sin una confirmación (lo que puede ser útil durante las pruebas) asegúrese de que su lista está configurada como opt-in único (se encuentra en la pestaña Consentimiento dentro de la configuración de la lista). - Haga clic en Continuar y, a continuación, en Paso de prueba.
- Si su prueba tiene éxito, verá una respuesta sin errores, como la que se muestra a continuación:
- También puede comprobar si la prueba se ha realizado correctamente en Klaviyo navegando a su lista y asegurándose de que el perfil se ha añadido.
- Una vez que su prueba haya tenido éxito, haga clic en Publicar para publicar su zap. Si su prueba no tiene éxito, consulte nuestros consejos para solucionar los problemas más comunes.
Consejos para solucionar problemas
Los siguientes son problemas comunes con los que puede encontrarse mientras configura el webhook Zapier. Si se encuentra con cualquier otro problema, puede ponerse en contacto con la Comunidad Klaviyo para obtener más orientación.
EOL al escanear literal de cadenaEOL al escanear literal de cadena
Si ve este error, es que le falta una comilla alrededor de una de sus variables. Compruebe que el ID de la lista y la clave privada de la API están rodeados a ambos lados por comillas.
SyntaxError: sintaxis inválidaSyntaxError: sintaxis inválida
Si ve este error, elimine los comentarios en el código Python (cualquier línea que empiece por #
).