Notification API
Overview
Section titled “Overview”Notification API adalah service gRPC-only yang menangani pengiriman email. Tidak punya REST endpoint — hanya dipanggil oleh auth-api via gRPC.
- gRPC: Port 50052 (internal only)
- Email Provider: Resend
- From Address:
no-reply@waqfuel.com
gRPC Service: NotifService
Section titled “gRPC Service: NotifService”service NotifService { rpc SendEmailCodeVerification (SendEmailCodeVerificationRequest) returns (SendEmailCodeVerificationResponse);
rpc SendAccountInvitationEmail (SendAccountInvitationEmailRequest) returns (SendAccountInvitationEmailResponse);}SendEmailCodeVerification
Section titled “SendEmailCodeVerification”Mengirim email berisi kode verifikasi 6-digit untuk proses registrasi volunteer.
Request:
message SendEmailCodeVerificationRequest { string email = 1; // email tujuan string name = 2; // nama user string code = 3; // 6-digit verification code}Response:
message SendEmailCodeVerificationResponse { bool success = 1; string message = 2;}Kapan dipanggil:
- Saat
POST /auth/register-volunteer— kode verifikasi pertama - Saat
POST /auth/resend-verification-code— user minta kirim ulang
Rate limit: Max 3 resend attempts dalam 1 jam per email (RESEND_MAX_ATTEMPTS, RESEND_RATE_LIMIT_WINDOW_SECONDS).
SendAccountInvitationEmail
Section titled “SendAccountInvitationEmail”Mengirim email undangan untuk user yang dibuat oleh admin (collector, admin baru).
Request:
message SendAccountInvitationEmailRequest { string email = 1; // email tujuan string name = 2; // nama user string token = 3; // invitation token string role = 4; // role yang di-assign string inviter_name = 5; // nama admin yang mengundang}Response:
message SendAccountInvitationEmailResponse { bool success = 1; string message = 2;}Kapan dipanggil:
- Saat admin create user baru via
POST /admin/users - Saat admin resend invitation via
POST /admin/users/{id}/resend-invitation
Email berisi link ke halaman aktivasi: https://platform.waqfuel.com/activate?token=...
Caller Flow
Section titled “Caller Flow”auth-api notif-api │ │ │ POST /auth/register-volunteer │ │ ─────────────────────────────► │ │ (generate 6-digit code) │ │ │ │ gRPC SendEmailCodeVerification │ ──────────────────────────────►│ │ │──► Resend API │ │◄── Email sent │ ◄──────────────────────────────│ │ success: true │Configuration
Section titled “Configuration”| Env Var | Deskripsi | Contoh |
|---|---|---|
GRPC_PORT | Port gRPC server | 50052 |
RESEND_API_KEY | API key dari resend.com | re_... |
NOREPLY_EMAIL | Alamat pengirim | no-reply@waqfuel.com |