API email / notifikasi / push / WhatsApp terpusat untuk aplikasi HaloRT.

Repohalort-notification-service
StackExpress · TypeScript · BullMQ · Redis · PostgreSQL · React Email (@halort/email) · APNs · FCM · Fonnte
Lokalhttp://127.0.0.1:8090/health
Produksihttps://notifications.halort.com

Auth

Service-to-service: X-Halort-Internal-Key (INTERNAL_API_KEY).

Rute utama

  • GET /health
  • POST /v1/emails/send · POST /v1/emails/raw
  • POST /v1/push/send — APNs (iOS) / FCM (Android)
  • POST /v1/whatsapp/send · POST /v1/whatsapp/blast — Fonnte (FONNTE_TOKEN)
  • Template + log pengiriman / retry

Platform memanggil saluran di atas lewat NOTIFICATION_SERVICE_URL (fallback Fonnte langsung hanya untuk lokal bila service 503 / belum dikonfigurasi).

Template (contoh)

WELCOME, PASSWORD_RESET, PAYMENT_REMINDER, CONTACT_INQUIRY, CONTACT_AUTO_REPLY, SUPPORT_TICKET_SUBMITTER_REPLIED, SUPPORT_TICKET_RESPONDED, …

Template tiket dukungan memakai @halort/email (logo HaloRT, kartu konten, tombol aksi). Subjek menyertakan [HRT:{{replyToken}}] untuk sinkronisasi balasan email inbound.

Balasan email tiket dukungan

Worker polling Gmail (halort-notification-service) memproses balasan dengan token di subjek → halort-platform internal API. Alternatif: halaman publik www.halort.com/tiket/balas/{token}.

Lihat Features/Tiket Dukungan Platform · halort-infra/cloudflare/support-inbound-email/.

Pemanggil

Pipeline: API → Redis/BullMQ → worker → SMTP (atau SES/SendGrid/Mailgun) → log PostgreSQL. Lihat Architecture/Request Flow · Architecture/Data Stores · Surfaces/Design System.

Deploy

Jalur utama: Hetzner K8s via GHCR + Argo CD. Skrip Mac mini / tunnel legacy mungkin masih ada di repo untuk hosting alternatif.

Terkait