Skip to content

Geração de código dinâmico com Punchh

Um código de cupom é um código exclusivo que pode ser usado por um único usuário (uso único ou múltiplo). A estrutura Punchh gera códigos de cupom, que podem ser processados em um app móvel ou no sistema de ponto de venda (POS).

Essa integração é mantida pela Punchh.

Sobre a integração

Usando a estrutura de cupom Punchh e a Braze, você pode realizar os seguintes cenários:

  • Gerar um código de cupom quando o convidado clicar em um link de geração de cupom em um e-mail: o código do cupom será gerado dinamicamente e exibido em uma página da web.
  • Gerar um código de cupom quando o convidado abrir um e-mail: o código do cupom será gerado dinamicamente e mostrado como uma imagem no e-mail.

Integração da geração de código de cupom dinâmico

Etapa 1: Criar uma campanha de cupons

  1. Usando uma campanha de cupom Punchh, crie uma campanha de cupom de geração dinâmica, conforme mostrado na imagem a seguir.
  2. A estrutura de cupons do Punchh gerará os seguintes parâmetros para ativar a geração dinâmica de cupons:
    • Token de geração de cupom dinâmico: esse é um token de segurança gerado pelo sistema para criptografia.
    • URL de geração de cupom dinâmico: esse URL será incorporado ao e-mail como um link ou imagem, conforme exigido pela empresa.

O formulário para criar uma campanha de cupom no Punchh.

Etapa 2: Gerar a assinatura e construir o URL

A biblioteca JWT.IO decodifica, verifica e gera JSON web tokens, um método RFC 7519 aberto e padrão do setor para representar declarações de forma segura entre duas partes.

Os seguintes nomes ClaimType podem ser usados para garantir a exclusividade de convidados e cupons:

  • campaign_id: representa o ID da campanha Punchh gerado pelo sistema.
  • email: representa o endereço de e-mail do usuário.
  • first_name: captura o nome do usuário.
  • last_name: captura o sobrenome do usuário.

Para usar a API de código de cupom dinâmico da Punchh, um token JWT deve ser construído. Adicione o seguinte modelo Liquid ao seu dashboard da Braze no corpo da mensagem do canal que deseja usar:

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
{% assign header = '{"alg":"HS256","typ":"JWT"}' | base64_encode | replace: '=', '' | replace: '+', '-' | replace: '/', '_' %}

{% capture payload_raw %}

{
  "campaign_id": "CAMPAIGN_ID",
  "email": "{{${email_address}}}",
  "first_name": "{{${first_name}}}",
  "last_name": "{{${last_name}}}"
}

{% endcapture %}

{% assign payload = payload_raw | replace: ' ', '' | replace: '\n', '' | base64_encode | replace: '=', '' | replace: '+', '-' | replace: '/', '_' %}

{% assign unsigned_token = header | append: "." | append: payload %}

{% assign secret = "DYNAMIC_COUPON_GENERATION_TOKEN" %}

{% assign signature_raw = unsigned_token | hmac_sha256_base64: secret %}

{% assign signature = signature_raw | replace: '=', '' | replace: '+', '-' | replace: '/', '_' %}

{% assign jwt = unsigned_token | append: "." | append: signature %}

Substitua o seguinte:

Espaço reservado Descrição
DYNAMIC_COUPON_GENERATION_TOKEN Seu token de geração de cupom dinâmico.
CAMPAIGN_ID Seu ID de campanha.

Etapa 3: Anexar o código do cupom ao corpo da mensagem

Vinculando à página web da Punchh

Para criar um link para uma página da web hospedada pela Punchh, adicione {{jwt}} ao URL de geração dinâmica que você criou anteriormente. Seu link deve ser semelhante ao seguinte:

1
https://fakebrandz.punchh.com/request_coupons/7xY3bL9jRfZ1pA6mc8qD2eS4vT5wX?sign={{jwt}}

Quando um usuário clicar no URL do cupom, ele será redirecionado para uma página da web hospedada pela Punchh, onde o cupom gerado será exibido.

Exemplo de mensagem de confirmação depois que um usuário gera com sucesso um código de cupom.

Extraindo o código via JSON como texto simples

Para retornar uma resposta JSON, acrescente {{jwt}} ao URL de geração dinâmica que você criou anteriormente e, em seguida, adicione .json após o token na string do URL. Seu link deve ser semelhante ao seguinte:

1
https://fakebrandz.punchh.com/request_coupons/7xY3bL9jRfZ1pA6mc8qD2eS4vT5wX.json?sign={{jwt}}

Você pode então aproveitar o Conteúdo conectado para inserir o código como texto simples em qualquer corpo de mensagem. Por exemplo:

1
2
{% connected_content https://fakebrandz.punchh.com/request_coupons/7xY3bL9jRfZ1pA6mc8qD2eS4vT5wX.json?sign={{jwt}} :save punchh_coupon %}
{{punchh_coupon.coupon}}

Vinculando uma imagem no conteúdo do e-mail

Para vincular o código do cupom em uma imagem:

  1. Acrescente {{jwt}} ao URL de geração dinâmica que você criou anteriormente.
  2. Adicione .png após o token na string do URL.
  3. Incorpore seu link em uma tag HTML <img>.
1
<img src="https://fakebrandz.punchh.com/request_coupons/7xY3bL9jRfZ1pA6mc8qD2eS4vT5wX.png?sign={{jwt}}">

Saída renderizada da tag de imagem do código do cupom.

Mensagens de erro

New Stuff!