Skip to content

Notification API

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
service NotifService {
rpc SendEmailCodeVerification (SendEmailCodeVerificationRequest)
returns (SendEmailCodeVerificationResponse);
rpc SendAccountInvitationEmail (SendAccountInvitationEmailRequest)
returns (SendAccountInvitationEmailResponse);
}

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:

  1. Saat POST /auth/register-volunteer — kode verifikasi pertama
  2. 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).

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:

  1. Saat admin create user baru via POST /admin/users
  2. Saat admin resend invitation via POST /admin/users/{id}/resend-invitation

Email berisi link ke halaman aktivasi: https://platform.waqfuel.com/activate?token=...

auth-api notif-api
│ │
│ POST /auth/register-volunteer │
│ ─────────────────────────────► │
│ (generate 6-digit code) │
│ │
│ gRPC SendEmailCodeVerification
│ ──────────────────────────────►│
│ │──► Resend API
│ │◄── Email sent
│ ◄──────────────────────────────│
│ success: true │
Env VarDeskripsiContoh
GRPC_PORTPort gRPC server50052
RESEND_API_KEYAPI key dari resend.comre_...
NOREPLY_EMAILAlamat pengirimno-reply@waqfuel.com