Epic 14 (Облачный провайдер): биллинговые оповещения пайщикам через Novu #56
Reference in New Issue
Block a user
Delete Branch "feat/epic-14-billing-notifications"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Epic 14 (проект «Облачный провайдер», B2D-16) — биллинговые оповещения пайщикам через Novu (Вариант А: провайдер → coopback → Novu).
Stories:
@coopenomics/notifications(trial-ending, subscription-payment-due, subscription-past-due, subscription-suspended)./billing-notificationsна coopback (ServerSecretGuard, kind→workflow, NotificationSenderService) + клиентBillingNotificationClientна провайдере.Provider: nest build 0 errors, старт чист, cron поднят. mono-сторона зависит от пересборки notifications (CI).
Связанная задача: B2D-16.
Epic 14: типобезопасные workflow в @coopenomics/notifications для напоминаний пайщикам о предстоящей оплате и смене статуса подписки. Шаги email+in-app+push, payload по zod, шаблоны на {{payload.*}} (без Handlebars-ветвлений). Регистрация в allWorkflows. Триггер — провайдер через coopback (Вариант А), Story 14.4. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>Epic 14: входящий REST-канал /billing-notifications (ServerSecretGuard по общему SERVER_SECRET, симметрично провайдеру). DTO {kind,coopname,payload}; bridge маппит стабильный kind → Workflows.X.id и шлёт через NotificationSenderService (он сам резолвит subscriber_id/email по coopname). coopName в payload обогащается из getDisplayName. Ошибки Novu не пробрасываются — провайдеру важен факт приёма. Зависит от пересборки @coopenomics/notifications (Story 14.1) — Workflows.* id. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>