Notiblast
HomeApp
HomeApp
  1. Push
  • API Key & Izin
  • Email
    • 1. Alur Email
    • 2. Domain & DNS
    • 3. Kirim Email
    • 4. Status Email
    • Messages
      • List Messages
      • Export Messages (CSV)
      • Detail Message
    • Send Email
      POST
  • Whatsapp
    • 1. Alur WhatsApp
    • 2. Hubungkan Nomor
    • 3. Setelah Nomor Terhubung
    • 4. Template Pesan
    • 5. Syarat Template Authentication
    • 6. Verifikasi Bisnis Meta
    • 7. Kirim & Status Pesan
    • Messages
      • List Messages
      • Detail Message
      • Export Messages (CSV)
    • Send WhatsApp
      POST
  • Reports
    • Overview (Dasbor)
      GET
    • Email Monitoring
      GET
    • WhatsApp Monitoring
      GET
    • Push Notification Monitoring
      GET
    • Deliverability Summary
      GET
  • Push
    • 1. Alur Push Notification
    • 2. Aplikasi Push & Firebase
    • 3. Pasang SDK
    • 4. List Penerima
    • 5. Kirim & Hasil Push
    • Devices
      • Register Device
      • Release Device
    • Messages
      • List Push Messages
      • Get Push Message
    • Lists
      • List Push Lists
      • List Push List Members
      • Add Push List Members
      • Remove Push List Members
    • Send Push Notification
      POST
  • Api Logs
    • List API Logs
    • Detail API Log
  • Webhooks
    • Webhook Events (Notiblast → Endpoint Anda)
  1. Push

Send Push Notification

Developing
POST
https://primaryapi.notiblast.com/v1/push/send
Mengirim notifikasi push. Auth: API key (Authorization: Bearer ntbl_<prefix>_<secret>), sending_access maupun full_access sama-sama diterima.

Memilih jalur broadcast#

Untuk aplikasi berperangkat banyak, topic adalah jalur broadcast yang disarankan:
alltopic
Panggilan ke Firebase untuk 18.432 perangkat18.4321
Waktu sampai seluruh perangkat tertembak+-90 detik+-0,2 detik
Laporan per perangkatadatidak ada
Membersihkan token matiyatidak
Penentu penerimaNotiBlast, dari daftar perangkatFirebase, dari langganan topik
Pakai topic untuk promo dan pengumuman massal; pakai target berbasis perangkat ketika Anda butuh bukti sebuah notifikasi sampai ke perangkat tertentu.

Perilaku yang perlu diketahui#

Target yang tidak berujung ke satu perangkat aktif pun tetap diterima dan tercatat, dengan status failed dan alasannya. Ini bukan error validasi: pengguna itu mungkin baru memasang aplikasi besok.
Untuk target topic seluruh angka stats tinggal 0 -- bukan karena gagal, melainkan karena pengiriman topik tidak menyentuh daftar perangkat.
Perangkat permission_denied/unsubscribed di dalam target dilewati tanpa dianggap gagal; jumlahnya terlihat di stats.devices_skipped.
Kegagalan satu perangkat tidak membatalkan perangkat lain.
Idempotency-Key yang sama dijawab 200, bukan 201 -- paling penting untuk topic, karena satu permintaan ganda berarti seluruh pelanggan topik menerima notifikasi dua kali.
Bila Google menolak ISI payload, pesannya berakhir failed dengan alasan yang menyebut nama field-nya, dan pengiriman dihentikan seketika — payload sama untuk semua penerima, jadi meneruskannya hanya mengulang penolakan yang sama ribuan kali. Tidak ada satu pun perangkat yang ditandai mati karenanya.
Responsnya 201 berarti diterima dan tercatat, bukan sudah sampai. Pantau hasil akhirnya lewat GET /v1/push/messages/{push_message_id} atau webhook push.completed.
Respons tidak memantulkan isi pesan: body, payload, dan bentuk FCM (firebase) tidak ikut — hanya title.

Request

Authorization
Bearer Token
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
or
Header Params

Body Params application/jsonRequired

Examples

Responses

🟢201Diterima & diantrekan
application/json
Bodyapplication/json

🟢200Replayed (idempotency)
🟠403Akses ditolak
🟠404Aplikasi / list tidak ditemukan
🟠409Kredensial Firebase tidak terpakai
🟠422Platform tidak diaktifkan
🟠429Rate limit (default 800/menit per company, mengikuti paket)
🟠400Payload ditolak sebelum menyentuh Google
🟠401API key tidak sah
🟠402Langganan / kuota
Request Request Example
Shell
JavaScript
Java
Swift
cURL
curl --location 'https://primaryapi.notiblast.com/v1/push/send' \
--header 'Idempotency-Key: order-10293-shipped' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
    "push_app_id": "507f1f77bcf86cd799439011",
    "title": "Pesanan #10293 sudah dikirim",
    "body": "Kurir sedang menuju alamatmu. Estimasi tiba 30 menit.",
    "platforms": [
        "android",
        "ios"
    ],
    "target": {
        "type": "external_id",
        "external_ids": [
            "usr_88213"
        ]
    }
}'
Response Response Example
201 - Example 1
{
    "request_id": "0f9c2a41-8d3e-4c77-9a2b-5f1e6d0c8a73",
    "message": "Push message queued",
    "data": {
        "_id": "507f1f77bcf86cd799439077",
        "push_app": "507f1f77bcf86cd799439011",
        "push_app_name": "Toko Maju — Pelanggan",
        "title": "Pesanan #10293 sudah dikirim",
        "platforms": [
            "android",
            "ios"
        ],
        "delivery_mode": "notification",
        "target_type": "external_id",
        "target_label": "Semua perangkat",
        "status": "queued",
        "stats": {
            "devices_targeted": 4102,
            "devices_sent": 4037,
            "devices_failed": 65,
            "devices_skipped": 214,
            "devices_over_limit": 0,
            "external_ids_unmatched": 116
        },
        "max_subscribers": 10000,
        "error": null,
        "sent_at": "2026-09-16T04:00:02.100Z",
        "finished_at": "2026-09-16T04:01:31.900Z",
        "created_at": "2026-09-16T04:00:01.000Z",
        "payload": {
            "image": "https://cdn.tokomaju.com/promo.jpg",
            "data": {
                "click_action": "order_detail:1234"
            },
            "android": {
                "priority": "high"
            },
            "ios": {
                "payload": {
                    "aps": {
                        "badge": 3
                    }
                }
            },
            "web": null
        },
        "firebase": {
            "notification": {
                "title": "Promo akhir pekan",
                "body": "Diskon 30%"
            },
            "data": {
                "property1": "string",
                "property2": "string"
            },
            "android": {},
            "apns": {},
            "webpush": {}
        },
        "delivery": {
            "status": "pending",
            "attempts": 1,
            "last_attempt_at": "2026-09-16T04:01:32.400Z",
            "last_status_code": 200,
            "last_error": null,
            "delivered_at": "2026-09-16T04:01:32.400Z"
        }
    }
}
Modified at 2026-10-21 07:54:50
Previous
Remove Push List Members
Next
List API Logs
Built with