Připoj Clerk a spouštěj e-maily v duchu značky, když se někdo zaregistruje, připojí se k organizaci, pořídí si předplatné přes Clerk Billing nebo se zapíše na tvou čekací listinu. Clerk každý webhook podepisuje a Brew promění 13 typů událostí ve spouštěče automatizací.
Přihlašování, organizace a fakturaci má dál na starosti Clerk. Brew události jen přijímá. Nemůže měnit uživatele, zakládat organizace ani účtovat předplatné.
Událost organization.created neobsahuje e-mailovou adresu. Brew proto hledá ID uživatele, který organizaci založil, mezi identitami, které už zachytil v dřívějších událostech ze služby Clerk na aktuálním připojení. Pokud najde skutečný e-mail, událost se zpracuje dál. Pokud ne, Brew událost zaznamená s nedohledaným příjemcem, nevytvoří žádný kontakt a nespustí žádnou automatizaci.
Nech endpoint odebírat i událost user.created, aby Brew adresy zakladatelů znal. Pokud musí e-mail dorazit ke konkrétnímu člověku pokaždé, použij událost organizationMembership.created, která obsahuje adresu člena.
Brew podporuje těchto 13 typů událostí:
Každá ověřená událost se skutečnou e-mailovou adresou vytvoří nebo aktualizuje kontakt v Brew s touto adresou, a to bez ohledu na to, jestli událost používá nějaká automatizace. Pokud jsou data k dispozici, Brew nastaví jméno, příjmení a clerk_user_id.
Událost user.created navíc nastaví clerk_username, clerk_image_url, clerk_signed_up_at a clerk_last_sign_in_at. Události pozvánek a členství nastaví clerk_organization_id, clerk_org_role a clerk_org_role_name. Pozvánky k tomu přidají clerk_org_invitation_status a členství clerk_organization_name a clerk_organization_slug.
Fakturační události nastaví clerk_subscription_status a clerk_plan_name a některé přidají i clerk_plan_slug, clerk_subscription_period_end nebo clerk_is_trialing. Událost paymentAttempt.created nastaví clerk_last_payment_attempt_status a clerk_last_payment_attempt_at. Událost waitlistEntry.created nastaví clerk_waitlist_status.
Pro proměnné vycházej z deklarovaného schématu payloadu vybrané události. Každá událost obsahuje pole email, firstName, lastName a createdAt. Další pole závisí na události, například planName, planAmount, roleName, organizationName a grandTotalFormatted. Hodnoty planAmount a grandTotalAmount jsou v nejmenší jednotce měny, takže 2000 v USD znamená 20,00 US$. Časová razítka jsou unixový čas v sekundách.
Identifikátory objektů Clerk, například ID uživatelů, organizací a předplatných, nejsou proměnné. ID uživatele se u kontaktu uloží jako clerk_user_id.
Účet ve službě Clerk neznamená souhlas s marketingovými e-maily. Souhlas zaznamenej už při registraci a před propagačními rozesílkami ho ověř.
Spolehlivě ne. Brew přijímá jen událost paymentAttempt.created, ne pozdější aktualizace daného pokusu o platbu. Její pole status může mít hodnotu pending, paid nebo failed, ale platba, která selže až po vytvoření pokusu, dorazí do Brew jako nepodporovaná událost. Pro zmeškané platby použij subscriptionItem.pastDue. Pokud chceš v textu e-mailu uvést celkovou částku, pole grandTotalFormatted obsahuje už naformátovanou hodnotu, například $22.00.
Přijetí události a odeslání e-mailu jsou samostatné kroky. Ověř, že odpovídající automatizace je aktivní, a pak projdi její filtry a historii běhů a zkontroluj, jestli má příjemce na e-mail nárok a jak je na tom odesílací doména. Doručení přes Send Example webhook ověří, ale nikdy nespustí žádnou automatizaci, a událost organization.created bez známého zakladatele se zaznamená s nedohledaným příjemcem.