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 o framework de cupons da Punchh e a Braze, você pode alcançar os seguintes cenários:
- Gerar um código de cupom quando o convidado seleciona um link de geração de cupom em um e-mail: O código de cupom é gerado dinamicamente e exibido em uma página web.
- Gerar um código de cupom quando o convidado abre um e-mail: O código de cupom é gerado dinamicamente e exibido como uma imagem dentro do e-mail.
Integrando a geração dinâmica de códigos de cupom
Etapa 1: Criar uma campanha de cupom
- Usando uma campanha de cupom Punchh, crie uma campanha de geração dinâmica de cupom conforme mostrado na imagem a seguir.
- O framework de cupons do Punchh gera os seguintes parâmetros para possibilitar a geração dinâmica de cupons:
- Token de geração dinâmica de cupom: É um token de segurança gerado pelo sistema para criptografia.
- URL de geração dinâmica de cupom: Essa URL é incorporada no e-mail como um link ou imagem, conforme a necessidade do negócio.

Etapa 2: Gerar assinatura e construir URL
A biblioteca JWT.IO decodifica, verifica e gera JSON web tokens, um método aberto e padrão da indústria (RFC 7519) para representar declarações de forma segura entre duas partes.
Os seguintes nomes de ClaimType podem ser usados para garantir a unicidade de convidados e cupons:
campaign_id: representa o ID de Campaign gerado pelo sistema Punchh.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 do Punchh, é necessário construir um token JWT. Adicione o seguinte modelo Liquid ao seu dashboard da Braze no corpo da mensagem do canal que você deseja usar:
{% 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 os seguintes valores:
| Placeholder | Descrição |
|---|---|
DYNAMIC_COUPON_GENERATION_TOKEN |
Seu token de geração dinâmica de cupom. |
CAMPAIGN_ID |
Seu ID de Campaign. |
Etapa 3: Anexar código de cupom ao corpo da mensagem
Vincular a uma página web do Punchh
Para vincular a uma página web hospedada pelo Punchh, adicione {{jwt}} à URL de geração dinâmica que você criou anteriormente. Seu link deve ser semelhante ao seguinte:
https://fakebrandz.punchh.com/request_coupons/7xY3bL9jRfZ1pA6mc8qD2eS4vT5wX?sign={{jwt}}
Quando um usuário selecionar a URL do cupom, ele será redirecionado para uma página web hospedada pelo Punchh, onde o cupom gerado será exibido.

Extrair o código via JSON como texto simples
Para retornar uma resposta JSON, adicione {{jwt}} à URL de geração dinâmica que você criou anteriormente e, em seguida, adicione .json após o token na string da URL. Seu link deve ser semelhante ao seguinte:
https://fakebrandz.punchh.com/request_coupons/7xY3bL9jRfZ1pA6mc8qD2eS4vT5wX.json?sign={{jwt}}
Você pode então alavancar o Conteúdo Conectado para inserir o código como texto simples em qualquer corpo de mensagem. Por exemplo:
{% connected_content https://fakebrandz.punchh.com/request_coupons/7xY3bL9jRfZ1pA6mc8qD2eS4vT5wX.json?sign={{jwt}} :save punchh_coupon %}
{{punchh_coupon.coupon}}
Vincular uma imagem dentro do conteúdo de e-mail
Para vincular o código de cupom dentro de uma imagem:
- Adicione
{{jwt}}à URL de geração dinâmica que você criou anteriormente. - Adicione
.pngapós o token na string da URL. - Incorpore seu link em uma tag HTML
<img>.
<img src="https://fakebrandz.punchh.com/request_coupons/7xY3bL9jRfZ1pA6mc8qD2eS4vT5wX.png?sign={{jwt}}">

Mensagens de erro
| Código de erro | Mensagem de erro | Descrição |
|---|---|---|
coupon_code_expired |
Este código promocional expirou | O código é utilizado após a data de expiração configurada. |
coupon_code_success |
Parabéns, código promocional aplicado com sucesso. | O código é utilizado com sucesso. |
coupon_code_error |
Insira um código promocional válido | O código utilizado é inválido. |
coupon_code_type_error |
Tipo de cupom incorreto. Este cupom só pode ser resgatado em %{coupon_type}. |
Quando um código que deveria ser usado no PDV é usado no app móvel, esse erro ocorre. |
usage_exceeded |
O uso do código de cupom desta Campaign atingiu o limite. Tente novamente na próxima vez. | O uso do código excede o número de usuários permitidos para utilizá-lo. Por exemplo, se a configuração do dashboard permite que um código seja usado por 3.000 usuários e o número de usuários excede 3.000, esse erro ocorre. |
usage_exceeded_by_guest |
Este código promocional já foi processado. | O uso do código por um usuário excede o número de vezes que um usuário pode utilizá-lo. Por exemplo, a configuração do dashboard permite que um único código seja usado três vezes por um usuário. Se for usado mais do que isso, esse erro ocorre. |
already_used_by_other_guest |
Este código promocional já foi usado por outro convidado. | Outro usuário já utilizou o código. |