Skip to content

Buscando dados através do Conteúdo Conectado

Com o Braze Connected Content, você pode buscar dados da API da Voucherify e enviar mensagens para segmentos específicos da Braze. Este artigo de referência mostrará como configurar scripts de Conteúdo Conectado para publicar cupons do Voucherify, convidar novos indicados, recuperar o saldo de cartões de fidelidade e mais.

Esta integração é mantida pelo Voucherify.

Sobre a integração

O esquema básico do script é o seguinte:

1
2
3
4
5
6
7
8
9
10
11
{% connected content
  "voucherify-API-ENDPOINT-url"
  :method post
  :headers {
    "X-App-Id": "Voucherify-API-key",
    "X-App-Token": "Voucherify-Secret-key",
  }
  :content_type application/json
  :retry
  :save {{result_variable}}
}

Visite o repositório GitHub do Voucherify para ver exemplos de scripts de Conteúdo Conectado.

Configurações de segurança

Sem as seguintes configurações definidas cada vez que uma mensagem de Conteúdo Conectado é acionada, ela chamará a API da Voucherify pelo menos duas vezes. Essas configurações reduzem o número de chamadas de API faturadas para a Braze e diminuem o risco de atingir o limite de API, que pode interromper a entrega de mensagens.

Limitador de taxa

Certifique-se de limitar o número de mensagens enviadas pelo Braze por minuto. Isso protege as APIs do Braze e do Voucherify contra o excesso de tráfego da sua campanha. Ao direcionar usuários durante a configuração da campanha, limite a taxa de envio a 500 mensagens por minuto.

Cache em chamadas POST

As chamadas de conteúdo conectado feitas via HTTP POST não são armazenadas em cache por padrão e farão duas solicitações de API para cada código publicado. Esse comportamento pode sobrecarregar os limites da sua API. O mecanismo de cache permitirá que você limite isso a uma chamada de API por publicação de voucher.

Para adicionar cache às chamadas POST:

  1. Adicione um :cache_max_age atributo. Por padrão, a duração do cache é de 5 minutos. Você pode personalizar a duração usando segundos. É possível escolher um valor entre 5 minutos e 4 horas. Exemplo: :cache_max_age 3600 armazenará em cache por 1 hora.
  2. Forneça uma chave de cache cache_id={{cache_id}} no parâmetro de consulta do endpoint de destino para que a Braze possa identificar uma publicação exclusiva. Primeiro, defina a variável e depois anexe a string de consulta única ao seu endpoint. Isso diferenciará cada publicação pelo source_id.

Nota as consequências: Braze armazena em cache as chamadas de API com base na URL. A string única usada como parâmetro de consulta é ignorada pelo Voucherify, mas distingue diferentes solicitações de API para o Braze e permite armazenar em cache cada tentativa única separadamente. Sem esse parâmetro de consulta, todos os clientes receberão o mesmo código de cupom durante a duração do cache.

Repetir atributo

O Conteúdo Conectado não valida a resposta do Voucherify, então recomendamos adicionalmente adicionar um atributo de repetição no script do Conteúdo Conectado. A lógica de conteúdo conectado tentará repetir cinco vezes antes de abortar a mensagem (respeitará o limitador de frequência). Este método ajudará a prevenir casos de falha na publicação de código quando demorar um pouco mais para buscar dados do Voucherify.

Se você não usar :retry, então, independentemente da resposta retornada pelo Voucherify, o Braze tentará enviar a distribuição, o que pode resultar na geração de e-mails sem um código publicado.

Publicação única por cliente

O parâmetro source_id no corpo do script garante que cada cliente possa receber apenas um código único em uma única campanha do Braze. Como resultado, mesmo que a Braze multiplique a solicitação de forma não intencional, cada usuário receberá o mesmo código único que foi publicado para ele/ela na primeira mensagem.

Você pode modificar {{source_id}} e seu efeito nas publicações usando as seguintes configurações:

Participar uma vez

Se sua campanha Voucherify tiver um limite Os clientes podem participar apenas uma vez, remova o ID da fonte de publicação do corpo do script. A Voucherify confirmará que cada mensagem da Braze para o mesmo cliente entregará o mesmo código publicado em primeiro lugar.

