Introdução ao código

Estimado 10 minuto de leitura
|
Atualizado 9 de jan. de 2025, 13:06 EST
O que você vai aprender

O que você vai aprender

Saiba mais sobre o Code e como criar funções personalizadas que são executadas diretamente pelo Klaviyo.

O código requer desenvolvimento personalizado e a equipe de suporte da Klaviyo não pode oferecer assistência prática. Se o senhor não tiver um desenvolvedor na sua equipe e não se sentir à vontade para escrever códigos por conta própria, considere a possibilidade de entrar em contato com um parceiro da Klaviyo para obter ajuda.

Antes de começar

Antes de começar

O código faz parte da plataforma de dados do cliente (CDP) da Klaviyo. 

O Klaviyo CDP não está incluído no aplicativo de marketing padrão da Klaviyo, e é necessária uma assinatura do CDP para acessar a funcionalidade associada. Acesse nosso guia de faturamento para saber mais sobre como adicionar essa funcionalidade ao seu plano ou comece a usá-la se o senhor for um novo cliente.

O que é código?

O que é código?

O código permite que o senhor execute funções personalizadas em resposta a eventos capturados no Klaviyo. O senhor pode escrever suas próprias funções Javascript ou Python no editor de código, e elas são executadas diretamente na plataforma.

Com o código, você pode enviar dados para sistemas externos sem precisar configurar um ponto de extremidade HTTP público para receber webhooks e criar uma funcionalidade personalizada que é acionada em resposta à ocorrência de um evento. Você também pode acessar vários módulos pré-configurados populares para facilitar a criação de soluções personalizadas.

Tópicos

Tópicos

O código permite que o senhor execute funções personalizadas em resposta a qualquer evento que possa ser consultado por meio da API Get Events.

tais como:

  • Eventos de e-mail (por exemplo, Clicked email, Marked email as spam )
  • Eventos de SMS (por exemplo, Sent SMS, Received SMS)
  • Notificação por push de eventos (por exemplo, Received push, Bounced push)
  • Eventos de integrações (ou seja, eventos de integrações primárias criadas pela Klaviyo)
  • Eventos de API (eventos sincronizados por meio da API da Klaviyo)

O Klaviyo Code não suporta os seguintes eventos como tópicos:

  1. E-mail aberto
  2. E-mail recebido
Interface de código

Interface de código

Para acessar o código, navegue até a guia Code ( Código) em plataforma de dados do cliente > Data Management (Gerenciamento de dados) > Code (Código). 

code.jpg

Para criar uma função personalizada, selecione o botão Criar uma função :

Criar um botão de função

O senhor será levado à página Recipes (Receitas ), onde poderá selecionar uma solução pré-construída para executar ou uma função Python ou Node.js em branco.

image (9).jpg

Se o senhor selecionar uma receita existente, verá o editor de código com o código da solução, juntamente com uma descrição da funcionalidade. 

image (10).jpg

Se o senhor selecionar uma função em branco para poder criar suas próprias soluções personalizadas, o modal Details (Detalhes ) será exibido, onde o senhor poderá fazê-lo:

  • Dê um nome à sua função
    Um nome para identificar sua função.
  • Selecione um tópico para sua função
    O evento que acionará a execução de seu código.
  • Selecione um tempo de execução
    O ambiente de tempo de execução no qual o código é executado (ou seja, Python ou Node.js).

3.11.jpg

Depois de fazer as seleções necessárias e selecionar o botão Create function (Criar função ), o senhor será levado a uma interface com as seguintes guias: 

  • Editor 
  • Saída de teste 
  • Registros
Concessão de permissões

Concessão de permissões

Na primeira vez que o senhor criar uma função por meio do Code, será solicitado a autenticar o aplicativo Code OAuth. Isso é necessário para que suas funções de código possam acessar os dados em sua conta Klaviyo.

Depois de conceder acesso, o senhor será levado ao editor de código.

Editor

Editor

