Operasional & Keamanan

Membaca status eksekusi, mengatasi masalah umum, dan praktik keamanan.

#Status Eksekusi & Step

EksekusiArti
PROCESSINGSedang berjalan (termasuk menunggu delay)
COMPLETEDSelesai; tidak ada kegagalan yang tidak tertangani fallback
PARTIALSebagian channel berhasil, sebagian gagal
FAILEDSemua pengiriman gagal
CANCELEDDibatalkan lewat API
StepArti
QUEUED / PROCESSINGMenunggu / sedang dikirim
WAITINGMenunggu delay berakhir
COMPLETEDBerhasil
FAILEDGagal permanen (cek error_code di log pesan)
SKIPPEDDilewati; alasan di skip_reason: opted_out, no_destination, filter_false, not_needed (fallback tidak diperlukan), canceled

#Troubleshooting

GejalaPenyebab umum & solusi
401 unauthenticatedKey salah/dicabut, atau memakai key ntf_test_ di environment Production (atau sebaliknya). Periksa header Authorization: Bearer ….
422 workflow_inactiveWorkflow belum dipublish atau dinonaktifkan. Publish dari editor.
404 not_found saat triggerworkflow harus berisi trigger key, bukan nama workflow; periksa juga environment key.
402 quota_exceededKuota event habis. Cek Console → Usage, lalu upgrade di Billing.
429 rate_limitedTerlalu banyak request. Hormati Retry-After, gunakan /events/bulk.
Step SKIPPED: no_destinationSubscriber tidak punya tujuan untuk channel itu (mis. tanpa phone). Kirim field di to atau lewat PUT /subscribers.
Step SKIPPED: opted_outSubscriber menonaktifkan channel. Periksa preferensi.
Log no_provider_configuredBelum ada provider aktif untuk channel di environment ini. Hubungkan di Channels.
Log circuit_open / provider “degraded”Provider gagal berulang; pengiriman dijeda 60 detik dan dijadwal ulang otomatis. Periksa kredensial/endpoint.
Log connection_errorProvider tidak terjangkau dari server Notifora. Pastikan URL gateway publik dan sesi aktif.
Status tidak pernah DELIVEREDWebhook status provider belum didaftarkan. Lihat Webhook Status Delivery.
Pembayaran sudah sukses tapi plan belum aktifBuka halaman invoice di Console (status disinkronkan otomatis). Bila tetap pending, hubungi support dengan nomor invoice.

Saat menghubungi support, sertakan request_id dari respons error atau event_id/message_id dari log.

#Praktik Keamanan

  • Rahasia: API key dan signing secret hanya di server. Rotasi dengan membuat key baru, mengganti di aplikasi, lalu mencabut key lama.
  • Kredensial provider disimpan terenkripsi dan tidak pernah ditampilkan ulang; kosongkan field saat edit untuk mempertahankan nilai lama.
  • Data pribadi: tujuan pesan di log disamarkan; DELETE /subscribers/{id} menghapus data penerima. Akses data asli di Console dibatasi Admin dan dicatat di audit log.
  • Peran tim: Owner, Admin, Developer, Viewer dengan hak berbeda; owner terakhir tidak bisa diturunkan atau dihapus.
  • Webhook: verifikasi signature, hanya https, dan buat penanganan idempoten.
  • Audit log mencatat pembuatan/pencabutan key, perubahan provider, peran, dan billing (Console → Settings → Audit).
Notifora Engineering Knowledge Base · Terakhir diperbarui: Oktober 2026 · Rilis v1.0 Kembali ke atas ↑

© 2026 notifora. All rights reserved. Created by notifora