API Alias Tag
API Perangkat digunakan untuk melakukan query, pengaturan, pembaruan, dan penghapusan informasi tag dan alias perangkat di sisi server. Saat menggunakan API ini, pastikan tag yang diatur di sisi server tidak ditimpa oleh client.
- Jika Anda belum memahami logika tag dan alias, disarankan hanya menggunakan salah satu, baik di sisi client atau server.
- Jika menggunakan keduanya, pastikan aplikasi Anda dapat menangani sinkronisasi tag dan alias.
Untuk informasi lebih lanjut tentang tag dan alias, lihat dokumentasi API client berikut:
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 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
Ikhtisar 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 client, lihat dokumentasi API Android, iOS, dan HarmonyOS untuk detailnya.
Server tidak menyediakan API untuk mendapatkan registration ID perangkat; developer harus mendapatkannya dari client dan menyimpannya di server developer.
Endpoint Dasar
https://pushapi-sgp.engagelab.com/v4/devices
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: Query string tag, wajib, maksimal 1000 tag (tags=tag1&tags=tag2&tags=tag3)
- platform: Wajib, nilai: android, ios, hmos
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
- Mendapatkan semua atribut perangkat saat ini, termasuk tag dan alias.
Endpoint
GET /v4/devices/{registration_id}
Header
GET /v4/devices/{registration_id}
Authorization: Basic (base64 auth string)
Accept: application/json
Contoh Respons
{"tags": ["tag1", "tag2"], "alias": "alias1"}
Atur alias dan tag perangkat
- Memperbarui atribut perangkat: tag, alias.
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"
}
- tags: add/remove atau string kosong. Jika kosong, hapus semua tag.
- alias: jika kosong, hapus alias perangkat.
Respons Sukses
success
Respons Gagal
{
"error":{
"code":27002,
"message":"unknown error"
}
}
Hapus perangkat
Endpoint
DELETE /v4/devices/{registration_id}
Header
DELETE /v4/devices/{registration_id}
Authorization: Basic (base64 auth string)
Accept: application/json
Respons Sukses
success
Respons Gagal
{
"error":{
"code":27002,
"message":"unknown error"
}
}
Query daftar tag
Endpoint
GET /v4/tags/
Header
GET /v4/tags/
Authorization: Basic (base64 auth string)
Accept: application/json
Respons
{
"tags": [
"tag1",
"tag2"
]
}
Query hubungan binding perangkat dan tag
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
Respons
{"result": true/false}
Perbarui tag
- Menambah/menghapus perangkat pada 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"
]
}
}
- add/remove maksimal 1000 perangkat.
Respons Sukses
success
Respons Gagal
{
"error": {
"code": 27005,
"message": "registration id tidak valid",
"data": "{\"invalid_regids\":[\"18071adc021ff8df80\",\"100d85592955c1f1058\"]}"
}
}
Hapus Tag
- Menghapus tag dan asosiasi perangkat.
Endpoint
DELETE /v4/tags/{tag_value}
Header
DELETE /v4/tags/{tag_value}?platform=android,ios,hmos
Authorization: Basic (base64 auth string)
Accept: application/json
- platform opsional, default semua platform.
Respons Sukses
success
Respons Gagal
{
"error":{
"code":27002,
"message":"unknown error"
}
}
Query alias (binding dengan perangkat)
GET /v4/aliases/{alias_value}
- Mendapatkan perangkat di bawah alias tertentu.
Header
GET /v4/aliases/{alias_value}?platform=android,ios,hmos
Authorization: Basic (base64 auth string)
Accept: application/json
Respons
{
"registration_ids": [
"registration_id1",
"registration_id2"
]
}
Hapus Alias
- Menghapus alias dan binding perangkat.
DELETE /v4/aliases/{alias_value}
Header
DELETE /v4/aliases/{alias_value}?platform=android,ios,hmos
Authorization: Basic (base64 auth string)
Accept: application/json
Respons
success
Respons Gagal
{
"error":{
"code":27002,
"message":"unknown error"
}
}
Dapatkan 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"
]
}
- registration_ids: maksimal 1000 regid.
Respons
[
{
"regid": "010b81b3582",
"online": true
},
{
"regid": "0207870f1b8",
"online": false,
"last_online_time": "2014-12-16 10:57:07"
},
{
"regid": "0207870f9b8",
"online": false
}
]
Query 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://pushapi-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
}
]
}
}
- totalTagQuota: Kuota total tag aplikasi.
- useTagQuota: Kuota tag yang telah digunakan.
- totalAliasQuota: Kuota total alias aplikasi.
- useAliasQuota: Kuota alias yang telah digunakan.
- tagUidQuota: Kuota perangkat per tag.
- useUidQuota: Jumlah perangkat terikat per tag.
Respons gagal
{
"error": {
"code": 27002,
"message": "Parameter tidak valid"
}
}
Kode Status HTTP
Referensi: Http-Status-Code
Kode Return Bisnis
| Kode | Deskripsi | Penjelasan Detail | 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 dengan regid lain. | 400 |
| 27011 | Batas Sistem | Jumlah tag pada perangkat melebihi batas (maksimal 100 tag). | 401 |
| 27012 | Error Parameter | Tag yang ingin dihubungkan tidak ada. | 401 |
| 27013 | Error Parameter | Jumlah tag aplikasi melebihi batas (maksimal 100.000 tag). | 401 |
| 27014 | Batas Sistem | Jumlah perangkat pada tag melebihi batas (maksimal 100.000 perangkat). | 401 |
| 27015 | Error Parameter | Alias yang dihubungkan tidak ada. | 401 |
| 27016 | Batas Sistem | Jumlah alias aplikasi melebihi batas (maksimal 100.000 alias). | 401 |
| 27017 | Error Parameter | Panjang tag melebihi 40 karakter. | 401 |