Na página Editor em Code, o senhor verá a página dividida em 3 guias:

  • Código
    A guia código tem um editor onde o senhor pode escrever funções Python ou Javascript.
  • Módulos
    Os módulos são pacotes de terceiros que adicionam funcionalidade às suas funções.
  • Variáveis de ambiente
    As variáveis de ambiente são os pares de valores-chave que sua função acessa quando é executada. 
Código

Código

Na guia Code (Código ), o senhor verá um editor que pode ser usado para escrever funções Python ou Javascript que são executadas em resposta ao tópico selecionado.

3.11(2).jpgjs.jpg

Parâmetros da função do manipulador

Parâmetros da função do manipulador

Para que o Klaviyo execute o código que o senhor escreve, ele deve estar envolvido em uma função chamada "handler" que aceita dois parâmetros:

  • Evento
    Consiste nos dados do evento associados ao evento de acionamento no formato JSON:API. Se o acionador não for baseado em eventos (por exemplo, Added to list), o valor desse parâmetro será None (Nenhum ) ou Null (Nulo ), dependendo do idioma.
  • Contexto
    Contém metadados adicionais sobre a execução da função, incluindo o perfil associado à invocação da função. O senhor pode acessar o objeto de perfil por meio de context.perfil em Javascript ou context["perfil" ] em Python.

Abaixo estão exemplos dos parâmetros de evento e contexto que são passados para a função de tratamento.

Exemplo de formato de evento

{
    {
  "data": {
   "type": "event",
   "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"
    },
   "relacionamentos": {
     "profile": {
       "dados": {
          "type": "profile",
          "id": "123456"
        },
       "links": {
          "self": "https://a.klaviyo.com/api/events/7S2q9haejYG/relationships/profile/",
          "related": "https://a.klaviyo.com/api/events/7S2q9haejYG/profile/"
        }
      },
      metric": {
       "dados": {
          "type": "metric",
          "id": "4Tdup6"
        },
       "links": {
          "self": "https://a.klaviyo.com/api/events/7S2q9haejYG/relationships/metric/",
          "related": "https://a.klaviyo.com/api/events/7S2q9haejYG/metric/"
        }
      }
    },
   "links": {
      "self": "https://a.klaviyo.com/api/events/7S2q9haejYG/"
    }
  }
}

Exemplo de formato de contexto 

{
   "company_id": "XXXXX",
   "trigger": {"type": "event", "uid": "123456"},
   "function_id": "123456",
}
Módulos

Módulos

Na guia Modules (Módulos ), o senhor pode selecionar entre os módulos pré-construídos mais populares (ou seja, pacotes de terceiros que adicionam recursos às suas funções). 

Para adicionar um módulo externo a ser usado em seu código, selecione o botão Add module (Adicionar módulo ):

Botão Adicionar módulo

No modal que aparece, o senhor pode pesquisar e selecionar o módulo que deseja adicionar: 

Adicionar módulo modal

Depois de adicionado, o senhor pode usar o módulo com o código que escreve no Klaviyo.

O senhor deve consultar a documentação nativa do módulo externo para obter informações sobre como usá-lo.

Módulos adicionados

O módulo Klaviyo

Todas as funções do Code vêm com um pacote Klaviyo personalizado que é pré-instalado em seu ambiente Code. Esse módulo permite que suas funções acessem os dados da sua conta Klaviyo sem a necessidade de fornecer credenciais, como uma chave de API.

O site API do módulo Klaviyo depende do fato de seu código ser escrito em Python ou Javascript.

Módulo Python Klaviyo

Módulo Python Klaviyo

O endereço API do módulo Klaviyo pré-instalado é o mesmo do objeto Klaviyo SDK que o senhor normalmente instanciaria com o módulo Klaviyo-API Python. O senhor pode pensar no módulo Klaviyo como um cliente pré-instanciado do SDK do Klaviyo.

Por exemplo, em um fluxo de trabalho tradicional, o senhor primeiro instanciaria um novo cliente Klaviyo SDK passando uma chave de API para o construtor e, em seguida, usaria o objeto SDK resultante.

