# RevenueCat + Brew

Uruchamiaj automatyzacje Brew zdarzeniami RevenueCat dotyczącymi zakupów w aplikacji, subskrypcji i płatności w Apple, Google, Amazon, Stripe i Web Billing. Wymaga planu RevenueCat Pro lub wyższego.

Kanoniczny adres URL: https://brew.new/pl/browse/integrations/revenuecat

- Kierunek danych: Import danych
- Połączenie: Sekret webhooka
- Zakupy w aplikacji i subskrypcje

## Dostępne funkcje

- **Wyzwalacze zdarzeń**: Uruchamiaj automatyzacje Brew zdarzeniami RevenueCat dotyczącymi zakupów w aplikacji, subskrypcji i płatności w Apple, Google, Amazon, Stripe i Web Billing.

## Zamień zdarzenia subskrypcji w przydatne e-maile

Połącz RevenueCat, aby wysyłać e-maile spójne z marką, gdy ktoś w Twojej aplikacji dokonuje zakupu, odnawia lub anuluje subskrypcję albo ma problem z płatnością. Brew obsługuje 11 zdarzeń cyklu życia RevenueCat, a ta sama sekwencja może obsłużyć subskrybentów z App Store, Google Play, Amazon, Stripe i Web Billing.

Za zakupy, odnowienia, zwroty i uprawnienia (entitlements) nadal odpowiadają RevenueCat i sklepy z aplikacjami. Brew tworzy i wysyła e-maile.


## Co możesz zbudować

- E-maile powitalne dla subskrybentów: RevenueCat wysyła zdarzenie INITIAL_PURCHASE, gdy zaczyna się nowa subskrypcja, w tym przy rozpoczęciu okresu próbnego. Zakupy jednorazowe przychodzą natomiast jako zdarzenie NON_RENEWING_PURCHASE.
- Potwierdzenia odnowienia: RevenueCat wysyła zdarzenie RENEWAL z polami productId, priceUsd, pricePurchaseCurrency i currency, gdy subskrypcja się odnawia albo gdy ponownie subskrybuje ktoś, komu subskrypcja wcześniej wygasła.
- Powiadomienia o problemach z płatnością: RevenueCat wysyła zdarzenie BILLING_ISSUE, gdy płatność się nie powiedzie. Dodaj link do miejsca, w którym subskrybent może zaktualizować metodę płatności.
- E-maile po anulowaniu subskrypcji: zdarzenie CANCELLATION zawiera pole cancelReason, więc e-mail może inaczej potraktować zwrot lub błąd płatności, a inaczej samodzielną rezygnację z subskrypcji.
- E-maile „Witaj z powrotem”: RevenueCat wysyła zdarzenie UNCANCELLATION, gdy subskrybent przywróci anulowaną subskrypcję, zanim ta wygaśnie.
- Reaktywacja po utracie dostępu: RevenueCat wysyła zdarzenie EXPIRATION, gdy subskrypcja faktycznie się kończy. Zdarzenie zawiera pole expirationReason.
- Powiadomienia o zmianie planu: zdarzenie PRODUCT_CHANGE zawiera pola previousProductId i newProductId. Nowy produkt może zacząć obowiązywać później, więc sformułuj e-mail jako informację o zleconej zmianie.
- Powiadomienia o wstrzymaniu i przedłużeniu: RevenueCat wysyła zdarzenie SUBSCRIPTION_PAUSED, gdy subskrypcja w Google Play zostanie zaplanowana do wstrzymania z końcem bieżącego okresu. Zdarzenie SUBSCRIPTION_EXTENDED pojawia się, gdy sklep przedłuży okres subskrypcji albo Google Play odroczy obciążenie.

## Anulowanie nie oznacza końca dostępu

Zdarzenie CANCELLATION może dotyczyć anulowanej subskrypcji lub zwrotu i samo w sobie nie oznacza, że dostęp się skończył. O końcu dostępu informuje zdarzenie EXPIRATION. Zdarzenie SUBSCRIPTION_PAUSED tylko planuje przyszłe wstrzymanie.

Zdarzenia CANCELLATION używaj do e-maili reaktywacyjnych lub z ankietą po rezygnacji, a zdarzenia EXPIRATION – do wszystkiego, co zakłada, że dostępu już nie ma. Zdarzenie UNCANCELLATION nie zatrzymuje uruchomienia po anulowaniu, które już trwa, dlatego przed każdym kolejnym e-mailem dodaj warunek sprawdzający pole revenuecat_subscription_status.

Filtruj według pola environment, aby zdarzenia SANDBOX nie trafiały do aktywnych automatyzacji.


## Skonfiguruj RevenueCat w Brew

- Webhooki RevenueCat wymagają planu RevenueCat Pro lub wyższego.
- Otwórz Integracje, wybierz RevenueCat i kliknij „Wygeneruj adres URL webhooka”.
- W RevenueCat otwórz Integrations > Webhooks i dodaj konfigurację. Wklej adres URL Brew, wybierz Production, Sandbox lub oba środowiska i zaznacz zdarzenia cyklu życia, które RevenueCat ma wysyłać.
- Włącz w tej konfiguracji podpisywanie webhooków HMAC i od razu skopiuj sekret podpisujący – RevenueCat pokazuje go tylko raz. Wklej go w Brew i kliknij Połącz. Nie wklejaj klucza REST API RevenueCat ani opcjonalnej wartości nagłówka Authorization.
- Wyślij testowy webhook z RevenueCat. Podpisane zdarzenie TEST aktywuje połączenie, ale nigdy nie uruchamia automatyzacji dla klientów.
- Ustaw dla każdego klienta atrybut subskrybenta $email, aby Brew miał adres, na który może wysłać e-mail.
- Kliknięcie Połącz tworzy wyzwalacze dla wszystkich 11 zdarzeń. Nie ma przełącznika do włączania lub wyłączania zdarzeń. Utwórz automatyzację, wybierz dla niej zdarzenie RevenueCat i wyślij test, dopóki jest jeszcze wersją roboczą. Po nadejściu pasującego zdarzenia uruchamiają się tylko aktywne automatyzacje.

