API Endpoint Reference - Lumina-Enterprise-Solutions/prism-notification-service GitHub Wiki
Semua endpoint berada di bawah prefix /notifications
.
Menerima dan memasukkan notifikasi ke dalam antrian pemrosesan. Endpoint ini dirancang untuk dipanggil oleh layanan internal lainnya.
Request Body:
{
"recipient_id": "user-uuid-123",
"recipient": "[email protected]",
"subject": "Judul Notifikasi",
"template_name": "welcome.html",
"template_data": {
"FirstName": "John"
}
}
-
recipient_id
(string, required): UUID dari pengguna penerima. Digunakan untuk pengiriman WebSocket. -
recipient
(string, required, email): Alamat email penerima. -
subject
(string, required): Judul email. -
template_name
(string, required): Nama file template HTML yang akan digunakan (misalnya,welcome.html
). -
template_data
(object, optional): Data dinamis yang akan diinjeksikan ke dalam template.
Success Response (202 Accepted
):
{
"message": "Notification accepted for processing"
}
Respons ini hanya menandakan bahwa job telah berhasil dimasukkan ke antrian.
Health check endpoint untuk monitoring dan service discovery oleh Consul.
Success Response (200 OK
):
{
"status": "healthy"
}
Meng-upgrade koneksi HTTP ke WebSocket untuk notifikasi real-time.
Otentikasi: Wajib menggunakan Authorization: Bearer <token>
di header permintaan upgrade. User ID dari token akan digunakan untuk mendaftarkan koneksi.
Protokol:
- Setelah koneksi berhasil, server akan mengirim pesan JSON setiap kali ada notifikasi baru untuk pengguna tersebut.
- Contoh pesan dari server:
{ "type": "new_notification", "subject": "Your invoice #1234 is ready" }