Introducción al código

Hola: 8 minutos de lectura
|
Actualizado 22 nov 2024, 12:55 EST
Qué aprenderás

Qué aprenderás

Aprenda sobre Código, y cómo crear funciones personalizadas que son ejecutadas directamente por Klaviyo.

El código requiere un desarrollo personalizado y el equipo de soporte de Klaviyo no puede ofrecer asistencia práctica. Si no tiene un desarrollador en su equipo y no se siente cómodo escribiendo código usted mismo, considere la posibilidad de contactar con un socio de Klaviyo para que le ayude.

Antes de empezar

Antes de empezar

Code forma parte de la plataforma de datos de clientes (CDP) de Klaviyo. 

Klaviyo CDP no está incluido en la aplicación de marketing estándar de Klaviyo, y se requiere una suscripción CDP para acceder a la funcionalidad asociada. Vaya a nuestra guía de facturación para saber más sobre cómo añadir esta funcionalidad a su plan o empiece si es un cliente nuevo.

¿Qué es el Código?

¿Qué es el Código?

El código le permite ejecutar funciones personalizadas en respuesta a eventos capturados en Klaviyo. Puede escribir sus propias funciones Javascript o Python en el editor de código, y luego se ejecutan directamente en la plataforma.

Con Código, puedes enviar datos a tus sistemas externos sin tener que configurar un punto de conexión HTTP público para recibir webhooks, así como crear una funcionalidad personalizada que se active en respuesta a la aparición de un evento. También puedes acceder a muchos módulos prediseñados populares para facilitar la creación de soluciones personalizadas.

Temas

Temas

Code le permite ejecutar funciones personalizadas en respuesta a cualquier evento que pueda consultarse a través de la API Obtener eventos.