Seu script de Conteúdo Conectado deve ser o seguinte:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{% assign braze_campaign_id = {{campaign.${api_id}}} %}
{% assign customer_id = {{${user_id}}} %}
{% assign cache_id = braze_campaign_id | append: customer_id %}
{% assign voucherify_campaign_id = "VOUCHERIFY-CAMPAIGN_ID" %}

{% connected_content
   https://api.voucherify.io/v1/publications?cache_id={{cache_id}}
   :method post
   :headers {
    "X-App-Id": "VOUCHERIFY-APP-ID",
    "X-App-Token": "VOUCHERIFY-APP-TOKEN"
   }
   :body campaign={{voucherify_campaign_id}}&customer={{customer_id}}&channel=Braze
   :content_type application/json
   :cache_max_age
   :retry
   :save publication
 %}

Casos de uso

Tenha em mente que todos os casos de uso abaixo usam o ID da fonte de publicação do Voucherify e os parâmetros de cache e repetição do Braze para limitar as chamadas de API invocadas por uma campanha do Braze. Você deve estar ciente das seguintes consequências:

  • Não é possível publicar e enviar códigos diferentes para o mesmo cliente em uma única campanha Braze.
  • Se sua campanha Voucherify usar o recurso de participar apenas uma vez, você precisa remover source_id do corpo do Conteúdo Conectado conforme descrito na guia participar uma vez acima.

Visite o repositório GitHub do Voucherify para ver exemplos de scripts de Conteúdo Conectado.

Publicar e enviar código de cupom único

Neste caso de uso, o script de Conteúdo Conectado chama a API da Voucherify para publicar um código de cupom único e enviá-lo na mensagem da Braze. Cada usuário da Braze recebe apenas um código único.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{% assign braze_campaign_id = {{campaign.${api_id}}} %}
{% assign customer_id = {{${user_id}}} %}
{% assign source_id = braze_campaign_id | append: customer_id %}
{% assign voucherify_campaign_id = "VOUCHERIFY-CAMPAIGN_ID" %}
{% assign cache_id = source_id %}

{% connected_content
   YOUR API ENDPOINT/v1/publications?cache_id={{cache_id}}
   :method post
   :headers {
        "X-App-Id": "VOUCHERIFY-APP-ID",
        "X-App-Token": "VOUCHERIFY-APP-TOKEN"
   }
   :body campaign={{voucherify_campaign_id}}&customer={{customer_id}}&channel=Braze&source_id={{source_id}}
   :content_type application/json
   :cache_max_age
   :retry
   :save publication
 %}

Convidar novos indicados

Se você quiser que um cliente participe de um programa de indicação, você precisa atribuir um código de indicação a essa pessoa. O Conteúdo Conectado permanece o mesmo que no exemplo anterior. Este script de Conteúdo Conectado permite que você publique e envie códigos de referência únicos para usuários selecionados da Braze. Cada usuário recebe apenas um código de indicação para compartilhar com outros usuários e ganhar novas indicações.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{% assign braze_campaign_id = {{campaign.${api_id}}} %}
{% assign customer_id = {{${user_id}}} %}
{% assign source_id = braze_campaign_id | append: customer_id %}
{% assign voucherify_campaign_id = "VOUCHERIFY-CAMPAIGN_ID" %}
{% assign cache_id = source_id %}

{% connected_content
   YOUR API ENDPOINT/v1/publications?cache_id={{cache_id}}
   :method post
   :headers {
        "X-App-Id": "VOUCHERIFY-APP-ID",
        "X-App-Token": "VOUCHERIFY-APP-TOKEN"
   }
   :body campaign={{voucherify_campaign_id}}&customer={{customer_id}}&channel=Braze&source_id={{source_id}}
   :content_type application/json
   :cache_max_age
   :retry
   :save publication
 %}

Buscar saldo do cartão de fidelidade

Aqui está um caso de uso de um script de Conteúdo Conectado que puxa o saldo atual de fidelidade com base no código do cartão de fidelidade que foi enviado anteriormente para a Braze como um atributo personalizado. Nota que você precisa armazenar o código do cartão de fidelidade como um atributo personalizado no perfil do usuário do Braze antes de usar este script.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{% assign braze_campaign_id = {{campaign.${api_id}}} %}
{% assign customer_id = {{${user_id}}} %}
{% assign source_id = braze_campaign_id | append: customer_id %}
{% assign voucherify_campaign_id = "VOUCHERIFY-CAMPAIGN_ID" %}
{% assign cache_id = source_id %}

