logoDokumen
Cari

Statistik API

info Ini adalah versi terbaru dari Stats API. Beberapa peningkatan pada v4:

  • Menggunakan HTTP Basic Authentication untuk otorisasi akses. Dengan cara ini, seluruh permintaan API dapat dilakukan menggunakan alat HTTP umum, seperti: curl, plugin browser.
  • Konten push sepenuhnya menggunakan format JSON.

Ikhtisar

Stats API v4 menyediakan berbagai fungsi kueri data statistik.

Autentikasi

Lihat REST API Overview untuk detail Metode Autentikasi

Statistik Pesan

  • Kueri statistik setiap status dalam siklus hidup pesan.
  • Data statistik setiap pesan push dapat disimpan maksimal satu bulan.

API Url

GET v4/status/detail

Contoh Permintaan

curl -v https://pushapi-sgp.engagelab.com/v4/messages/details?message_ids=1613113584,1229760629 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1" < GET /v4/messages/details?message_ids=1613113584,1229760629 HTTP/1.1 < Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
              
              curl -v https://pushapi-sgp.engagelab.com/v4/messages/details?message_ids=1613113584,1229760629 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1"

< GET /v4/messages/details?message_ids=1613113584,1229760629 HTTP/1.1
< Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==

            
Tampilkan blok kode ini di jendela mengambang

Parameter Permintaan

