primeros pasos con Code
Objetivos de aprendizaje
Aprende sobre Código, y cómo crear funciones personalizadas que sean ejecutadas directamente por Klaviyo.
El código requiere un desarrollo personalizado y el equipo de asistencia de Klaviyono puede ofrecer asistencia práctica. Si no tienes un desarrollador en tu equipo y no te sientes cómodo escribiendo código tú mismo, considera la posibilidad de ponerte en contacto con un socio de Klaviyo para que te ayude.
Antes de empezarAntes de empezar
La Plataforma de Datos Avanzada Klaviyo no está incluida en la aplicación de marketing estándar de Klaviyo, y se requiere una suscripción para acceder a la funcionalidad asociada. Dirígete a nuestra guía de facturación para saber cómo contratar este plan.
¿Qué es el Código?
El código te permite ejecutar funciones personalizadas en respuesta a eventos capturar en Klaviyo. Puedes escribir tus propias funciones Javascript o Python en el editor de código, y luego se ejecutan directamente en la plataforma.
Con Code, puedes enviar datos a tus sistemas externos sin necesidad de configurar un punto de conexión HTTP público para recibir webhooks, y crear funcionalidades personalizadas que se activen en respuesta a la ocurrencia de un evento. También puedes acceder a muchos módulos prediseñados populares para facilitar la creación de soluciones personalizadas.
TemasTemas
Code te permite ejecutar funciones personalizadas en respuesta a cualquier evento que pueda consultarse a través de la interfaz de programación de aplicaciones (API) Obtener Eventos.
Entre ellos, se incluyen:
- eventos de correo electrónico (por ejemplo, Correo electrónico pulsado, Correo electrónico marcado como spam )
- Eventos SMS (por ejemplo, SMS enviados, SMS recibidos)
- eventos push de notificación (por ejemplo, push de notificación recibida, push de notificación devuelta)
- Eventos de integraciones (es decir, eventos de integraciones de origen creadas por Klaviyo)
- eventos de la interfaz de programación de aplicaciones (API) (es decir, eventos sincronizados a través de la interfaz de programación de aplicaciones (API) de Klaviyo)
Klaviyo Código no equipo de asistencia los siguientes eventos como temas:
- Se abrió el correo electrónico
- correo electrónico recibido
Interfaz de código
Para acceder al Código, ve a la pestaña Código en Plataforma de Datos Klaviyo Avanzada > datos Gestión > Código.
Para crear una función personalizada, selecciona el botón Crear una función :
Accederás a la página Recetas , donde puedes seleccionar una solución ya creada para ejecutarla, o una función Python o Node.js en blanco.
Si seleccionas una receta existente, verás el editor de código con el código de la solución, junto con una descripción de la funcionalidad.
Si seleccionas una función en blanco para poder crear tus propias soluciones personalizadas, aparecerá el modal Detalles donde podrás hacerlo:
-
Nombra tu función
Un nombre para identificar tu función. -
Selecciona un tema para tu función
El evento que desencadenará la ejecución de tu código . -
Selecciona un tiempo de ejecución
El entorno de ejecución en el que se ejecuta el código (es decir, Python o Node.js).
Tras realizar las selecciones necesarias y seleccionar el botón Crear función , accederás a una interfaz con las siguientes pestañas:
- Editor
- Resultado de la prueba
- Registros
Conceder permisos
La primera vez que crees una función a través de Code, se te pedirá que autentiques la aplicación Code OAuth. Esto es necesario para que tus funciones de Código puedan acceder a los datos de tu cuenta de Klaviyo.
Una vez que hayas concedido el acceso, accederás al Editor de código.
EditorEditor
En la página del Editor en Código, dividirás la página en 3 pestañas:
-
Código
La pestaña de código tiene un editor donde puedes escribir funciones Python o Javascript. -
Módulos
Los módulos son paquetes de terceros que añaden funcionalidad a tus funciones. -
Variables de entorno
Las variables de entorno son los pares clave-valor a los que accede tu función cuando se ejecuta.
Código
En la pestaña Código , verás un editor que puedes utilizar para escribir funciones Python o Javascript que se ejecuten en respuesta al tema seleccionado.
Parámetros de la función del manipulador
Para que Klaviyo ejecute el código que escribas, debe estar envuelto en una función llamada "manejador" que acepte 2 parámetros:
-
Evento
Consiste en los datos del evento asociados al evento desencadenante en formato JSON:interfaz de programación de aplicaciones (API). Si el activador no está basado en eventos (por ejemplo, Añadido a la lista), el valor de este parámetro será Ninguno o Nulo, dependiendo del idioma. -
Contexto
Contiene metadatos adicionales sobre la ejecución de la función, incluido el perfil asociado a la invocación de la función. Puedes acceder al objeto perfil mediante context.perfil en Javascript o context["perfil" ] en Python.
A continuación se muestran ejemplos de los parámetros de evento y contexto que se pasan a la función manejadora.
Ejemplo de formato de evento
{
{
" datos": {
" tipo": "evento",
" id": "7S2q9haejYG",
" atributos": {
" timestamp": 1694435729,
" event_properties": {
"MfaEnabled": false,
"IpAddress": "000.00.0.0",
"UserAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36",
"UserRole": "Owner",
"SessionId": "34sh0a9nh8ngnk2nfacjxmt592yx40ib",
"LoginType": "Username_password",
"current_company_id": "XXXXX",
"$event_id": "1694435729"
},
" datetime": "2023-09-11 12:35:29+00:00",
" uuid": "b0b8fe80-509f-11ee-8001-278cc529fcd3"
},
" relationships": {
" datos del perfil": {
"type": "profile",
"id": "123456"
},
" enlaces": {
"self": "https://a.klaviyo.com/api/events/7S2q9haejYG/relationships/profile/",
"related": "https://a.klaviyo.com/api/events/7S2q9haejYG/profile/"
}
},
" métrica": {
" datos": {
"type": "metric",
"id": "4Tdup6"
},
" enlaces": {
"self": "https://a.klaviyo.com/api/events/7S2q9haejYG/relationships/metric/",
"related": "https://a.klaviyo.com/api/events/7S2q9haejYG/metric/"
}
}
},
" enlaces": {
"self": "https://a.klaviyo.com/api/events/7S2q9haejYG/"
}
}
}
Ejemplo de formato de contexto
{
" company_id": "XXXXX",
" desencadenante": {"type": "event", "uid": "123456"},
" function_id": "123456",
}
MódulosMódulos
En la pestaña Módulos, puedes seleccionar entre los módulos precompilados más populares (es decir, paquetes de terceros que añaden capacidades a tus funciones).
Para añadir un módulo externo y utilizarlo en tu código, selecciona el botón Añadir módulo:
En el modal que aparece, puedes buscar y seleccionar el módulo que te gustaría añadir:
Una vez añadido, puedes utilizar el módulo con el código que escribas en Klaviyo.
Debes consultar la documentación nativa del módulo externo para obtener información sobre cómo utilizarlo.
El módulo Klaviyo
Todas las funciones de Code vienen con un Klaviyo preinstalado en tu entorno Code. Este módulo permite que tus funciones accedan a los datos de tu cuenta Klaviyo sin necesidad de proporcionar ninguna credencial, como una clave de API.
La interfaz de programación de aplicaciones (API) del módulo Klaviyo módulo depende de si tu código está escrito en Python o en Javascript.
Python Klaviyo móduloPython Klaviyo módulo
La interfaz de programación de aplicaciones (API) del módulo preinstalado Klaviyo es el mismo que el objeto SDKKlaviyo que normalmente instanciarías con el módulo Python Klaviyo-interfaz de programación de aplicaciones (API). Puedes pensar en el módulo Klaviyo como un cliente Klaviyo cliente del SDK.
Por ejemplo, en un flujo de trabajo tradicional, primero instanciarías un nuevo cliente SDK Klaviyo pasando una clave de API al constructor, y luego utilizarías el objeto SDK resultante.
from klaviyo_api importar KlaviyoAPI
importar os
def handler(evento, contexto):
Klaviyo = KlaviyoAPI(api_key=os.getenv("KLAVIYO_API_KEY"))
print(Klaviyo.métrica.get_metrics())
Con Code, sólo tienes que importar el objeto Klaviyo y la autenticación se realiza por ti.
importar Klaviyo
def manejador(evento, contexto):
print(Klaviyo.métrica.get_metrics())
Consulta los objetos Klaviyo disponibles y sus métodos.
Javascript Klaviyo móduloJavascript Klaviyo módulo
Cuando utilices el módulo Klaviyo en tus funciones Javascript, importa las funciones/características específicas de Klaviyo a las que quieras acceder utilizando la sintaxis de llaves del módulo Klaviyo módulo. A continuación, utilízalos como lo harías normalmente Klaviyocon un objeto de interfaz de programación de aplicaciones ( API) utilizando el módulo Javascript -interfaz de programación de aplicaciones (API).
importar { Metrics } de 'Klaviyo';
exportar por defecto async (evento, contexto) => {
console.log(await Metrics.getMetrics())
}
Consulta los objetos Klaviyo disponibles y sus métodos.
Variables de entorno
La pestaña Variables de entorno te permite establecer pares clave-valor a los que tu código en Klaviyo puede hacer referencia cuando se ejecuta. Pueden utilizarse para tienda, comercio información como credenciales y claves secretas para que tus funciones puedan acceder a ellas mientras se ejecutan.
Para añadir una variable de entorno, selecciona el botón Añadir una variable:
En el modal que aparece, puedes establecer un par clave-valor para tu variable de entorno.
Una vez creadas, las variables de entorno aparecerán en la página y podrás utilizarlas en tu código.
Para acceder a tus variables de entorno en tu código, utiliza os.getenv("Key") para Python, o process.env.KEY para Node.js.
Para actualizar el valor de una variable de entorno existente, debes crear una nueva variable con la misma clave cuyo valor quieras actualizar.
Resultado de la prueba
La pestaña Salida de prueba en Código te permite probar tu código con eventos recientes para confirmar que la salida se comporta como se espera.
Para probar tu función:
- Selecciona el botón Ejecutar prueba:
- En el modal que aparece, selecciona un evento con el que realizar la prueba. Puedes seleccionar entre los 10 acontecimientos más recientes capturar en Klaviyo.
- Tras seleccionar un evento con el que realizar la prueba, se mostrará la salida de la prueba:
Registros
La pestaña Registros muestra la salud de tus funciones de Código en curso. Ya lo verás:
-
Estado
El progreso de la ejecución de una función. -
Tiempo de respuesta
La cantidad de tiempo que tarda tu código en ejecutarse en respuesta a un evento. -
Fecha
La fecha y hora en que se ejecutó la función.
Límites de tarifa
El código Klaviyo tiene los siguientes límites de tarifa:
-
Tiempo de espera de las funciones
Las funciones en Código pueden ejecutarse hasta 15 segundos antes de que se agote el tiempo de espera. -
Límite de velocidad de las funciones
Las funciones en Code permiten hasta 25 ejecuciones simultáneas por función.
Despliegue del código
Para desplegar el código que escribas en el editor, cambia el desplegable de estado a En vivo.
Una vez puesto en vivo, el código que escribas se ejecutará cada vez que se capture el evento del tema en Klaviyo.
Cuando una función se activa en directo, puede haber un retraso de hasta 15 minutos antes de que los eventos empiecen a activar la función.
Ejemplo de solución
A continuación se muestra un ejemplo de solución personalizada implementada con Code.
En el ejemplo, los datos de eventos se establecen como propiedades del perfil para que se puedan utilizar en el correo electrónico segmentado y en la segmentación. El evento personalizado Sesión reservada se captura en Klaviyo cuando el cliente reserva una sesión con la marca, y los datos sobre la ciudad de la reserva y la URL asociada se establecen como propiedades del perfil en el perfil respectivo.
También se crea una propiedad llamada Reservas recientes , que tienda, comercio datos de los 5 eventos de rodaje reservados más recientes para que se pueda recorrer en bucle y acceder a ella en una plantillas de correo electrónico.
CódigoCódigo
El código Python de esta solución se escribe en el editor de código y Klaviyo lo ejecuta directamente.
Código de ejemplo
MódulosMódulos
En este ejemplo, se utiliza el módulo Klaviyo incorporado. El módulo Klaviyo depende de que se añada a la función el módulo Klaviyo-interfaz de programación de aplicaciones (API). Una vez añadido, el módulo Klaviyo se encargará de la autenticación por ti, por lo que no se necesita ninguna clave de API.
Variables de entornoVariables de entorno
Las variables de entorno pueden utilizarse para tienda, comercio información como credenciales y claves secretas para que tus funciones puedan acceder a ellas mientras se ejecutan. Para este ejemplo, se establece el siguiente par clave-valor:
-
MAX_PROPIEDADES_A_ALMACENAR
Variable de entorno utilizada para definir el número máximo de propiedades a tienda, comercio para la función de ejemplo.
Pruebas
Al crear la función para establecer datos de eventos como propiedades del perfil, se utiliza la pestaña Salida de prueba para verificar la salida esperada.
Registros
Una vez que se ha creado y probado la función, la pestaña Registros muestra el estado de salud de la función a medida que se ejecuta en respuesta a los eventos de rodaje Reservados .
Resultado
Con esta función de código, cuando el cliente se registre para rodajes y active el evento personalizado Rodaje reservado, los datos del evento se almacenarán en el perfil del cliente para su uso en segmentación y campañas específicas.
Implementar recetasImplementar recetas
Las Recetas en Código te permiten implantar soluciones prefabricadas sin necesidad de desarrollo personalizado.
Para implementar una Receta en tu cuenta de Klaviyo:
- Selecciona el botón Crear función en la página Código.
- Elige la Receta que quieras implementar en tu cuenta. Accederás al editor, donde podrás ver el código de la Receta seleccionada, junto con una descripción de lo que hace la función.
- Pulsa el botón Seleccionar para continuar.
- Elige un nombre para la función y el desencadenante que hará que se ejecute. El tiempo de ejecución se establece automáticamente en función del código de la Receta.
- Selecciona el botón de función Crear.
- Una vez creada la función, establece las variables de entorno pertinentes para que la función disponga de los datos que necesita para ejecutarse.
- Ahora se puede probar la Receta y ponerla en Directo.
Las recetas pueden requerir que actualices ciertos campos para que se ajusten a tus preferencias de nomenclatura y a los datos de tus eventos. Consulta las instrucciones de la Receta para ver qué campos se pueden renombrar y editar.
Recursos adicionales
Primeros pasos con la Plataforma de Datos Avanzada Klaviyo
Comprender los diferentes webhook disponibles en Klaviyo