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.
Todos os exemplos de Conteúdo Conectado neste tutorial incluem cache padrão para reduzir o número de chamadas de API acionadas pelo Braze.
Para adicionar cache às chamadas POST:
- Adicione um :cache_max_ageatributo. 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 3600armazenará em cache por 1 hora.
- 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 pelosource_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:
| Configuração | Efeito | 
|---|---|
| {{campaign.${dispatch_id}}} | Os clientes dentro de um único envio usarão a mesma publicação. | 
| {{campaign.${api_id}}} | Todos os clientes dentro de uma única campanha usarão a mesma publicação. | 
| {{${user_id}}}ou{{${braze_id}}} | Verifica se todos os clientes usarão a mesma publicação, independentemente da campanha enviada (você pode usar ${user_id}, que é umexternal_id, e${braze_id}, que é um id interno). | 
| {{campaign.${dispatch_id}}}e{{campaign.${user_id}}} | Cada cliente dentro de um único envio usará a mesma publicação única. | 
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_iddo 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.
- 
    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-" %} 
- 
    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 %} 
- 
    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
- 
    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 Voucherifycampaign_idcopiado do endereço URL do dashboard da campanha do Voucherify. 1 assign voucherify_campaign_id = "camp_Y7h1meBSyybsNs7UpSVVZZce" 
- 
    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}}Cluster Compartilhado Endpoint para Braze Connected Content Europa (padrão) https://api.voucherify.io/v1/publications Estados Unidos https://us1.api.voucherify.io/v1/publications Ásia (Singapura) https://as1.api.voucherify.io/v1/publications 
- 
    Adicione suas chaves de API para autenticação. Você pode encontrar Voucherify-App-IdeVoucherify-App-Tokenem 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:

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.
 Editar esta página no GitHub
   Editar esta página no GitHub