logoDokumen
Cari

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
              
              GET /v4/tags_count

            
Tampilkan blok kode ini di jendela mengambang

Contoh Permintaan

Header

GET /v4/tags_count Authorization: Basic (base64 auth string) Accept: application/json
              
              GET /v4/tags_count
Authorization: Basic (base64 auth string)
Accept: application/json

            
Tampilkan blok kode ini di jendela mengambang

Contoh

curl -X GET http://127.0.0.1/v4/tags_count?tags=tag1&tags=tag2&platform=ios -u "appKey:appSecret"
              
              curl -X GET http://127.0.0.1/v4/tags_count?tags=tag1&tags=tag2&platform=ios -u "appKey:appSecret"

            
Tampilkan blok kode ini di jendela mengambang

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 } }
              
              {
    "tagsCount": {
        "tag1": 0,
        "tag2": 1,
        "tag3": 2
    }
}

            
Tampilkan blok kode ini di jendela mengambang

Gagal

{ "error": { "code": 21008, "message": "app_key bukan string 24 karakter atau tidak ada" } }
              
              {
    "error": {
        "code": 21008,
        "message": "app_key bukan string 24 karakter atau tidak ada"
    }
}

            
Tampilkan blok kode ini di jendela mengambang

Query alias dan tag perangkat

  • Mendapatkan semua atribut perangkat saat ini, termasuk tag dan alias.

Endpoint

GET /v4/devices/{registration_id}
              
              GET /v4/devices/{registration_id}

            
Tampilkan blok kode ini di jendela mengambang

Header

GET /v4/devices/{registration_id} Authorization: Basic (base64 auth string) Accept: application/json
              
              GET /v4/devices/{registration_id}
Authorization: Basic (base64 auth string) 
Accept: application/json

            
Tampilkan blok kode ini di jendela mengambang

Contoh Respons

{"tags": ["tag1", "tag2"], "alias": "alias1"}
              
              {"tags": ["tag1", "tag2"], "alias": "alias1"}

            
Tampilkan blok kode ini di jendela mengambang

Atur alias dan tag perangkat

  • Memperbarui atribut perangkat: tag, alias.

Endpoint

POST /v4/devices/{registration_id}
              
              POST /v4/devices/{registration_id}

            
Tampilkan blok kode ini di jendela mengambang

Header

POST /v4/devices/{registration_id} Authorization: Basic (base64 auth string) Accept: application/json
              
              POST /v4/devices/{registration_id}
Authorization: Basic (base64 auth string) 
Accept: application/json

            
Tampilkan blok kode ini di jendela mengambang

Body

{ "tags": { "add": [ "tag1", "tag2" ], "remove": [ "tag3", "tag4" ] }, "alias": "alias1" }
              
              {
    "tags": {
        "add": [
            "tag1",
            "tag2"
        ],
        "remove": [
            "tag3",
            "tag4"
        ]
    },
    "alias": "alias1"
}

            
Tampilkan blok kode ini di jendela mengambang
  • tags: add/remove atau string kosong. Jika kosong, hapus semua tag.
  • alias: jika kosong, hapus alias perangkat.

Respons Sukses

success
              
              success

            
Tampilkan blok kode ini di jendela mengambang

Respons Gagal

{ "error":{ "code":27002, "message":"unknown error" } }
              
              {
  "error":{
    "code":27002, 
    "message":"unknown error"
    }
}

            
Tampilkan blok kode ini di jendela mengambang

Hapus perangkat

Endpoint

DELETE /v4/devices/{registration_id}
              
              DELETE /v4/devices/{registration_id}

            
Tampilkan blok kode ini di jendela mengambang

Header

DELETE /v4/devices/{registration_id} Authorization: Basic (base64 auth string) Accept: application/json
              
              DELETE /v4/devices/{registration_id}
Authorization: Basic (base64 auth string)
Accept: application/json

            
Tampilkan blok kode ini di jendela mengambang

Respons Sukses

success
              
              success

            
Tampilkan blok kode ini di jendela mengambang

Respons Gagal