## Obsługiwane zdarzenia RevenueCat

Brew obsługuje 11 typów zdarzeń:

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

## Synchronizacja kontaktów i personalizacja

Brew najpierw odczytuje odbiorcę z atrybutu subskrybenta $email, a jeśli go nie ma, akceptuje identyfikator użytkownika aplikacji (app user ID), pierwotny identyfikator użytkownika aplikacji (original app user ID) lub alias, o ile mają postać adresu e-mail. Aliasy w RevenueCat to historia identyfikatorów użytkownika aplikacji, więc zamiast na nich polegać, ustaw atrybut $email jawnie. Jeśli w żadnym z tych pól nie ma prawdziwego adresu, Brew zapisuje zdarzenie z nieustalonym odbiorcą, nie tworzy kontaktu i nie uruchamia automatyzacji.

Każde zweryfikowane zdarzenie z prawdziwym adresem e-mail tworzy lub aktualizuje kontakt w Brew dopasowany po adresie e-mail – niezależnie od tego, czy jakaś automatyzacja korzysta z tego zdarzenia. Jeśli zdarzenie zawiera odpowiednie dane, Brew ustawia pola revenuecat_app_user_id, revenuecat_store i revenuecat_environment.

Zdarzenia cyklu życia ustawiają pole revenuecat_subscription_status na active, cancelled, expired, billing_issue lub pause_scheduled. Brew zapisuje też pola revenuecat_product_id, revenuecat_cancel_reason, revenuecat_expiration_reason, revenuecat_last_purchase_at i revenuecat_pending_product_id, jeśli zdarzenie je zawiera.

W tagach personalizacji korzystaj ze schematu danych zadeklarowanego dla wybranego zdarzenia. Każde zdarzenie zawiera pola email, productId, priceUsd, pricePurchaseCurrency, currency, store, environment i createdAt, jeśli są dostępne. Pole priceUsd to cena w USD, a pricePurchaseCurrency – cena w walucie wskazanej w polu currency. Dane zdarzeń RevenueCat nie przekazują Brew imienia ani nazwiska.

Pole store jest przekazywane bez zmian z RevenueCat (np. APP_STORE lub PLAY_STORE), a RevenueCat może dodawać nowe wartości. Uwzględniaj w warunkach konkretne wartości, które Cię interesują.

Zakup nie oznacza zgody na e-maile marketingowe. Zapisuj zgodę osobno i sprawdzaj ją przed wysyłkami promocyjnymi.


## Dlaczego zdarzenie TRANSFER nigdy nie uruchamia e-maila?

RevenueCat wysyła zdarzenie TRANSFER z identyfikatorami użytkowników aplikacji, ale bez adresu e-mail odbiorcy. Brew zapisuje je jako zdarzenie z nieustalonym odbiorcą i nie uruchamia automatyzacji.


## Dlaczego zdarzenie jest widoczne, a e-mail nie został wysłany?

Odebranie zdarzenia i wysłanie e-maila to osobne kroki. Upewnij się, że pasująca automatyzacja jest aktywna, a potem przejrzyj jej filtry i historię uruchomień, sprawdź, czy odbiorca może otrzymać wiadomość, i skontroluj domenę wysyłkową. Zdarzenie TEST nigdy nie uruchamia automatyzacji. Gdy nie da się ustalić odbiorcy, najpierw sprawdź atrybut $email; Brew akceptuje też identyfikatory użytkowników aplikacji, pierwotne identyfikatory użytkowników aplikacji i aliasy, jeśli mają postać adresu e-mail.


## Ograniczenia i rozwiązywanie problemów

- Brew nie może przyznawać ani odbierać uprawnień (entitlements), zlecać zwrotów ani zmieniać subskrypcji.
- Błąd 401 z powodu brakującego nagłówka podpisu zwykle oznacza, że podpisywanie HMAC jest wyłączone albo zamiast sekretu podpisującego wklejono wartość nagłówka Authorization. Włącz podpisywanie HMAC, skopiuj nowy sekret i połącz RevenueCat ponownie.
- Błąd 401 z powodu niezgodności podpisu HMAC oznacza, że Brew ma inny lub nieaktualny sekret. Wymiana sekretu w RevenueCat unieważnia poprzedni, więc skopiuj nową wartość i ponownie połącz RevenueCat w Brew.
- Jeśli nie dociera żaden webhook, sprawdź, czy Twój plan RevenueCat obejmuje webhooki.
- Sprawdź zgody i cel każdego e-maila. Synchronizacja subskrybentów nie upoważnia do wysyłek promocyjnych.

## Źródła i instrukcje konfiguracji

- [Instrukcja konfiguracji RevenueCat](https://docs.brew.new/integrations/import/revenuecat)
- [Zbuduj automatyzację](https://docs.brew.new/create-emails/build-an-automation)
- [Tagi personalizacji](https://docs.brew.new/create-emails/merge-tags)
- [Co możesz wysyłać przez Brew](https://docs.brew.new/get-started/what-you-can-send)
- [Webhooki RevenueCat](https://www.revenuecat.com/docs/integrations/webhooks)
- [Atrybuty klientów w RevenueCat](https://www.revenuecat.com/docs/customers/customer-attributes)

## Powiązane

- [Wszystkie integracje](https://brew.new/pl/browse/integrations.md)
- [Rejestracja](https://brew.new/pl/sign-up.md)
- Strona internetowa: https://brew.new
