# RevenueCat + Brew

Dispare automações do Brew a partir de eventos de compras no app, assinaturas e cobrança do RevenueCat, nas plataformas Apple, Google, Amazon, Stripe e Web Billing. Requer o plano Pro do RevenueCat ou superior.

URL canônica: https://brew.new/pt-br/browse/integrations/revenuecat

- Direção: Entrada de dados
- Conexão: Segredo de webhook
- Compras no app + assinaturas

## Funcionalidades disponíveis

- **Gatilhos de evento**: Dispare automações do Brew a partir de eventos de compras no app, assinaturas e cobrança do RevenueCat, nas plataformas Apple, Google, Amazon, Stripe e Web Billing.

## Transforme eventos de assinatura em e-mails úteis

Conecte o RevenueCat para disparar e-mails com a cara da sua marca quando alguém compra, renova, cancela ou tem um problema de cobrança no seu app. O Brew é compatível com 11 eventos de ciclo de vida do RevenueCat, e o mesmo fluxo pode atender assinantes da App Store, do Google Play, da Amazon, do Stripe e do Web Billing.

O RevenueCat e as lojas de apps continuam responsáveis pelas compras, pelas renovações, pelos reembolsos e pelos entitlements (direitos de acesso). O Brew cria e envia os e-mails.


## O que você pode criar

- E-mails de boas-vindas para assinantes: o evento INITIAL_PURCHASE é disparado quando uma nova assinatura começa, inclusive no início de um período de teste. Já as compras únicas chegam como NON_RENEWING_PURCHASE.
- Recibos de renovação: o evento RENEWAL é disparado quando uma assinatura é renovada ou quando um ex-assinante volta a assinar, com productId, priceUsd, pricePurchaseCurrency e currency.
- Avisos de problema de cobrança: o evento BILLING_ISSUE é disparado quando um pagamento falha. Inclua um link para o lugar onde o assinante atualiza a forma de pagamento.
- E-mails pós-cancelamento: o evento CANCELLATION traz cancelReason, para que o e-mail trate um reembolso ou um erro de cobrança de um jeito diferente de um cancelamento feito pelo próprio assinante.
- Boas-vindas de volta: o evento UNCANCELLATION é disparado quando um assinante reativa uma assinatura cancelada antes que ela expire.
- Reengajamento depois do fim do acesso: o evento EXPIRATION é disparado quando uma assinatura de fato termina e traz expirationReason.
- Avisos de mudança de plano: o evento PRODUCT_CHANGE traz previousProductId e newProductId. O novo produto pode só passar a valer mais tarde, então escreva o e-mail como uma mudança solicitada.
- Avisos de pausa e de prorrogação: o evento SUBSCRIPTION_PAUSED é disparado quando uma assinatura do Google Play é agendada para pausar no fim do período. O SUBSCRIPTION_EXTENDED é disparado quando uma loja prorroga o período ou o Google Play adia uma cobrança.

## Cancelamento não é o fim do acesso

O CANCELLATION pode indicar uma assinatura cancelada ou um reembolso e, por si só, não significa que o acesso terminou. É o EXPIRATION que indica o fim do acesso. O SUBSCRIPTION_PAUSED só agenda uma pausa futura.

Use o CANCELLATION para e-mails de reconquista ou de pesquisa de cancelamento, e o EXPIRATION para tudo o que pressupõe que o acesso acabou. Um UNCANCELLATION não interrompe uma execução de cancelamento que já começou, então confira revenuecat_subscription_status em uma condição antes de cada e-mail seguinte.

Filtre pelo campo environment para manter os eventos de SANDBOX fora das automações ativas.


## Configure o RevenueCat no Brew

- Os webhooks do RevenueCat exigem o plano Pro do RevenueCat ou superior.
- Abra Integrações, escolha RevenueCat e selecione Gerar URL do webhook.
- No RevenueCat, abra Integrations > Webhooks e adicione uma configuração. Cole a URL do Brew, escolha Production, Sandbox ou os dois e selecione os eventos de ciclo de vida que serão enviados.
- Ative a assinatura HMAC dos webhooks nessa configuração e copie o segredo de assinatura na hora: o RevenueCat só o mostra uma vez. Cole-o no Brew e selecione Conectar. Não cole uma chave da API REST do RevenueCat nem o valor opcional do cabeçalho Authorization.
- Envie um webhook de teste pelo RevenueCat. Uma entrega TEST assinada ativa a conexão, mas nunca inicia uma automação para clientes.
- Defina o atributo de assinante $email de cada cliente, para que o Brew tenha um endereço para onde enviar.
- Ao conectar, o Brew cria gatilhos para todos os 11 eventos. Não há um botão para ativar ou desativar eventos. Crie uma automação, selecione o evento do RevenueCat dela e envie um teste enquanto ela ainda estiver como rascunho. Só automações ativas são executadas quando chega um evento correspondente.

