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_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. - 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 é um external_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_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.
-
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_id
copiado 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-Id
eVoucherify-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:
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.