logoDokumen
Cari

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==
              
              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==

            
Tampilkan blok kode ini di jendela mengambang

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" } } } }
              
              < 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"
            }
        }

    }
}

            
Tampilkan blok kode ini di jendela mengambang

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.
  • notification: Statistik ringkasan data untuk tipe pesan notifikasi bar.
  • message: Statistik ringkasan data untuk pesan kustom.
  • 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==
                  
                  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==
    
                
    Tampilkan blok kode ini di jendela mengambang

    Parameter Permintaan

    Kata Kunci Tipe Opsi Deskripsi
    time_unit String Opsional Satuan waktu:
  • HOUR
  • DAY
  • MONTH
  • start String Opsional Waktu mulai
  • Jika satuan waktu adalah jam, waktu mulai adalah jam (termasuk hari, dan 0 harus diisi jika kurang dari dua digit), contoh: 2006-01-02T15
  • Jika satuan waktu adalah hari, waktu mulai adalah tanggal (hari), contoh: 2022-06-11
  • Jika satuan waktu adalah bulan, waktu mulai adalah tanggal (bulan), contoh: 2022-06
  • duration String Opsional Durasi
  • Jika satuan waktu adalah hari, maka jumlah hari
  • Hanya informasi pengguna dalam 60 hari terakhir yang dapat dikueri. Untuk time_unit HOUR, hanya hasil statistik hari ini yang dapat ditampilkan.
  • 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 } }] }
                  
                  < 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
        }
        }]
    }
    
                
    Tampilkan blok kode ini di jendela mengambang

    Parameter

    Respons sukses berupa objek JSON:

    Kata Kunci Tipe Opsi Deskripsi
    time_unit String wajib Satuan waktu, terdiri dari:
  • HOUR
  • DAY
  • MONTH
  • start String wajib Waktu mulai
  • Jika satuan waktu adalah jam, waktu mulai adalah jam (termasuk hari, dan 0 harus diisi jika kurang dari dua digit), contoh: 2022-06-11 09
  • Jika satuan waktu adalah hari, waktu mulai adalah tanggal (hari), contoh: 2022-06-11
  • Jika satuan waktu adalah bulan, waktu mulai adalah tanggal (bulan), contoh: 2022-06
  • duration String wajib Durasi
  • Jika satuan waktu adalah hari, maka jumlah hari
  • Hanya informasi pengguna dalam 60 hari terakhir yang dapat dikueri. Untuk time_unit HOUR, hanya hasil statistik hari ini yang dapat ditampilkan.
  • 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&registration_ids=1507bfd3a7c568d4761,1618cfd3a7c568d4761,17259fd3a7c568d4371 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1" < GET /v4/status?message_id=&registration_ids= HTTP/1.1 < Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
                  
                  curl -v https://webpushapi-sgp.engagelab.com/v4/status/message?message_id=1613113584&registration_ids=1507bfd3a7c568d4761,1618cfd3a7c568d4761,17259fd3a7c568d4371 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1"
    
    < GET /v4/status?message_id=&registration_ids= HTTP/1.1
    < Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
    
                
    Tampilkan blok kode ini di jendela mengambang

    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" } }
                  
                  < 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"
        }
    }
    
                
    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

    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:
  • plan: target rencana
  • target_valid: target valid
  • target_invalid: target tidak valid
  • sent: terkirim
  • sent_failed: gagal terkirim
  • delivered: terkirim ke perangkat
  • delivered_failed: gagal terkirim ke perangkat
  • impression: ditampilkan
  • click: diklik
  • error_message String opsional Pesan kesalahan

    Kueri Status Siklus Hidup Pesan Batch

    • Melakukan kueri batch status siklus hidup pesan untuk satu registration_id di bawah setiap message_id. Jika terdapat beberapa registration_id di bawah satu message_id, maka message_id terkait akan dikembalikan dalam multi_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==
                  
                  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==
    
                
    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 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:
  • 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 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 } ]
                  
                  < 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
      }
    ]
    
                
    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

    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
    icon
    Hubungi Sales