Entre ellos se incluyen:

  • eventos de correo (por ejemplo, correo pulsado, correo marcado como spam )
  • Eventos SMS (por ejemplo, SMS enviados, SMS recibidos)
  • notificación de eventos push (por ejemplo, Push recibido, Push rebotado)
  • Eventos de integraciones ( es decir, eventos de integraciones de primera parte creadas por Klaviyo)
  • API eventos (es decir, eventos sincronizados a través de Klaviyo's API)

Klaviyo Code no admite los siguientes eventos como temas:

  1. Correo electrónico abierto
  2. Correo electrónico recibido
Interfaz de código

Interfaz de código

Para acceder a Código, navegue hasta la pestaña Código en plataforma de datos de clientes > Gestión de datos > Código

código.jpg

Para crear una función personalizada, seleccione el botón Crear una función :

Crear un botón de función

Accederá a la página Recetas , donde podrá seleccionar una solución preconstruida para ejecutar o una función Python o Node.js en blanco.

imagen (9).jpg

Si selecciona una receta existente, verá el editor de código con el código de la solución, junto con una descripción de la funcionalidad. 

imagen (10).jpg

Si selecciona una función en blanco para poder crear sus propias soluciones personalizadas, aparecerá el modal Detalles donde podrá hacerlo:

  • Nombre su función
    Un nombre para identificar su función.
  • Seleccione un tema para su función
    El evento que desencadenará la ejecución de su código .
  • Seleccione un tiempo de ejecución
    El entorno de ejecución en el que se ejecuta el código (es decir, Python o Node.js).

3.11.jpg

Tras realizar las selecciones necesarias y seleccionar el botón Crear función , accederá a una interfaz con las siguientes pestañas: 

  • Editor 
  • Salida de prueba 
  • Registros
Editor

Editor

En la página Editor en Código, verá la página dividida en 3 pestañas:

  • Código
    La pestaña de código dispone de un editor donde puede escribir funciones Python o Javascript.
  • Módulos
    Los módulos son paquetes de terceros que añaden funcionalidad a sus funciones.
  • Variables de entorno
    Las variables de entorno son los pares clave-valor a los que accede su función cuando se ejecuta. 
Código

Código

En la pestaña Código , verá un editor que puede utilizar para escribir funciones Python o Javascript que se ejecuten en respuesta al tema seleccionado.

3.11(2).jpgjs.jpg

Parámetros de la función manipuladora

Parámetros de la función manipuladora

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"
    },
   "relaciones": {
     "perfil": {
       "datos": {
          "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ódulos

Módulos

En la pestaña Módulos, puede seleccionar entre los módulos preconstruidos más populares (es decir, paquetes de terceros que añaden capacidades a sus funciones). 

Para añadir un módulo externo y utilizarlo en su código, seleccione el botón Añadir módulo:

Botón Añadir módulo

En el modal que aparece, puede buscar y seleccionar el módulo que desea añadir: 

Añadir módulo modal

Una vez añadido, puede utilizar el módulo con el código que escriba en Klaviyo.

Debe consultar la documentación nativa del módulo externo para obtener información sobre cómo utilizarlo.

Módulos añadidos

Variables de entorno 

Variables de entorno 

La pestaña Variables de entorno le permite establecer pares clave-valor a los que su código en Klaviyo puede hacer referencia cuando se ejecuta. Pueden utilizarse para almacenar información como credenciales y claves secretas para que sus funciones puedan acceder a ellas mientras se ejecutan. 

Para añadir una variable de entorno, seleccione el botón Añadir una variable

Botón Añadir variables de entorno

En el modal que aparece, puede establecer un par clave-valor para su variable de entorno. 

Pares clave-valor establecidos para la variable de entorno

Una vez creadas, las variables de entorno aparecerán en la página y podrá utilizarlas en su código. 

Para acceder a sus variables de entorno en su código, utilice os.getenv("Clave") para Python, o process.env("Clave") para Node.js.

Variables de entorno creadas

Para actualizar el valor de una variable de entorno existente, debe crear una nueva variable con la misma clave cuyo valor desea actualizar.

Salida de prueba

Salida de prueba

La pestaña Salida de prueba en Código le permite probar su código con eventos recientes para confirmar que la salida se comporta como se espera. 

Para probar su función:

  1. Seleccione el botón Ejecutar prueba:
    Botón Ejecutar prueba
  2. En el modal que aparece, seleccione un evento con el que realizar la prueba. Puede seleccionar entre los 10 eventos más recientes capturados en Klaviyo.
    Acontecimientos recientes con los que hacer pruebas
  3. Tras seleccionar un evento con el que realizar la prueba, se mostrará la salida de la prueba:Salida de prueba
Registros

Registros

La pestaña Registros muestra la salud de sus funciones de Código en curso. Ya lo verá:

  • Estado
    El progreso de la ejecución de una función. 
  • Tiempo de respuesta
    La cantidad de tiempo que tarda su código en ejecutarse en respuesta a un evento.
  • Fecha
    Una marca de tiempo de cuándo se ejecutó la función. 
Despliegue del código 

Despliegue del código 

Para desplegar el código que escriba en el editor, cambie el desplegable de estado a En vivo

Activar para desplegar código

Una vez puesto en vivo, el código que escriba se ejecutará cada vez que el evento del tema sea capturado en Klaviyo.

Cuando una función se activa, puede haber un retraso de hasta 15 minutos antes de que los eventos empiecen a activar la función.

Ejemplo de solución

Ejemplo de solución

A continuación se muestra un ejemplo de una solución personalizada implementada con Code.

En el ejemplo, los datos del evento se establecen como una propiedad del perfil para que puedan utilizarse en correos electrónicos dirigidos y en la segmentación. El evento personalizado Sesión reservada se captura en Klaviyo cuando los clientes reservan una sesión con la marca, y los datos sobre la ciudad de la reserva y la URL asociada se establecen como una propiedad del perfil en el perfil respectivo.

También se crea una propiedad llamada Reservas recientes , que almacena los datos de los 5 eventos de rodaje reservados más recientes, de forma que se pueda recorrer en bucle y acceder a ellos en una plantilla de correo electrónico.

Código

Código

El código Python de esta solución se escribe en el editor de código y es ejecutado directamente por Klaviyo.

Editor de código con solución de ejemplo

Código de ejemplo

Código de ejemplo

Módulos

Módulos

En este ejemplo, se utiliza el módulo klaviyo-api, que permite al usuario trabajar más fácilmente con las API de Klaviyo a través de métodos preconstruidos.

Módulo API Klaviyo

Variables de entorno

Variables de entorno

Las variables de entorno pueden utilizarse para almacenar información como credenciales y claves secretas para que sus funciones puedan acceder a ellas mientras se ejecutan. Para este ejemplo, se establecen los siguientes pares clave-valor:

  • KLAVIYO_CLAVE_PRIVADA
    Una variable de entorno para almacenar la clave privada asociada a la cuenta de Klaviyo que realiza las peticiones a la API.
  • MAX_PROPIEDADES_A_ALMACENAR
    Una variable de entorno utilizada para definir el número máximo de propiedades a almacenar para la función de ejemplo.

Variables de entorno.jpg

Pruebas

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.

salida_prueba.jpg

Registros

Registros

Una vez creada y probada 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

Registros.jpg

Resultado

Resultado

Con esta función de código en funcionamiento, a medida que los clientes se inscriban en rodajes y activen el evento personalizado Rodaje reservado, los datos del evento se almacenarán en el perfil del cliente para su uso en la segmentación y las campañas dirigidas. 

Implementación de recetas  

Implementación de recetas  

Las Recetas en Código le permiten implementar soluciones preconstruidas sin necesidad de un desarrollo personalizado.

Para implementar una Receta en su cuenta de Klaviyo:

  1. Seleccione el botón Crear función en la página Código.
  2. Elija la Receta que desea implementar en su cuenta. Accederá al editor donde podrá ver el código de la Receta seleccionada, junto con una descripción de lo que hace la función.
  3. Pulse el botón Seleccionar para continuar.
    Receta del conversor de divisas en Klaviyo
  4. Elija 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.
  5. Seleccione el botón de función Crear.
  6. Una vez creada la función, establezca las variables de entorno pertinentes para que la función disponga de los datos que necesita para ejecutarse.
  7. La Receta ya puede probarse y ponerse en Directo.

Las recetas pueden requerir que actualice ciertos campos para que coincidan con sus preferencias de nomenclatura y los datos de sus eventos. Consulte las instrucciones de la Receta para ver qué campos pueden renombrarse y editarse.

Recursos adicionales 

Recursos adicionales 

Primeros pasos con el CDP de Klaviyo
Comprender los diferentes webhooks disponibles en Klaviyo

¿Te ha resultado útil este artículo?
Utiliza este formulario solo para enviar comentarios sobre el artículo. Más información sobre cómo contactar con el servicio de asistencia.

Descubre más de Klaviyo

Comunidad
Conecta con compañeros, socios y expertos de Klaviyo para inspirarte, compartir ideas y resolver todas tus dudas.
Formación en directo
Únete a una sesión en directo con expertos de Klaviyo para conocer las prácticas recomendadas, cómo configurar funciones clave y mucho más.
Asistencia

Accede al servicio de asistencia a través de tu cuenta.

Asistencia por correo electrónico (prueba gratuita y cuentas de pago) Disponible 24/7

Asistencia por chat/virtual
La disponibilidad varía según la ubicación y el tipo de plan