{% connected_content
   YOUR API ENDPOINT/v1/loyalties/members/{{custom_attribute.${loyalty.card}}}?cache_id={{cache_id}}
   :method get
   :headers {
        "X-App-Id": "VOUCHERIFY-APP-ID",
        "X-App-Token": "VOUCHERIFY-APP-TOKEN"
   }
   :content_type application/json
   :cache_max_age
   :retry
   :save member
 %}

Criar código personalizado

O conteúdo conectado é uma ferramenta poderosa que permite a introdução de cenários criativos. Você pode criar um código de cupom personalizado com base nas informações do perfil do cliente.

Aqui está um trecho de código que levará em conta o número de telefone do cliente para gerar um código único. Neste caso de uso, o script de Conteúdo Conectado chama a API da Voucherify para publicar um código de cupom personalizado.

  1. Primeiro, defina todas as variáveis necessárias. Em seguida, crie um código de cupom começando com o prefixo “SummerTime-“ e o restante do código será o número de telefone do cliente. Você pode decidir sobre o atributo personalizado no qual gostaria de basear seus códigos de cupom.

    1
    2
    3
    4
    5
    6
    7
    
    {% assign braze_campaign_id = {{campaign.${dispatch_id}}} %}
    {% assign customer_id = {{${user_id}}} %}
    {% assign phoneNumber = {{${phone_number}}} %}
    {% assign source_id = braze_campaign_id | append: customer_id %}
    {% assign cache_id = source_id %}
    {% assign voucherify_campaign_id = "VOUCHERIFY-CAMPAIGN_ID" %}
    {% assign prefix = "SummerTime-" %}
    
  2. Em seguida, solicite ao Voucherify que gere um único código na campanha. Fornecemos o nome do código do cupom a ser criado na URL:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    {% connected_content
       YOUR-API-ENDPOINT/v1/campaigns/{{voucherify_campaign_id}}/vouchers/{{prefix}}{{phoneNumber}}?cache_id={{cache_id}}
       :method post
       :headers {
            "X-App-Id": "VOUCHERIFY-APP-ID",
            "X-App-Token": "VOUCHERIFY-APP-TOKEN"
       }
       :content_type application/json
       :cache_max_age 
       :save voucher_created
       :retry
    %}  
    
  3. Por fim, publique o código que você acabou de criar. O trecho de código parece quase o mesmo que você usou para gerar um voucher aleatório de uma campanha. No entanto, agora o objetivo é obter um código de voucher específico.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    {% connected_content
       YOUR-API-ENDPOINT/v1/publications?cache_id={{cache_id}}
       :method post
       :headers {
           "X-App-Id": "VOUCHERIFY-APP-ID",
           "X-App-Token": "VOUCHERIFY-APP-TOKEN"
       }
       :body voucher={{prefix}}{{phoneNumber}}&customer={{customer_id}}&channel=Braze&source_id={{source_id}}
       :content_type application/json
       :cache_max_age 
       :save publication
       :retry
    %}
    

Como resultado, o cliente recebe o seguinte e-mail:

Aqui está o snippet completo usado neste exemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
{% assign braze_campaign_id = {{campaign.${dispatch_id}}} %}
{% assign customer_id = {{${user_id}}} %}
{% assign phoneNumber = {{${phone_number}}} %}
{% assign source_id = braze_campaign_id | append: customer_id %}
{% assign cache_id = source_id %}
{% assign voucherify_campaign_id = "VOUCHERIFY-CAMPAIGN_ID" %}
{% assign prefix = "Your Prefix" %}

{% connected_content
   YOUR-API-ENDPOINT/v1/campaigns/{{voucherify_campaign_id}}/vouchers/{{prefix}}{{phoneNumber}}?cache_id={{cache_id}}
   :method post
   :headers {
        "X-App-Id": "VOUCHERIFY-APP-ID",
        "X-App-Token": "VOUCHERIFY-APP-TOKEN"
   }
   :content_type application/json
   :cache_max_age 
   :save voucher_created
   :retry
%} 