from klaviyo_api importar KlaviyoAPI
importar os
def handler(event, context):
Klaviyo = KlaviyoAPI(api_key=os.getenv("API"))
print(Klaviyo.métrica.get_metrics())

Com o Code, o senhor só precisa importar o objeto Klaviyo e a autenticação é feita para o senhor.

importar Klaviyo

def handler(event, context):
print(Klaviyo.métrica.get_metrics())

Veja os objetos Klaviyo disponíveis e seus métodos.

Módulo Javascript do Klaviyo

Módulo Javascript do Klaviyo

Ao usar o módulo Klaviyo pré-instalado em suas funções Javascript, importe os Klaviyo recursos específicos que deseja acessar usando a sintaxe de chaves do módulo Klaviyo. Em seguida, use-os como o senhor faria normalmente com um objeto API usando o módulo Javascriptda Klaviyo-API .

importar { Metrics } de 'Klaviyo';
export default async (event, context) => {
console.log(await Metrics.getMetrics())
}

Veja os objetos Klaviyo disponíveis e seus métodos

 

Variáveis de ambiente 

Variáveis de ambiente 

A guia Environment variables (Variáveis de ambiente ) permite que o senhor defina pares de valores-chave que o código no Klaviyo pode referenciar quando for executado. Elas podem ser usadas para armazenar informações como credenciais e chaves secretas para que suas funções possam acessá-las durante a execução. 

Para adicionar uma variável de ambiente, selecione o botão Add a variable (Adicionar uma variável ): 

Botão Adicionar variáveis de ambiente

No modal que aparece, o senhor pode definir um par chave-valor para sua variável de ambiente. 

Pares de valores-chave definidos para a variável de ambiente

Depois de criadas, as variáveis de ambiente serão listadas na página e poderão ser usadas em seu código. 

Para acessar as variáveis de ambiente em seu código, use os.getenv("Key") para Python ou process.env("Key") para o Node.js.

Variáveis de ambiente criadas

Para atualizar o valor de uma variável de ambiente existente, o senhor deve criar uma nova variável com a mesma chave para a qual deseja atualizar o valor.

Saída de teste

Saída de teste

A guia Saída de teste em Código permite que o senhor teste seu código com eventos recentes para confirmar que a saída está se comportando conforme o esperado. 

Para testar sua função:

  1. Selecione o botão Run test:
    Botão Executar teste
  2. Na janela modal que aparece, selecione um evento para testar. O senhor pode selecionar entre os 10 eventos mais recentes capturados no Klaviyo.
    Eventos recentes para testar com
  3. Depois de selecionar um evento para testar, a saída do teste será exibida:Saída de teste
Registros

Registros

A guia Logs mostra a integridade de suas funções de código em andamento. O senhor verá:

  • Status
    O progresso da execução de uma função. 
  • Tempo de resposta
    O tempo que o código leva para ser executado em resposta a um evento.
  • Data
    Um registro de data e hora de quando a função foi executada. 
Limites de taxas

Limites de taxas

O código Klaviyo tem os seguintes limites de taxa:

  • Tempo limite da função
    As funções no Code podem ser executadas por até 15 segundos antes de atingirem o tempo limite.
  • Limite de taxa de função
    As funções no Code permitem até 25 execuções simultâneas por função.
Implementação de código 

Implementação de código 

Para implementar o código que o senhor escreve no editor, alterne o menu suspenso de status para Live

Alternar para implantar o código

Uma vez definido como ativo, o código que o senhor escreve será executado sempre que o evento do tópico for capturado no Klaviyo.

Quando uma função é definida como ativa, pode haver um atraso de até 15 minutos antes que os eventos comecem a acionar a função.

Exemplo de solução

Exemplo de solução

Abaixo está um exemplo de uma solução personalizada sendo implementada com o Code.

No exemplo, os dados do evento são definidos como uma propriedade de perfil para que possam ser usados em e-mails direcionados e na segmentação. O evento personalizado Booked shoot é capturado no Klaviyo quando os clientes reservam uma sessão de fotos com a marca, e os dados sobre a cidade da reserva e o URL associado são definidos como uma propriedade de perfil no respectivo perfil.