## Eventos do RevenueCat compatíveis

O Brew é compatível com estes 11 tipos de evento:

- INITIAL_PURCHASE
- RENEWAL
- NON_RENEWING_PURCHASE
- PRODUCT_CHANGE
- CANCELLATION
- UNCANCELLATION
- EXPIRATION
- BILLING_ISSUE
- SUBSCRIPTION_PAUSED
- SUBSCRIPTION_EXTENDED
- TRANSFER

## Sincronização de contatos e personalização

O Brew lê o destinatário primeiro no atributo de assinante $email e, como alternativa, aceita um app user ID, um original app user ID ou um alias em formato de e-mail. Os aliases do RevenueCat são o histórico de app user IDs, então defina $email explicitamente em vez de depender deles. Sem um endereço real em nenhum desses campos, o Brew registra o evento como não resolvido, não cria nenhum contato e não inicia nenhuma automação.

Cada evento verificado com um endereço de e-mail real cria ou atualiza um contato do Brew, identificado pelo e-mail, independentemente de alguma automação usar o evento. Quando o evento traz esses dados, o Brew preenche os campos revenuecat_app_user_id, revenuecat_store e revenuecat_environment.

Os eventos de ciclo de vida definem revenuecat_subscription_status como active, cancelled, expired, billing_issue ou pause_scheduled. O Brew também guarda revenuecat_product_id, revenuecat_cancel_reason, revenuecat_expiration_reason, revenuecat_last_purchase_at e revenuecat_pending_product_id quando o evento traz esses dados.

Use o esquema de payload declarado do evento selecionado para as tags de mesclagem. Todos os eventos incluem email, productId, priceUsd, pricePurchaseCurrency, currency, store, environment e createdAt, quando presentes. O priceUsd é o preço em dólares americanos (USD), e o pricePurchaseCurrency é o preço na moeda indicada em currency. Os payloads do RevenueCat não trazem nome nem sobrenome para o Brew.

O campo store vem direto do RevenueCat, com valores como APP_STORE ou PLAY_STORE, e o RevenueCat pode acrescentar novos valores. Filtre pelos valores que importam para você.

Uma compra não estabelece consentimento para e-mails de marketing. Registre o consentimento separadamente e confira-o antes de envios promocionais.


## Por que o TRANSFER nunca envia um e-mail?

O RevenueCat envia o TRANSFER com app user IDs, mas sem o e-mail do destinatário. O Brew registra o evento como não resolvido e não inicia nenhuma automação.


## Por que um evento aparece sem que um e-mail seja enviado?

Receber um evento e enviar um e-mail são etapas separadas. Confirme que uma automação correspondente está ativa, examine os filtros e o histórico de execuções dela e verifique a elegibilidade do destinatário e o domínio de envio. Uma entrega TEST nunca inicia uma automação. Quando um destinatário não for resolvido, confira primeiro o $email; o Brew também aceita app user IDs, original app user IDs e aliases em formato de e-mail.


## Limites e solução de problemas

- O Brew não pode conceder nem revogar entitlements, emitir reembolsos nem alterar assinaturas.
- Um erro 401 por falta do cabeçalho de assinatura geralmente significa que a assinatura HMAC está desativada ou que o valor de Authorization foi colado no lugar do segredo de assinatura. Ative a assinatura HMAC, copie o novo segredo e reconecte.
- Um erro 401 por divergência de HMAC significa que o Brew tem um segredo diferente ou desatualizado. Rotacionar o segredo no RevenueCat invalida o anterior, então copie o novo valor e reconecte o Brew.
- Se nenhum webhook chegar, confira se o seu plano do RevenueCat inclui webhooks.
- Revise o consentimento e a finalidade de cada e-mail. Sincronizar assinantes não autoriza envios promocionais.

## Fontes e guias de configuração

- [Guia de configuração do RevenueCat](https://docs.brew.new/integrations/import/revenuecat)
- [Crie uma automação](https://docs.brew.new/create-emails/build-an-automation)
- [Tags de mesclagem](https://docs.brew.new/create-emails/merge-tags)
- [O que você pode enviar com o Brew](https://docs.brew.new/get-started/what-you-can-send)
- [Webhooks do RevenueCat](https://www.revenuecat.com/docs/integrations/webhooks)
- [Atributos de cliente do RevenueCat](https://www.revenuecat.com/docs/customers/customer-attributes)

## Relacionados

- [Todas as integrações](https://brew.new/pt-br/browse/integrations.md)
- [Criar conta](https://brew.new/pt-br/sign-up.md)
- Site: https://brew.new