{ "error":{ "code":27002, "message":"unknown error" } }
              
              {
  "error":{
    "code":27002, 
    "message":"unknown error"
    }
}

            
Tampilkan blok kode ini di jendela mengambang

Query daftar tag

Endpoint

GET /v4/tags/
              
              GET /v4/tags/

            
Tampilkan blok kode ini di jendela mengambang

Header

GET /v4/tags/ Authorization: Basic (base64 auth string) Accept: application/json
              
              GET /v4/tags/
Authorization: Basic (base64 auth string) 
Accept: application/json

            
Tampilkan blok kode ini di jendela mengambang

Respons

{ "tags": [ "tag1", "tag2" ] }
              
              {
  "tags": [
    "tag1",
    "tag2"
  ]
}

            
Tampilkan blok kode ini di jendela mengambang

Query hubungan binding perangkat dan tag

Endpoint

GET /v4/tags/{tag_value}/registration_ids/{registration_id}
              
              GET /v4/tags/{tag_value}/registration_ids/{registration_id}

            
Tampilkan blok kode ini di jendela mengambang

Header

GET /v4/tags/{tag_value}/registration_ids/090c1f59f89 Authorization: Basic (base64 auth string) Accept: application/json
              
              GET /v4/tags/{tag_value}/registration_ids/090c1f59f89
Authorization: Basic (base64 auth string) 
Accept: application/json

            
Tampilkan blok kode ini di jendela mengambang

Respons

{"result": true/false}
              
              {"result": true/false}

            
Tampilkan blok kode ini di jendela mengambang

Perbarui tag

  • Menambah/menghapus perangkat pada tag.

Endpoint

POST /v4/tags/{tag_value}
              
              POST /v4/tags/{tag_value}

            
Tampilkan blok kode ini di jendela mengambang

Header

POST /v4/tags/{tag_value} Authorization: Basic (base64 auth string) Accept: application/json
              
              POST /v4/tags/{tag_value}
Authorization: Basic (base64 auth string) 
Accept: application/json

            
Tampilkan blok kode ini di jendela mengambang

Body

{ "registration_ids":{ "add": [ "registration_id1", "registration_id2" ], "remove": [ "registration_id1", "registration_id2" ] } }
              
              {  
  "registration_ids":{
    "add": [
      "registration_id1",
      "registration_id2"
    ],
    "remove": [
      "registration_id1",
      "registration_id2"
    ]
  }
}

            
Tampilkan blok kode ini di jendela mengambang
  • add/remove maksimal 1000 perangkat.

Respons Sukses

success
              
              success

            
Tampilkan blok kode ini di jendela mengambang

Respons Gagal

{ "error": { "code": 27005, "message": "registration id tidak valid", "data": "{\"invalid_regids\":[\"18071adc021ff8df80\",\"100d85592955c1f1058\"]}" } }
              
              {
    "error": {
        "code": 27005,
        "message": "registration id tidak valid",
        "data": "{\"invalid_regids\":[\"18071adc021ff8df80\",\"100d85592955c1f1058\"]}"
    }
}

            
Tampilkan blok kode ini di jendela mengambang

Hapus Tag

  • Menghapus tag dan asosiasi perangkat.

Endpoint

DELETE /v4/tags/{tag_value}
              
              DELETE /v4/tags/{tag_value}

            
Tampilkan blok kode ini di jendela mengambang

Header

DELETE /v4/tags/{tag_value}?platform=android,ios,hmos Authorization: Basic (base64 auth string) Accept: application/json
              
              DELETE /v4/tags/{tag_value}?platform=android,ios,hmos
Authorization: Basic (base64 auth string) 
Accept: application/json

            
Tampilkan blok kode ini di jendela mengambang
  • platform opsional, default semua platform.

Respons Sukses

success
              
              success

            
Tampilkan blok kode ini di jendela mengambang

Respons Gagal

{ "error":{ "code":27002, "message":"unknown error" } }
              
              {
  "error":{
    "code":27002, 
    "message":"unknown error"
    }
}

            
Tampilkan blok kode ini di jendela mengambang

Query alias (binding dengan perangkat)

GET /v4/aliases/{alias_value}
              
              GET /v4/aliases/{alias_value}

            