Também é criada uma propriedade chamada Recent bookings (Reservas recentes ), que armazena os dados dos 5 eventos de filmagem reservados mais recentes, para que possam ser percorridos e acessados em modelos de e-mail.

Código

Código

O código Python para essa solução é escrito no editor Code e é executado diretamente pelo Klaviyo.

Code_updates.jpg

Exemplo de código

Exemplo de código

Módulos

Módulos

Neste exemplo, é usado o módulo Klaviyo incorporado. O módulo Klaviyo depende de o módulo Klaviyo-API ser adicionado à função. Uma vez adicionado, o módulo Klaviyo cuidará da autenticação para o senhor, portanto, não é necessária nenhuma chave de API.

Variáveis de ambiente

Variáveis de ambiente

As variáveis de ambiente podem ser usadas para armazenar informações como credenciais e chaves secretas para que suas funções possam acessá-las durante a execução. Para este exemplo, o seguinte par de valores-chave é definido:

  • MAX_PROPERTIES_TO_STORE
    Uma variável de ambiente usada para definir o número máximo de propriedades a serem armazenadas para a função de exemplo.
Testes

Testes

Ao criar a função para definir dados de eventos como propriedades de perfil, a guia Saída de teste é usada para verificar a saída esperada.

test_output.jpg

Registros

Registros

Depois que a função tiver sido criada e testada, a guia Logs mostrará o status de integridade da função à medida que ela for executada em resposta aos eventos de disparo reservados

Logs.jpg

Resultado

Resultado

Com essa função de código implementada, à medida que os clientes se inscrevem para filmagens e acionam o evento personalizado Booked shoot, os dados do evento serão armazenados no perfil do cliente para uso em segmentação e campanhas direcionadas. 

Implementação de receitas  

Implementação de receitas  

As receitas no código permitem que o senhor implemente soluções pré-construídas sem a necessidade de desenvolvimento personalizado.

Para implementar uma Receita em sua conta da Klaviyo:

  1. Selecione o botão Criar função na página Código.
  2. Escolha o Recipe que o senhor gostaria de implementar em sua conta. O senhor será levado ao editor, onde poderá ver o código do Recipe selecionado, juntamente com uma descrição do que a função faz.
  3. Clique no botão Select para continuar.
    Receita do conversor de moedas no Klaviyo
  4. Escolha um nome para a função e o acionador que fará com que ela seja executada. O tempo de execução é definido automaticamente com base no código da receita.
  5. Selecione o botão de função Criar.
  6. Depois que a função tiver sido criada, defina as variáveis de ambiente relevantes para que a função tenha os dados necessários para ser executada.
  7. Agora, a receita pode ser testada e definida como Live.

As receitas podem exigir que o senhor atualize determinados campos para que correspondam às suas preferências de nomenclatura desejadas e aos dados dos seus eventos. Consulte as instruções da receita para ver quais campos podem ser renomeados e editados.

Recursos adicionais 

Recursos adicionais 

Primeiros passos com o CDP da Klaviyo
Compreender os diferentes webhooks disponíveis no Klaviyo

Esse artigo foi útil?
Use esse formulário somente para fazer comentários sobre artigos. Saiba como entrar em contato com o suporte.

Saiba mais sobre a Klaviyo

Comunidade
Conecte-se com colegas, parceiros e especialistas da Klaviyo para encontrar inspiração, compartilhar percepções e obter respostas para todas as suas perguntas.
Treinamentos ao vivo
Participe de uma sessão ao vivo com especialistas da Klaviyo para aprender sobre as práticas recomendadas, como configurar os principais recursos e muito mais.
Suporte

Acesse o suporte por meio da sua conta.

Suporte por e-mail (teste gratuito e contas pagas) Disponível 24 horas

Chat/assistência virtual
A disponibilidade varia conforme o local e o tipo de plano