{% connected_content
   YOUR-API-ENDPOINT/v1/publications?cache_id={{cache_id}}
   :method post
   :headers {
       "X-App-Id": "VOUCHERIFY-APP-ID",
       "X-App-Token": "VOUCHERIFY-APP-TOKEN"
   }
   :body voucher={{prefix}}{{phoneNumber}}&customer={{customer_id}}&channel=Braze&source_id={{source_id}}
   :content_type application/json
   :cache_max_age 
   :save publication
   :retry
%}

Exibir dados buscados em mensagens Braze

Presumimos que você já tenha uma campanha ou canva da Braze na qual deseja usar o script de conteúdo conectado.

Etapa 1: Adicionar script de Conteúdo Conectado ao modelo de mensagem

  1. Copie e cole o script de Conteúdo Conectado sob a tag <body> em um modelo de HTML de mensagem. Substitua CAMPAIGN_ID por um Voucherify campaign_id copiado do endereço URL do dashboard da campanha do Voucherify.

    1
    
    assign voucherify_campaign_id = "camp_Y7h1meBSyybsNs7UpSVVZZce"
    
  2. Forneça seu endpoint da API Voucherify. Se você não souber qual é o seu endpoint da API, você pode verificá-lo em Configurações do projeto > Geral > Endpoint da API.

    1
    
     YOUR API ENDPOINT/v1/publications?cache_id={{cache_id}}
    
  3. Adicione suas chaves de API para autenticação. Você pode encontrar Voucherify-App-Id e Voucherify-App-Token em suas Configurações do Projeto > Geral > Chaves de Aplicação.

    1
    2
    
    "X-App-Id": "VOUCHERIFY-APP-ID",
    "X-App-Token": "VOUCHERIFY-APP-TOKEN"
    

Agora seu script de conteúdo conectado está pronto.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{% assign braze_campaign_id = {{campaign.${api_id}}} %}
{% assign customer_id = {{${user_id}}} %}
{% assign source_id = braze_campaign_id | append: customer_id %}
{% assign voucherify_campaign_id = "camp_Y7h1meBSyybsNs7UpSVVZZce" %}
{% assign cache_id = source_id %}

{% connected_content
   https://api.voucherify.io/v1/publications?cache_id={{cache_id}}
   :method post
   :headers {
        "X-App-Id": "490a3fb6-a",
        "X-App-Token": "328099d5-a"
   }
   :body campaign={{voucherify_campaign_id}}&customer={{customer_id}}&channel=Braze&source_id={{source_id}}
   :content_type application/json
   :cache_max_age
   :retry
   :save publication
 %}

Etapa 2: Crie um trecho para exibir os dados buscados

As respostas da API Voucherify são armazenadas pelo Conteúdo Conectado sob o valor do parâmetro :save. Por exemplo:

1
:save member

Isso permite que você recupere e exiba dados de uma resposta do Voucherify em mensagens do Braze.

Você pode criar trechos que exibem o código publicado, saldo do cartão de fidelidade, data de expiração e outros parâmetros incluídos na resposta em formato JSON da API Voucherify.

Por exemplo, para exibir o código publicado em um modelo de mensagem, você deve criar um snippet que busque um código único do objeto de voucher.

Script de conteúdo conectado:

Script de Conteúdo Conectado mostrando como salvar uma resposta do Voucherify no final da chamada de Conteúdo Conectado

Snippet no modelo de mensagem da Braze:

1
{{publication.voucher.code}}

Como resultado, cada cliente recebe uma mensagem com um código único atribuído automaticamente ao seu perfil. Cada vez que um código é recebido pelo usuário, ele é publicado em seu perfil no Voucherify.

Para exibir o saldo do cartão de fidelidade obtido da API Voucherify, você precisa criar o seguinte trecho:

1
{{member.loyalty_card.balance}}

em que o membro é um valor do parâmetro :save no script de conteúdo conectado.

1
:save member

Aconselhamos fortemente que você não dependa inteiramente do ‘modo de prévia’ e envie várias mensagens de teste para confirmar que tudo funciona como deveria.

Etapa 3: Configurar limitador de taxa

Ao configurar um alvo de campanha, use as configurações avançadas para limitar o número de mensagens enviadas por minuto.

Leia mais sobre o limitador de frequência e o limite de frequência na documentação da Braze.

QUÃO ÚTIL FOI ESTA PÁGINA?
New Stuff!