Tampilkan blok kode ini di jendela mengambang
  • Mendapatkan perangkat di bawah alias tertentu.

Header

GET /v4/aliases/{alias_value}?platform=android,ios,hmos Authorization: Basic (base64 auth string) Accept: application/json
              
              GET /v4/aliases/{alias_value}?platform=android,ios,hmos
Authorization: Basic (base64 auth string) 
Accept: application/json

            
Tampilkan blok kode ini di jendela mengambang

Respons

{ "registration_ids": [ "registration_id1", "registration_id2" ] }
              
              {
   "registration_ids": [
     "registration_id1",
     "registration_id2"
   ]
}

            
Tampilkan blok kode ini di jendela mengambang

Hapus Alias

  • Menghapus alias dan binding perangkat.
DELETE /v4/aliases/{alias_value}
              
              DELETE /v4/aliases/{alias_value}

            
Tampilkan blok kode ini di jendela mengambang

Header

DELETE /v4/aliases/{alias_value}?platform=android,ios,hmos Authorization: Basic (base64 auth string) Accept: application/json
              
              DELETE /v4/aliases/{alias_value}?platform=android,ios,hmos
Authorization: Basic (base64 auth string) 
Accept: application/json

            
Tampilkan blok kode ini di jendela mengambang

Respons

success
              
              success

            
Tampilkan blok kode ini di jendela mengambang

Respons Gagal

{ "error":{ "code":27002, "message":"unknown error" } }
              
              {
  "error":{
    "code":27002, 
    "message":"unknown error"
    }
}

            
Tampilkan blok kode ini di jendela mengambang

Dapatkan status online pengguna

Endpoint

POST /v4/devices/status/
              
              POST /v4/devices/status/

            
Tampilkan blok kode ini di jendela mengambang

Header

POST /v4/devices/status/ Authorization: Basic (base64 auth string) Accept: application/json
              
              POST /v4/devices/status/
Authorization: Basic (base64 auth string) 
Accept: application/json

            
Tampilkan blok kode ini di jendela mengambang

Body

{ "registration_ids": [ "010b81b3582", "0207870f1b8", "0207870f9b8" ] }
              
              {
  "registration_ids": [
    "010b81b3582",
    "0207870f1b8",
    "0207870f9b8"
  ]
}

            
Tampilkan blok kode ini di jendela mengambang
  • 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 } ]
              
              [
  {
    "regid": "010b81b3582",
    "online": true
  },
  {
    "regid": "0207870f1b8",
    "online": false,
    "last_online_time": "2014-12-16 10:57:07"
  },
  {
    "regid": "0207870f9b8",
    "online": false
  }
]

            
Tampilkan blok kode ini di jendela mengambang

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
              
              GET /v4/tags/quota-info?tags=tag1&platform=android
Authorization: Basic (base64 auth string)
Accept: application/json

            
Tampilkan blok kode ini di jendela mengambang

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

            
Tampilkan blok kode ini di jendela mengambang

Respons Sukses

{ "data": { "totalTagQuota": 100000, "useTagQuota": 1, "totalAliasQuota": 100000, "useAliasQuota": 3, "tagUidQuotaDetail": [ { "tagName": "tag1", "totalUidQuota": 100000, "useUidQuota": 0 }, { "tagName": "tag2", "totalUidQuota": 100000, "useUidQuota": 0 } ] } }
              
              {
    "data": {
        "totalTagQuota": 100000,
        "useTagQuota": 1,
        "totalAliasQuota": 100000,
        "useAliasQuota": 3,
        "tagUidQuotaDetail": [
            {
                "tagName": "tag1",
                "totalUidQuota": 100000,
                "useUidQuota": 0
            },
            {
                "tagName": "tag2",
                "totalUidQuota": 100000,
                "useUidQuota": 0
            }
        ]
    }
}

            
Tampilkan blok kode ini di jendela mengambang
  • 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" } }
              
              {
    "error": {
        "code": 27002,
        "message": "Parameter tidak valid"
    }
}

            
Tampilkan blok kode ini di jendela mengambang

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