API Statistik
info Ini adalah versi terbaru dari Stats API. Peningkatan pada versi v4 adalah sebagai berikut:
- Menggunakan HTTP Basic Authentication untuk otorisasi akses. Dengan cara ini, seluruh permintaan API dapat dilakukan menggunakan alat HTTP umum, seperti curl dan plug-in browser.
- Konten push dalam format JSON
Gambaran Umum
Stats API v4 menyediakan berbagai fungsi untuk kueri data.
Validasi Panggilan
Untuk informasi lebih lanjut, silakan lihat Metode Autentikasi
Statistik Pesan
- Melakukan kueri statistik setiap status dalam siklus hidup message_id.
- Statistik setiap pesan push dapat disimpan maksimal selama satu bulan.
URI API Permintaan
GET v4/messages/details
Contoh Permintaan
curl -v https://webpushapi-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==
Parameter Permintaan
| Kata Kunci | Tipe | Opsi | Deskripsi |
|---|---|---|---|
| message_ids | String | wajib | <li>ID pesan, beberapa message_ids dipisahkan dengan "," <li>maksimal 100 message_ids |
Contoh Balasan
< HTTP/1.1 200 OK
< Content-Type: application/json
{
"1083008": {
"targets": 1,
"sent": 1,
"delivered": 1,
"impressions": 1,
"clicks": 0,
"sub": {
"notification": {
"targets": 1,
"sent": 1,
"delivered": 1,
"impressions": 1,
"clicks": 0,
"sub_web": {
"engageLab_web": {
"targets": 0,
"sent": 0,
"delivered": 0,
"impressions": 0,
"clicks": 0
},
"chrome": {
"targets": 1,
"sent": 1,
"delivered": 1,
"impressions": 1,
"clicks": 0
},
"safari": {
"targets": 0,
"sent": 0,
"delivered": 0,
"impressions": 0,
"clicks": 0
},
"firefox": {
"targets": 0,
"sent": 0,
"delivered": 0,
"impressions": 0,
"clicks": 0
},
"edge": {
"targets": 0,
"sent": 0,
"delivered": 0,
"impressions": 0,
"clicks": 0
},
"other": {
"targets": 0,
"sent": 0,
"delivered": 0,
"impressions": 0,
"clicks": 0
}
}
},
"message": {
"targets": 0,
"sent": 0,
"delivered": 0,
"impressions": 0,
"clicks": 0
}
},
"plan_id": "engageLab_msg",
"pushContent": {
"message": {
"title": "msg",
"content": "push"
}
}
}
}
Parameter Balasan
Respons sukses berupa objek JSON, di mana kunci adalah setiap message_id, dan setiap pesan harus memuat statistik siklus hidup di setiap fase:
| Kata Kunci | Tipe | Opsi | Deskripsi |
|---|---|---|---|
| targets | Int64 | wajib | Target efektif. Jumlah perangkat target yang dipilih oleh tugas setelah penyaringan efektivitas yang akan didorong. |
| sent | Int64 | wajib | Jumlah pengiriman. Dari perangkat target yang efektif, server Engagelab benar-benar berhasil membuat jumlah perangkat yang mengirim tugas tersebut. |
| delivered | Int64 | wajib | Jumlah pengantaran. Setelah pesan notifikasi dikirim, jumlah pengantaran aktual ke Web tidak termasuk dalam jumlah pengantaran setelah 5 hari. |
| impressions | Int64 | wajib | Jumlah tampilan. Setelah pesan notifikasi dikirimkan, jumlah tampilan sukses aktual di perangkat tidak akan dihitung. |
| clicks | Int64 | wajib | Jumlah klik. Setelah pesan notifikasi berhasil ditampilkan, jumlah klik aktual oleh pengguna tidak akan dihitung. |
| sub | Object | wajib | Indikator rincian data statistik. |
| plan_id | String | wajib | ID rencana push, yang mengidentifikasi tipe rencana push tempat pesan tersebut termasuk |
| pushContent | Object | wajib | Detail konten push, termasuk informasi konten push untuk berbagai platform: - android: Konten push untuk platform Android (termasuk field seperti title dan content) - ios: Konten push untuk 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_web | Object | Opsional | Statistik ringkasan data berbagai saluran push di channel Web |
| engageLab_web | Object | Opsional | Statistik ringkasan data saluran Engagelab |
| chrome | Object | Opsional | Statistik ringkasan data saluran Chrome |
| safari | Object | Opsional | Statistik ringkasan data saluran Safari |
| firefox | Object | Opsional | Statistik ringkasan data saluran Firefox |
| edge | Object | Opsional | Statistik ringkasan data saluran Edge |
| other | Object | Opsional | Statistik ringkasan data saluran lainnya |
Statistik Pengguna
- Menyediakan data statistik terkait pengguna dalam periode waktu tertentu selama 2 bulan terakhir: termasuk pengguna baru, pengguna online, dan pengguna aktif.
- Satuan Waktu:HOUR, DAY, MONTH
URL API Permintaan
GET v4/status/users
Contoh Permintaan
curl -v https://webpushapi-sgp.engagelab.com/v4/status/users?time_unit=DAY&start=2014-06-10&duration=3 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1"
< GET /v4/users?time_unit=&start=&duration= HTTP/1.1
< Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
Parameter Permintaan
| Kata Kunci | Tipe | Opsi | Deskripsi |
|---|---|---|---|
| time_unit | String | Opsional | Satuan waktu: |
| start | String | Opsional | Waktu mulai |
| duration | String | Opsional | Durasi |
Contoh Balasan
< HTTP/1.1 200 OK
< Content-Type: application/json
{
"time_unit": "DAY",
"start": "2014-06-10",
"duration": 3,
"items": [{
"time": "2014-06-12",
"web": {
"new": 1,
"active": 1,
"online": 2
}
}]
}
Parameter
Respons sukses berupa objek JSON:
| Kata Kunci | Tipe | Opsi | Deskripsi |
|---|---|---|---|
| time_unit | String | wajib | Satuan waktu, terdiri dari: |
| start | String | wajib | Waktu mulai |
| duration | String | wajib | Durasi |
| items | JSON Array | wajib | Hasil statistik dalam rentang waktu berdasarkan durasi |
- items:
- web:Statistik ringkasan data platform Web
| Kata Kunci | Tipe | Opsi | Deskripsi |
|---|---|---|---|
| new | Int64 | opsional | Pengguna baru |
| online | Int64 | opsional | Pengguna online |
| active | Int64 | opsional | Pengguna aktif |
Kueri Status Siklus Hidup Pesan
- Melakukan kueri status siklus hidup pesan pada perangkat terkait di bawah message_id.
- Statistik setiap pesan push dapat disimpan maksimal selama satu bulan.
URL API Permintaan
GET v4/status/message
Contoh
curl -v https://webpushapi-sgp.engagelab.com/v4/status/message?message_id=1613113584®istration_ids=1507bfd3a7c568d4761,1618cfd3a7c568d4761,17259fd3a7c568d4371 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1"
< GET /v4/status?message_id=®istration_ids= HTTP/1.1
< Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
Parameter
| Kata Kunci | Tipe | Opsi | Deskripsi |
|---|---|---|---|
| message_id | String | wajib | ID pesan |
| registration_ids | String | wajib | <li>Registration ID, beberapa registration_id dipisahkan dengan "," <li>Mendukung hingga 1000 registration_id |
Contoh
< HTTP/1.1 200 OK
< Content-Type: application/json
{
"1507bfd3a7c568d4761": {
"itime": 1762331775,
"channel": "FCM",
"status": "delivered"
},
"17259fd3a7c568d4371": {
"error_message": "`registration_id` tidak termasuk dalam appkey",
"error_code": 21003
},
"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 efek"
}
}
Respons Gagal
{
"error": {
"code": 21003,
"message": "Nilai parameter tidak valid"
}
}
Parameter
Respons sukses berupa objek JSON yang berisi status terkini dari setiap registration_id di bawah pesan ini. Jika ada informasi pengecualian, akan disertakan dalam error-message.
| Kata Kunci | Tipe | Opsi | Deskripsi |
|---|---|---|---|
| status | String | opsional | Rentang nilai: |
| error_message | String | opsional | Pesan kesalahan |
Kueri Status Siklus Hidup Pesan Batch
- Melakukan kueri batch status siklus hidup pesan untuk satu
registration_iddi bawah setiapmessage_id. Jika terdapat beberaparegistration_iddi bawah satumessage_id, makamessage_idterkait akan dikembalikan dalammulti_regid_message_ids. - Statistik untuk setiap pesan push disimpan hingga satu bulan.
Endpoint API
GET v4/status/batch/message
Contoh Permintaan
curl -v https://webpushapi-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==
Parameter Permintaan
| Kata Kunci | Tipe | Opsi | Deskripsi |
|---|---|---|---|
| message_ids | String | wajib | message_id, pisahkan dengan ",".message_id. |
Deskripsi Parameter Respons
Respons sukses berupa Array Object; setiap item mewakili status terkini di bawah satu message_id (dan opsional satu registration_id). Jika ada pengecualian, akan disertakan dalam error_message.
| Kata Kunci | Tipe | Opsi | Arti |
|---|---|---|---|
| message_id | String | wajib | message_id pesan. |
| registration_id | String | opsional | registration_id tunggal yang dikueri. |
| status | String | opsional | Rentang nilai: |
| itime | Int64 | opsional | Waktu pembaruan status, akurat hingga detik. |
| channel | String | opsional | Informasi tentang channel pengiriman pesan. |
| error_message | String | opsional | Pesan kesalahan, hanya tersedia untuk status tertentu. |
| error_code | Int64 | opsional | Kode status kesalahan, 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` yang sama.",
"error_code": 21003
},
{
"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
}
]
Respons Gagal
{
"error": {
"code": 21003,
"message": "Nilai parameter tidak valid"
}
}
Balasan Permintaan
Status HTTP
Referensi:HTTP-Status-Code
Kode Bisnis Balasan
| Kode | Deskripsi | HTTP Status Code |
|---|---|---|
| 0 | sukses | 200 |
| 21001 | Metode tidak didukung atau url salah | 404 |
| 21003 | Nilai parameter tidak valid | 400 |
| 23001 | Autentikasi Basic gagal | 401 |
| 23002 | Parameter hilang! | 400 |
| 23004 | Nilai time_unit tidak sesuai dengan start! | 400 |
| 23007 | Hanya mendukung kueri message_id dalam 30 hari terakhir! | 400 |
| 23100 | Kesalahan server | 500 |
| 27000 | Waktu respons server habis, silakan coba lagi nanti | 500 |
| 27201 | msgid tidak ada atau tidak termasuk aplikasi ini | 400 |