Kata Kunci Tipe Opsi Deskripsi
message_ids String wajib
  • message_id, jika terdapat beberapa message_id, pisahkan dengan ",".
  • Maksimal mendukung 100 message_ids
  • Contoh Respons

    < HTTP/1.1 200 OK < Content-Type: application/json { "1229760629": { "targets": 11, "sent": 11, "delivered": 10, "impressions": 8, "clicks": 2, "sub": { "notification": {}, "message": {}, "live_activity": {}, "voip": {}, "inapp_message": {} }, "plan_id": "", "pushContent": {} }, "1613113584": { "targets": 11, "sent": 11, "delivered": 10, "impressions": 8, "clicks": 2, "sub": { "notification": { "target": 1600, "sent": 1440, "delivered": 1280, "impressions": 1120, "click": 0, "sub_android": { "engageLab_android": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 }, "huawei": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 }, "xiaomi": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 }, "oppo": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 }, "vivo": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 }, "meizu": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 }, "fcm": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 }, "honor": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 } }, "sub_ios": { "engageLab_ios": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 }, "apns": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 } }, "sub_hmos": { "engageLab_hmos": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 }, "harmonyos": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 } } }, "message": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0, "sub_android": {}, "sub_ios": {} }, "live_activity": { "targets": 1, "sent": 1, "delivered": 1, "impressions": 0, "clicks": 0, "sub_ios": { "engageLab_ios": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "apns": { "targets": 1, "sent": 1, "delivered": 1, "impressions": 0, "clicks": 0 } } } }, "plan_id": "engageLab_notification", "pushContent": { "android": { "title": "push", "content": "hello, Push!" }, "ios": { "title": "ios", "content": "pushContent", "subtitle": "engageLab_push" } } }, "1613113554": { "targets": 2, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0, "sub": { "notification": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "message": { "targets": 2, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0, "sub_android": { "engageLab_android": { "targets": 1, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "huawei": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "xiaomi": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "oppo": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "vivo": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "meizu": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "fcm": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "honor": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 } }, "sub_ios": { "engageLab_ios": { "targets": 1, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "apns": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 } } }, "live_activity": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "voip": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "inapp_message": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 } }, "plan_id": "engageLab_msg", "pushContent": { "message": { "title": "msg", "content": "push" } } } }
                  
                  < HTTP/1.1 200 OK
    < Content-Type: application/json
    
    {
        "1229760629": {
            "targets": 11,
            "sent": 11,
            "delivered": 10,
            "impressions": 8,
            "clicks": 2,
            "sub": {
                "notification": {},
                "message": {},
                "live_activity": {},
                "voip": {},
                "inapp_message": {}
            },
            "plan_id": "",
            "pushContent": {}
        },
        "1613113584": {
            "targets": 11,
            "sent": 11,
            "delivered": 10,
            "impressions": 8,
            "clicks": 2,
            "sub": {
                "notification": {
                    "target": 1600,
                    "sent": 1440,
                    "delivered": 1280,
                    "impressions": 1120,
                    "click": 0,
                    "sub_android": {
                        "engageLab_android": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        },
                        "huawei": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        },
                        "xiaomi": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        },
                        "oppo": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        },
                        "vivo": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        },
                        "meizu": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        },
                        "fcm": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        },
                        "honor": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        }
                    },
                    "sub_ios": {
                        "engageLab_ios": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        },
                        "apns": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        }
                    },
                    "sub_hmos": {
                        "engageLab_hmos": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        },
                        "harmonyos": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        }
                    }
                },
                "message": {
                    "targets": 100,
                    "sent": 90,
                    "delivered": 80,
                    "impressions": 70,
                    "clicks": 0,
                    "sub_android": {},
                    "sub_ios": {}
                },
                "live_activity": {
                    "targets": 1,
                    "sent": 1,
                    "delivered": 1,
                    "impressions": 0,
                    "clicks": 0,
                    "sub_ios": {
                        "engageLab_ios": {
                            "targets": 0,
                            "sent": 0,
                            "delivered": 0,
                            "impressions": 0,
                            "clicks": 0
                        },
                        "apns": {
                            "targets": 1,
                            "sent": 1,
                            "delivered": 1,
                            "impressions": 0,
                            "clicks": 0
                        }
                    }
                }
            },
            "plan_id": "engageLab_notification",
            "pushContent": {
                "android": {
                    "title": "push",
                    "content": "hello, Push!"
                },
                "ios": {
                    "title": "ios",
                    "content": "pushContent",
                    "subtitle": "engageLab_push"
                }
            }
        },
        "1613113554": {
            "targets": 2,
            "sent": 0,
            "delivered": 0,
            "impressions": 0,
            "clicks": 0,
            "sub": {
                "notification": {
                    "targets": 0,
                    "sent": 0,
                    "delivered": 0,
                    "impressions": 0,
                    "clicks": 0
                },
                "message": {
                    "targets": 2,
                    "sent": 0,
                    "delivered": 0,
                    "impressions": 0,
                    "clicks": 0,
                    "sub_android": {
                        "engageLab_android": {
                            "targets": 1,
                            "sent": 0,
                            "delivered": 0,
                            "impressions": 0,
                            "clicks": 0
                        },
                        "huawei": {
                            "targets": 0,
                            "sent": 0,
                            "delivered": 0,
                            "impressions": 0,
                            "clicks": 0
                        },
                        "xiaomi": {
                            "targets": 0,
                            "sent": 0,
                            "delivered": 0,
                            "impressions": 0,
                            "clicks": 0
                        },
                        "oppo": {
                            "targets": 0,
                            "sent": 0,
                            "delivered": 0,
                            "impressions": 0,
                            "clicks": 0
                        },
                        "vivo": {
                            "targets": 0,
                            "sent": 0,
                            "delivered": 0,
                            "impressions": 0,
                            "clicks": 0
                        },
                        "meizu": {
                            "targets": 0,
                            "sent": 0,
                            "delivered": 0,
                            "impressions": 0,
                            "clicks": 0
                        },
                        "fcm": {
                            "targets": 0,
                            "sent": 0,
                            "delivered": 0,
                            "impressions": 0,
                            "clicks": 0
                        },
                        "honor": {
                            "targets": 0,
                            "sent": 0,
                            "delivered": 0,
                            "impressions": 0,
                            "clicks": 0
                        }
                    },
                    "sub_ios": {
                        "engageLab_ios": {
                            "targets": 1,
                            "sent": 0,
                            "delivered": 0,
                            "impressions": 0,
                            "clicks": 0
                        },
                        "apns": {
                            "targets": 0,
                            "sent": 0,
                            "delivered": 0,
                            "impressions": 0,
                            "clicks": 0
                        }
                    }
                },
                "live_activity": {
                    "targets": 0,
                    "sent": 0,
                    "delivered": 0,
                    "impressions": 0,
                    "clicks": 0
                },
                "voip": {
                    "targets": 0,
                    "sent": 0,
                    "delivered": 0,
                    "impressions": 0,
                    "clicks": 0
                },
                "inapp_message": {
                    "targets": 0,
                    "sent": 0,
                    "delivered": 0,
                    "impressions": 0,
                    "clicks": 0
                }
            },
            "plan_id": "engageLab_msg",
            "pushContent": {
                "message": {
                    "title": "msg",
                    "content": "push"
                }
            }
        }
    }
    
                
    Tampilkan blok kode ini di jendela mengambang

    Parameter Respons

    Respons sukses berupa objek JSON, dan kunci adalah message_id. Setiap pesan harus menyertakan statistik siklus hidup pada setiap fase:

    | Kata Kunci | Tipe | Opsi | Deskripsi |

    Kata Kunci Tipe Opsi Makna
    targets Int64 Wajib Target valid. Jumlah perangkat target setelah audiens target pada tugas push difilter validitasnya.
    sent Int64 Wajib Jumlah pengiriman. Jumlah perangkat yang berhasil dibuatkan tugas pengiriman oleh server Engagelab dari perangkat target yang valid.
    delivered Int64 Wajib Jumlah pengiriman berhasil. Jumlah perangkat yang benar-benar menerima pesan notifikasi. Pengiriman setelah 5 hari tidak dihitung. Untuk Huawei, Meizu, dan iOS, konfigurasi callback diperlukan untuk akurasi lebih tinggi.
    impressions Int64 Wajib Jumlah tayangan. Jumlah perangkat yang berhasil menampilkan pesan notifikasi. Tayangan setelah 5 hari tidak dihitung.
    clicks Int64 Wajib Jumlah klik. Jumlah kali pesan notifikasi diklik oleh pengguna setelah berhasil ditampilkan. Klik setelah 5 hari tidak dihitung.
    sub Object Wajib Metrik detail dari data statistik, lihat tabel di bawah.
  • notification: Statistik ringkasan data tipe pesan notifikasi bar.
  • message: Statistik ringkasan data pesan kustom.
  • live_activity: Statistik ringkasan data pesan aktivitas real-time.
  • voip: Statistik ringkasan data pesan voip.
  • plan_id String Wajib ID rencana push, mengidentifikasi tipe rencana push tempat pesan tersebut berada
    pushContent Object Wajib Detail konten push, termasuk informasi konten push untuk berbagai platform:
    - android: Konten push platform Android (termasuk field seperti title dan content)
    - ios: Konten push platform iOS (termasuk field seperti title, content, dan subtitle)
    - message: Konten pesan kustom (termasuk field seperti title dan content)
    indikator
    Kata Kunci Tipe Opsi Deskripsi
    sub_android Object opsional Ringkasan data dan statistik saluran push Android
    engageLab_android Object opsional Ringkasan data dan statistik saluran Android Engagelab
    huawei Object opsional Ringkasan data dan statistik saluran Huawei
    honor Object opsional Ringkasan data dan statistik saluran Honor
    xiaomi Object opsional Ringkasan data dan statistik saluran Xiaomi
    oppo Object opsional Ringkasan data dan statistik saluran OPPO
    vivo Object opsional Ringkasan data dan statistik saluran vivo
    meizu Object opsional Ringkasan data dan statistik saluran Meizu
    fcm Object opsional Ringkasan data dan statistik saluran FCM
    sub_ios Object opsional Ringkasan data dan statistik saluran push Apple
    engageLab_ios Object opsional Ringkasan data dan statistik saluran iOS Engagelab
    apns Object opsional Ringkasan data dan statistik saluran iOS APNs
    sub_hmos Object opsional Ringkasan data dan statistik saluran push Harmony
    engageLab_hmos Object opsional Ringkasan data dan statistik saluran Harmony Engagelab
    harmonyos Object opsional Ringkasan data dan statistik saluran HarmonyOS

    Statistik Rencana Push

    • Antarmuka ini digunakan untuk mendapatkan indikator statistik detail dari rencana push. Mendukung kueri batch data siklus hidup penuh dari beberapa rencana dalam rentang waktu yang ditentukan, termasuk indikator subdivisi multi-dimensi (platform/vendor/tipe pesan).

    Alamat Panggilan

    GET v4/status/plan/detail

    Contoh Permintaan

    GET /v4/status/plan/detail?plan_ids=push_20231101,push_20231102&start_date=2023-11-01&end_date=2023-11-07
                  
                  GET /v4/status/plan/detail?plan_ids=push_20231101,push_20231102&start_date=2023-11-01&end_date=2023-11-07
    
                
    Tampilkan blok kode ini di jendela mengambang

    Parameter Permintaan

    Nama Parameter Tipe Wajib Deskripsi
    plan_ids string Ya Daftar ID rencana push, pisahkan dengan koma untuk beberapa ID. Maksimal 100 ID didukung.
    start_date string Ya Tanggal mulai statistik (Format: yyyy-MM-dd). Harus memenuhi:
  • 1. End date >= Start date
  • 2. Interval tanggal ≤ 31 hari
  • end_date string Ya Tanggal akhir statistik (Format: yyyy-MM-dd)

    Deskripsi Parameter Respons

    Respons Sukses

    • Objek yang dikembalikan berupa pasangan key-value, dan nama key adalah plan_id yang diminta.
    • Setiap objek plan_id berisi field berikut:
    Nama Parameter Tipe Deskripsi
    targets int64 Jumlah perangkat target valid (jumlah perangkat setelah deduplikasi dan filter validitas)
    sent int64 Jumlah perangkat yang benar-benar dibuatkan tugas pengiriman
    delivered int64 Jumlah perangkat yang benar-benar menerima (hanya data dalam 5 hari yang dihitung)
    impressions int64 Jumlah tayangan pesan (hanya data dalam 5 hari yang dihitung)
    clicks int64 Jumlah klik pengguna (hanya data dalam 5 hari yang dihitung)
    sub object Statistik subdivisi tipe pesan (struktur seperti pada sub-tabel di bawah)
    • Struktur objek sub

      Tipe Pesan Deskripsi Sub-struktur
      notification Statistik pesan notifikasi bar Berisi sub_android (statistik vendor Android)/sub_ios (statistik iOS)
      message Statistik pesan kustom Berisi sub_android/sub_ios
      live_activity Statistik pesan aktivitas langsung Hanya berisi sub_ios
      voip Statistik pesan VOIP Hanya berisi sub_ios
    • Field Statistik Vendor Platform

      Nama Parameter Tipe Deskripsi
      targets int64 Jumlah perangkat target valid untuk vendor terkait
      sent int64 Jumlah pengiriman aktual melalui saluran vendor
      delivered int64 Jumlah pengiriman berhasil melalui saluran vendor
      impressions int64 Jumlah tayangan melalui saluran vendor
      clicks int64 Jumlah klik melalui saluran vendor

    Contoh Respons

    Respons Sukses

    { "push_20231101": { "targets": 1500, "sent": 1450, "delivered": 1400, "impressions": 1350, "clicks": 120, "sub": { "notification": { "sub_android": { "huawei": { "targets":200, "sent":190, "delivered":185, "impressions":180, "clicks":15 }, "xiaomi": { "targets":180, "sent":175, "delivered":170, "impressions":165, "clicks":10 } }, "sub_ios": { "apns": { "targets":300, "sent":295, "delivered":290, "impressions":285, "clicks":25 } } }, "live_activity": { "sub_ios": { "apns": { "targets":50, "sent":48, "delivered":45, "impressions":40, "clicks":5 } } } } } }
                  
                  {
      "push_20231101": {
        "targets": 1500,
        "sent": 1450,
        "delivered": 1400,
        "impressions": 1350,
        "clicks": 120,
        "sub": {
          "notification": {
            "sub_android": {
              "huawei": { "targets":200, "sent":190, "delivered":185, "impressions":180, "clicks":15 },
              "xiaomi": { "targets":180, "sent":175, "delivered":170, "impressions":165, "clicks":10 }
            },
            "sub_ios": {
              "apns": { "targets":300, "sent":295, "delivered":290, "impressions":285, "clicks":25 }
            }
          },
          "live_activity": {
            "sub_ios": {
              "apns": { "targets":50, "sent":48, "delivered":45, "impressions":40, "clicks":5 }
            }
          }
        }
      }
    }
    
                
    Tampilkan blok kode ini di jendela mengambang

    Respons Gagal

    { "error": { "code": 21003, "message": "Nilai parameter tidak valid" } }
                  
                  {
      "error": {
        "code": 21003,
        "message": "Nilai parameter tidak valid"
      }
    }
    
                
    Tampilkan blok kode ini di jendela mengambang

    Statistik Pengguna

    • Menyediakan data statistik terkait pengguna pada periode tertentu dalam dua bulan terakhir: Termasuk pengguna baru, pengguna online, dan pengguna aktif.
    • Satuan Waktu: HOUR, DAY, MONTH.

    API Url Permintaan

    GET v4/status/users

    Contoh Permintaan

    curl -v https://pushapi-sgp.engagelab.com/v4/status/users?time_unit=DAY&start=2014-06-10&duration=3 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1" < GET /v4/users?time_unit=DAY&start=2014-06-10&duration=3 HTTP/1.1 < Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
                  
                  curl -v https://pushapi-sgp.engagelab.com/v4/status/users?time_unit=DAY&start=2014-06-10&duration=3 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1"
    
    < GET /v4/users?time_unit=DAY&start=2014-06-10&duration=3 HTTP/1.1
    < Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
    
                
    Tampilkan blok kode ini di jendela mengambang

    Parameter Permintaan

    Kata Kunci Tipe Opsi Deskripsi
    time_unit String wajib Satuan waktu:
  • HOUR
  • DAY
  • MONTH
  • start String wajib Waktu mulai
  • Jika unitnya hour, waktu mulai adalah jam (termasuk hari, dan 0 harus diisi jika kurang dari dua digit). Contoh format: 2022-06-11 09
  • Jika unitnya day, waktu mulai adalah tanggal (hari). Contoh format: 2022-06-11
  • Jika unitnya month, waktu mulai adalah tanggal (bulan). Contoh format: 2022-06
  • duration String wajib Durasi
  • Jika unitnya day, adalah jumlah hari berturut-turut. dan seterusnya.
  • Hanya informasi pengguna dalam 60 hari terakhir yang dapat dikueri. Jika satuan waktu HOUR, hanya hasil statistik hari ini yang dapat ditampilkan.
  • Contoh Respons

    < HTTP/1.1 200 OK < Content-Type: application/json { "time_unit": "DAY", "start": "2014-06-10", "duration": 3, "items": [{ "time": "2014-06-12", "android": { "new": 1, "active": 1, "online": 2 }, "ios": { "new": 1, "active": 1, "online": 2 }, "hmos": { "new": 1, "active": 1, "online": 2 } }] }
                  
                  < HTTP/1.1 200 OK
    < Content-Type: application/json
    {
        "time_unit": "DAY",
        "start": "2014-06-10",
        "duration": 3,
        "items": [{
            "time": "2014-06-12",
            "android": {
          "new": 1,
                "active": 1,
                "online": 2
            },
        "ios": {
          "new": 1,
                "active": 1,
                "online": 2
        },
        "hmos": {
          "new": 1,
          "active": 1,
          "online": 2
        }
        }]
    }
    
                
    Tampilkan blok kode ini di jendela mengambang

    Parameter Respons

    Respons sukses berupa objek JSON:

    Kata Kunci Tipe Opsi Deskripsi
    time_unit String wajib Satuan waktu
  • HOUR
  • DAY
  • MONTH
  • start String wajib Waktu mulai.
  • Jika unitnya hour, waktu mulai adalah jam (termasuk hari, dan 0 harus diisi jika kurang dari dua digit). Contoh format: 2022-06-11 09
  • Jika unitnya day, waktu mulai adalah tanggal (hari). Contoh format: 2022-06-11
  • Jika unitnya month, waktu mulai adalah tanggal (bulan). Contoh format: 2022-06
  • duration String wajib Durasi
  • Jika unitnya day, adalah jumlah hari berturut-turut. dan seterusnya.
  • Hanya informasi pengguna dalam 60 hari terakhir yang dapat dikueri. Jika satuan waktu HOUR, hanya hasil statistik hari ini yang dapat ditampilkan.
  • items JSON Array wajib Hasil statistik dalam rentang kueri berdasarkan durasi
    • Deskripsi field items:
      • android: Statistik ringkasan data platform Android.
      • ios: Statistik ringkasan data platform Apple.
      • hmos: Statistik ringkasan data platform HarmonyOS.
    Kata Kunci Tipe Opsi Deskripsi
    new Int64 opsional Pengguna Baru
    active Int64 opsional Pengguna Aktif

    Kueri Status Siklus Hidup Pesan

    • Kueri status siklus hidup pesan pada perangkat yang sesuai dengan message_id.
    • Statistik setiap pesan push disimpan hingga satu bulan.

    Endpoint API

    GET v4/status/message

    Contoh Permintaan

    curl -v https://pushapi-sgp.engagelab.com/v4/status/message?message_id=1613113584&registration_ids=1507bfd3a7c568d4761,1618cfd3a7c568d4761,17259fd3a7c568d4371 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1" < GET /v4/status/message?message_id=1613113584&registration_ids=1507bfd3a7c568d4761,1618cfd3a7c568d4761,17259fd3a7c568d4371 HTTP/1.1 < Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
                  
                  curl -v https://pushapi-sgp.engagelab.com/v4/status/message?message_id=1613113584&registration_ids=1507bfd3a7c568d4761,1618cfd3a7c568d4761,17259fd3a7c568d4371 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1"
    
    < GET /v4/status/message?message_id=1613113584&registration_ids=1507bfd3a7c568d4761,1618cfd3a7c568d4761,17259fd3a7c568d4371 HTTP/1.1
    < Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
    
                
    Tampilkan blok kode ini di jendela mengambang

    Parameter Permintaan

    Kata Kunci Tipe Opsi Deskripsi
    message_id String Wajib ID Pesan
    registration_ids String Wajib
  • ID perangkat. Jika terdapat beberapa registration_id, pisahkan dengan ",".
  • Mendukung hingga 1000 registration_id.
  • Deskripsi Parameter Respons

    Respons sukses berupa objek JSON yang berisi status pesan saat ini untuk setiap registration_id. Jika terjadi error, informasi akan dimasukkan dalam error_message.

    Kata Kunci Tipe Opsi Makna
    status String Opsional Nilai:
  • plan: Target rencana
  • target_valid: Target valid
  • target_invalid: Target tidak valid
  • sent: Terkirim
  • sent_failed: Gagal dikirim
  • delivered: Terkirim
  • delivered_failed: Gagal terkirim
  • Impression: Tayangan
  • click: Klik
  • error_message String Opsional Pesan error, hanya tersedia untuk status tertentu.
    error_code Int64 Opsional Kode status error, hanya tersedia untuk status tertentu.
    itime Int64 Opsional Waktu pembaruan status, akurat hingga detik.
    channel String Opsional Informasi tentang saluran pengiriman pesan.

    Contoh Respons

    Respons Sukses

    < HTTP/1.1 200 OK < Content-Type: application/json { "1507bfd3a7c568d4761": { "itime": 1762331775, "channel": "FCM", "status": "delivered" }, "17259fd3a7c568d4371": { "error_code": 21003, "error_message": "`registration_id` tidak termasuk dalam appkey" }, "17259fd3a7c568d4787":{ "itime": 1762331775, "status": "sent_failed", "error_code": 401, "error_message": "token tidak valid", "channel": "FCM" }, "17259fd3a7c568d4372": { "error_code": 21061, "error_message": "tidak ada status yang berlaku" } }
                  
                  < HTTP/1.1 200 OK
    < Content-Type: application/json
    {
        "1507bfd3a7c568d4761": {
            "itime": 1762331775,
            "channel": "FCM",
            "status": "delivered"
        },
        "17259fd3a7c568d4371": {
            "error_code": 21003,
            "error_message": "`registration_id` tidak termasuk dalam appkey"
        },
        "17259fd3a7c568d4787":{
            "itime": 1762331775,
            "status": "sent_failed",
            "error_code": 401,
            "error_message": "token tidak valid",
            "channel": "FCM"		
        },
        "17259fd3a7c568d4372": {
            "error_code": 21061,
            "error_message": "tidak ada status yang berlaku"
        }
    }
    
                
    Tampilkan blok kode ini di jendela mengambang

    Respons Gagal

    { "error": { "code": 21003, "message": "Nilai parameter tidak valid" } }
                  
                  {
      "error": {
        "code": 21003,
        "message": "Nilai parameter tidak valid"
      }
    }
    
                
    Tampilkan blok kode ini di jendela mengambang

    Kueri Status Siklus Hidup Pesan Batch

    • Kueri batch status siklus hidup pesan untuk satu registration_id di setiap message_id. Jika terdapat beberapa registration_id di bawah satu message_id, message_id terkait akan dikembalikan dalam multi_regid_message_ids.
    • Statistik setiap pesan push disimpan hingga satu bulan.

    Endpoint API

    GET v4/status/batch/message

    Contoh Permintaan

    curl -v https://pushapi-sgp.engagelab.com/v4/status/batch/message?message_ids=1613113584,1613113585,1613113586 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1" < GET /v4/status/batch/message?message_ids=1613113584,1613113585,1613113586 HTTP/1.1 < Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
                  
                  curl -v https://pushapi-sgp.engagelab.com/v4/status/batch/message?message_ids=1613113584,1613113585,1613113586 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1"
    
    < GET /v4/status/batch/message?message_ids=1613113584,1613113585,1613113586 HTTP/1.1
    < Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
    
                
    Tampilkan blok kode ini di jendela mengambang

    Parameter Permintaan

    Kata Kunci Tipe Opsi Deskripsi
    message_ids String Wajib
  • ID Pesan. Untuk beberapa message_id, pisahkan dengan ",".
  • Mendukung hingga 100 message_id.
  • Deskripsi Parameter Respons

    Respons sukses berupa Array Object; setiap item mewakili status saat ini di bawah satu message_id (dan opsional satu registration_id). Jika ada pengecualian, akan dimasukkan dalam error_message.

    Kata Kunci Tipe Opsi Makna
    message_id String Wajib message_id pesan.
    registration_id String Opsional registration_id tunggal yang dikueri.
    status String Opsional Nilai:
  • plan
  • target_valid
  • target_invalid
  • sent
  • sent_failed
  • delivered
  • delivered_failed
  • Impression
  • click
  • itime Int64 Opsional Waktu pembaruan status, akurat hingga detik.
    channel String Opsional Informasi tentang saluran pengiriman pesan.
    error_message String Opsional Pesan error, hanya tersedia untuk status tertentu.
    error_code Int64 Opsional Kode status error, hanya tersedia untuk status tertentu.

    Contoh Respons

    Respons Sukses

    < HTTP/1.1 200 OK < Content-Type: application/json [ { "message_id": "261585110", "error_message": "Ditemukan beberapa `registration_id` di bawah satu `message_id`.", "error_code": 21003 }, { "message_id": "261585111", "registration_id": "170976fa8ab73279b2f", "status": "sent", "itime": 1766042841, "channel": "XiaoMi" }, { "message_id": "261585123", "registration_id": "170976fa8ab73279b2f", "status": "click", "itime": 1766047747, "channel": "EngageLab" }, { "message_id": "1613113585", "error_message": "`message_id` tidak valid atau tidak ada.", "error_code": 21003 }, { "message_id": "1613113585", "error_message": "tidak ada status yang berlaku", "error_code": 21061 } ]
                  
                  < HTTP/1.1 200 OK
    < Content-Type: application/json
    [
        {
            "message_id": "261585110",
            "error_message": "Ditemukan beberapa `registration_id` di bawah satu `message_id`.",
            "error_code": 21003
        },    
        {
            "message_id": "261585111",
            "registration_id": "170976fa8ab73279b2f",
            "status": "sent",
            "itime": 1766042841,
            "channel": "XiaoMi"
        },   
        {
            "message_id": "261585123",
            "registration_id": "170976fa8ab73279b2f",
            "status": "click",
            "itime": 1766047747,
            "channel": "EngageLab"
        },
        {
            "message_id": "1613113585",
            "error_message": "`message_id` tidak valid atau tidak ada.",
            "error_code": 21003
        },
        {
            "message_id": "1613113585",
            "error_message": "tidak ada status yang berlaku",
            "error_code": 21061
        }
    ]
    
                
    Tampilkan blok kode ini di jendela mengambang

    Respons Gagal

    { "error": { "code": 21003, "message": "Nilai parameter tidak valid" } }
                  
                  {
      "error": {
        "code": 21003,
        "message": "Nilai parameter tidak valid"
      }
    }
    
                
    Tampilkan blok kode ini di jendela mengambang

    Kode Respons

    Kode status HTTP

    Dokumen Referensi: HTTP-Status-Code

    Kode Pengembalian

    Kode Deskripsi Deskripsi detail HTTP Status Code
    0 sukses permintaan berhasil 200
    21001 Metode tidak didukung atau url salah Kesalahan metode permintaan (GET/POST) atau url salah (antarmuka tidak ada) 404
    21003 Nilai parameter tidak valid Nilai parameter ilegal 400
    23001 Autentikasi dasar gagal HTTP Basic authorization gagal 401
    23002 Parameter hilang! Parameter wajib hilang! 400
    23004 Nilai time_unit tidak sesuai dengan start! Nilai parameter time_unit dan start tidak sesuai 400
    23007 Hanya mendukung kueri message_id dalam 30 hari! Hanya pesan dalam 30 hari yang dapat dikueri 400
    23100 Kesalahan server Kesalahan internal sistem 500
    27000 Respons server time out, silakan coba lagi nanti Kesalahan internal sistem 500
    27201 msgid tidak ada atau tidak milik aplikasi ini Msgid tidak ada atau tidak milik aplikasi ini 400
    icon
    Hubungi Sales