API Tag Alias
API Perangkat digunakan untuk melakukan query, pengaturan, pembaruan, dan penghapusan informasi tag dan alias perangkat di sisi server. Saat menggunakannya, pastikan tag yang diatur di sisi server tidak ditimpa oleh sisi klien.
- Jika Anda belum familiar dengan tag, logika alias menyarankan hanya menggunakan salah satu, baik di sisi klien atau server.
- Jika digunakan di kedua sisi secara bersamaan, pastikan aplikasi Anda dapat menangani sinkronisasi tag dan alias.
Untuk informasi lebih lanjut tentang tag dan alias, silakan lihat dokumentasi API di platform klien terkait.
Aturan dan Batasan Penggunaan TAG
- Batas Jumlah TAG: Maksimal 100.000 Tag per appkey.
- Batas Panjang TAG: Maksimal 40 byte per Tag. Karakter valid: huruf (case sensitive), angka, garis bawah, dan karakter Tionghoa.
- Batas Binding TAG per Perangkat: Maksimal 100 Tag per perangkat.
- Batas Jumlah Perangkat per Tag: Maksimal 100.000 perangkat per Tag.
Jika Anda pelanggan paket berbayar dan ingin menyesuaikan batas AppKey, hubungi: Sales@engagelab.com
Aturan dan Batasan Penggunaan alias
- Pemetaan Perangkat ke alias: Satu alias hanya untuk satu perangkat, dan satu perangkat hanya untuk satu alias (dalam satu appkey).
- Batas Jumlah alias: Maksimal 100.000 alias per appkey.
- Batas Panjang alias: Maksimal 40 byte. Karakter valid: huruf (case sensitive), angka, garis bawah, dan karakter Tionghoa.
Jika Anda pelanggan paket berbayar dan ingin menyesuaikan batas AppKey, hubungi: Sales@engagelab.com
Ringkasan API
API Perangkat digunakan untuk query, pengaturan, pembaruan, dan penghapusan tag dan alias perangkat di sisi server.
Terdiri dari tiga API utama: device, tag, alias:
- device: query/pengaturan atribut perangkat (termasuk tag, alias)
- tag: query/pengaturan/penghapusan tag perangkat
- alias: query/pengaturan/penghapusan alias perangkat
registration ID adalah kunci utama yang digunakan:
registration_id perangkat didapat dari sisi klien, lihat dokumentasi API Web untuk detailnya.
Server tidak menyediakan API untuk mendapatkan registration ID perangkat; developer harus mendapatkannya dari klien dan menyimpannya di server developer.
Query Jumlah Tag di bawah AppKey
URL
GET /v4/tags_count
Contoh Permintaan
Header
GET /v4/tags_count
Authorization: Basic (base64 auth string)
Accept: application/json
Contoh
curl -X GET http://127.0.0.1/v4/tags_count?tags=tag1&tags=tag2&platform=ios -u "appKey:appSecret"
Parameter
- tags: String tag yang ingin di-query, wajib diisi, maksimal 1000 tag per query (tags=tag1&tags=tag2&tags=tag3)
- platform: Platform yang ingin di-query, wajib diisi, nilai: android, ios
Contoh Respons
Sukses
{
"tagsCount": {
"tag1": 0,
"tag2": 1,
"tag3": 2
}
}
Gagal
{
"error": {
"code": 21008,
"message": "app_key bukan string 24 karakter atau tidak ada"
}
}
Query alias dan tag perangkat
Dapatkan semua atribut perangkat saat ini, termasuk tags dan alias.
Endpoint
GET /v4/devices/{registration_id}
Header
GET /v4/devices/{registration_id}
Authorization: Basic (base64 auth string)
Accept: application/json
Parameter: Tidak ada
Contoh Respons
{
"tags": ["tag1", "tag2"],
"alias": "alias1"
}
Set alias dan tag perangkat
Memperbarui atribut tags dan alias perangkat.
Endpoint
POST /v4/devices/{registration_id}
Header
POST /v4/devices/{registration_id}
Authorization: Basic (base64 auth string)
Accept: application/json
Body
{
"tags": {
"add": [
"tag1",
"tag2"
],
"remove": [
"tag3",
"tag4"
]
},
"alias": "alias1"
}
Parameter
- tags: Mendukung add, remove, atau string kosong. Jika tags kosong, maka hapus semua tag.
- alias: Jika alias kosong, maka alias perangkat dihapus.
Contoh Respons
success
Gagal
{
"error":{
"code":27002,
"message":"unknown error"
}
}
Hapus perangkat
Menghapus perangkat.
Endpoint
DELETE /v4/devices/{registration_id}
Header
DELETE /v4/devices/{registration_id}
Authorization: Basic (base64 auth string)
Accept: application/json
Contoh Respons
success
Gagal
{
"error":{
"code":27002,
"message":"unknown error"
}
}
Query daftar tag
Dapatkan daftar semua tag aplikasi saat ini.
Endpoint
GET /v4/tags/
Header
GET /v4/tags/
Authorization: Basic (base64 auth string)
Accept: application/json
Contoh Respons
{
"tags": [
"tag1",
"tag2"
]
}
Query binding perangkat dengan tag
Query apakah suatu perangkat berada di bawah tag tertentu.
Endpoint
GET /v4/tags/{tag_value}/registration_ids/{registration_id}
Header
GET /v4/tags/{tag_value}/registration_ids/090c1f59f89
Authorization: Basic (base64 auth string)
Accept: application/json
Parameter
- registration_id (wajib)
Contoh Respons
{"result": true/false}
Update tag
Menambah atau menghapus perangkat untuk suatu tag.
Endpoint
POST /v4/tags/{tag_value}
Header
POST /v4/tags/{tag_value}
Authorization: Basic (base64 auth string)
Accept: application/json
Body
{
"registration_ids":{
"add": [
"registration_id1",
"registration_id2"
],
"remove": [
"registration_id1",
"registration_id2"
]
}
}
Parameter
- add/remove: Masing-masing mendukung hingga 1000 perangkat.
Contoh Respons
success
Gagal
{
"error": {
"code": 27005,
"message": "registration id tidak valid",
"data": "{\"invalid_regids\":[\"18071adc021ff8df80\",\"100d85592955c1f1058\"]}"
}
}
Hapus Tag
Menghapus tag beserta hubungan tag dengan perangkat.
Endpoint
DELETE /v4/tags/{tag_value}
Header
DELETE /v4/tags/{tag_value}?platform=web
Authorization: Basic (base64 auth string)
Accept: application/json
Parameter
- platform (opsional)
Contoh Respons
success
Gagal
{
"error":{
"code":27002,
"message":"unknown error"
}
}
Query alias (binding dengan perangkat)
Dapatkan perangkat di bawah alias tertentu.
Endpoint
GET /v4/aliases/{alias_value}
Header
GET /v4/aliases/{alias_value}?platform=web
Authorization: Basic (base64 auth string)
Accept: application/json
Parameter
- platform (opsional)
Contoh Respons
{
"registration_ids": [
"registration_id1",
"registration_id2"
]
}
Hapus Alias
Menghapus alias dan binding antara alias dengan perangkat.
Endpoint
DELETE /v4/aliases/{alias_value}
Header
DELETE /v4/aliases/{alias_value}?platform=web
Authorization: Basic (base64 auth string)
Accept: application/json
Parameter
- platform (opsional)
Contoh Respons
success
Gagal
{
"error":{
"code":27002,
"message":"unknown error"
}
}
Mendapatkan status online pengguna
Endpoint
POST /v4/devices/status/
Header
POST /v4/devices/status/
Authorization: Basic (base64 auth string)
Accept: application/json
Body
{
"registration_ids": [
"010b81b3582",
"0207870f1b8",
"0207870f9b8"
]
}
Parameter
- registration_ids: Maksimal 1000 registration_ids per query.
- Anda perlu mengajukan AppKey yang sudah mengaktifkan layanan ini sebelum dapat menggunakan API ini.
Contoh Respons
[
{
"regid": "010b81b3582",
"online": true
},
{
"regid": "0207870f1b8",
"online": false,
"last_online_time": "2014-12-16 10:57:07"
},
{
"regid": "0207870f9b8",
"online": false
}
]
Penjelasan Data
- online: true jika online ≤ 10 menit; false jika lebih dari 10 menit.
- last_online_time: Jika online=true, field ini tidak ada. Jika online=false dan field ini tidak ada, berarti terakhir online dua hari lalu.
Query informasi kuota TAG/alias
Query informasi kuota AppKey, platform, dan tag tertentu. Maksimal 1.000 tag per query.
Endpoint
GET /v4/tags/quota-info?tags=tag1&platform=android
Authorization: Basic (base64 auth string)
Accept: application/json
Contoh
curl --location 'https://webpushapi-sgp.engagelab.com/v4/tags/quota-info?platform=android&tags=tag1&tags=tag2' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic YjA2MTBmZGE0M2JmNmFkMTczNGNjMWY2OmQyNGMzZDk1Yzk1M2M3YmFkNzRkM2Q5YQ=='
Respons Sukses
{
"data": {
"totalTagQuota": 100000,
"useTagQuota": 1,
"totalAliasQuota": 100000,
"useAliasQuota": 3,
"tagUidQuotaDetail": [
{
"tagName": "tag1",
"totalUidQuota": 100000,
"useUidQuota": 0
},
{
"tagName": "tag2",
"totalUidQuota": 100000,
"useUidQuota": 0
}
]
}
}
Definisi Field:
- totalTagQuota: Total kuota tag aplikasi.
- useTagQuota: Jumlah kuota tag yang terpakai.
- totalAliasQuota: Total kuota alias aplikasi.
- useAliasQuota: Jumlah kuota alias yang terpakai.
- tagUidQuota: Kuota jumlah perangkat per tag.
- useUidQuota: Jumlah perangkat yang terikat pada setiap tag.
Respons Gagal
{
"error": {
"code": 27002,
"message": "Parameter tidak valid"
}
}
Kode Status HTTP
Referensi: Http-Status-Code
Kode Return Bisnis
| Kode | Deskripsi | Penjelasan | HTTP Status Code |
|---|---|---|---|
| 21004 | Error Autentikasi | appkey tidak valid. | 401 |
| 27000 | Error Memori Sistem | Silakan coba lagi. | 500 |
| 27001 | Error Parameter | Informasi verifikasi kosong. | 401 |
| 27002 | Error Parameter | Parameter tidak valid. | 400 |
| 27004 | Error Parameter | Verifikasi gagal. | 401 |
| 27005 | Error Parameter | Format regisID tidak valid. | 400 |
| 21008 | Error Parameter | app_key bukan string 24 karakter atau tidak ada. | 400 |
| 27010 | Error Parameter | Alias sudah terhubung ke regid lain. | 400 |
| 27011 | Batas Sistem | Jumlah tag yang terhubung ke perangkat melebihi batas (maks. 100 tag per perangkat). | 401 |
| 27012 | Error Parameter | Tag yang ingin dihubungkan perangkat tidak ada. | 401 |
| 27013 | Error Parameter | Jumlah tag dalam aplikasi melebihi batas (maks. 100.000 tag). | 401 |
| 27014 | Batas Sistem | Jumlah perangkat pada tag melebihi batas (maks. 100.000 perangkat per tag). | 401 |
| 27015 | Error Parameter | Alias yang terhubung ke perangkat tidak ada. | 401 |
| 27016 | Batas Sistem | Jumlah alias dalam aplikasi melebihi batas (maks. 100.000 alias). | 401 |
| 27017 | Error Parameter | Panjang tag melebihi 40 karakter. | 401 |










