Atur pengenal saluran
Pengenal saluran adalah nilai pengenal pada saluran jangkauan dan dapat digunakan sebagai target saluran tersebut. Pengaturan dan pelepasan dilakukan berdasarkan EUID dan ID saluran.
Alamat panggilan lengkap adalah Base URL pusat data ditambah path API di bawah ini. Lihat Ikhtisar REST API untuk cara mendapatkan Base URL, API Key, dan API Secret.
Autentikasi Permintaan
EngageLab REST API menggunakan HTTP Basic Authentication sebagai metode autentikasi. Tambahkan Authorization pada Header HTTP:
Authorization: Basic ${base64_auth_string}
base64_auth_string dihasilkan dengan algoritma: base64(api_key:api_secret).
- Nama header: "Authorization", nilainya adalah pasangan "username:password" yang telah dienkode base64 (dipisahkan titik dua).
- Untuk MA API, username adalah APIKey, password adalah APISecret. Silakan konfigurasikan sumber data tipe API untuk mendapatkan APIKey dan API Secret.
Mengatur pengenal saluran
Alamat Endpoint
POST /v1/user/channel
Contoh Permintaan
Header Permintaan
> POST /v1/user/channel
> Content-Type: application/json
> Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
Body Permintaan
{
"euid": 10362473,
"channel_id": 8801,
"ma_rid": "1a0018970d1c9f8f8e2",
"value": [
"channel_identifier_1",
"channel_identifier_2"
]
}
Parameter Permintaan
| Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
euid |
Long | Ya | ID unik pengguna. Pengguna harus sudah ada di proyek saat ini. |
channel_id |
Long | Ya | ID saluran jangkauan. Saluran harus sudah ada di proyek saat ini. |
ma_rid |
String | Tidak | MA Registration ID. Jika diisi, pengenal saluran yang ditulis permintaan ini diikat ke MA RID tersebut dan platformnya dicatat. Saat MA RID ini dipindahkan ke EUID lain, pengenal saluran yang terikat padanya ikut berpindah. Jika tidak diisi, berupa string kosong, atau hanya spasi, penulisan ini tidak membuat ikatan; ikatan yang sudah ada pada pengenal yang ditulis permintaan ini akan dihapus. Jika platform tidak dapat dibaca dari nilainya, pengaturan gagal. |
value |
Array<String> | Ya | Daftar nilai pengenal saluran yang akan diatur. Daftar tidak boleh kosong, dan setiap item tidak boleh kosong atau hanya berisi spasi. Nilai disimpan apa adanya: pencocokan peka huruf besar/kecil, dan spasi di awal atau akhir tidak dihapus. Nilai duplikat dalam permintaan yang sama dihapus. |
Pada euid + channel_id yang sama, pengenal yang sama ditulis ulang sesuai permintaan ini: catatan lama dihapus dan catatan baru ditulis, dengan waktu pembaruan diatur ke waktu saat ini. Pengenal yang sudah tersimpan tetapi tidak ada dalam daftar ini tetap dipertahankan. Nilai baru ditambahkan.
Untuk saluran AppPush/WebPush, pengenal saluran yang sama pada channel_id yang sama hanya boleh dimiliki satu EUID. Setelah nilai berhasil ditulis ke EUID baru, sistem menghapusnya dari setiap EUID lain yang masih memilikinya. Jenis saluran lain tidak menggunakan pemindahan kepemilikan unik ini.
Parameter Balasan
| Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
code |
Int | Ya | Apakah pemanggilan API berhasil. 0 berarti berhasil. |
message |
String | Ya | Deskripsi hasil pemanggilan API. |
Contoh berhasil
{
"code": 0,
"message": "success"
}
Melepas pengenal saluran
Alamat Endpoint
POST /v1/user/channel/unbind
Contoh Permintaan
Header Permintaan
> POST /v1/user/channel/unbind
> Content-Type: application/json
> Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
Body Permintaan
{
"euid": 10362473,
"channel_id": 8801,
"value": [
"channel_identifier_1",
"channel_identifier_2"
]
}
Parameter Permintaan
| Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
euid |
Long | Ya | ID unik pengguna. |
channel_id |
Long | Ya | ID saluran jangkauan. |
value |
Array<String> | Ya | Daftar nilai pengenal saluran yang akan dilepas. Setiap nilai harus sama persis dengan pengenal yang tersimpan. Pencocokan peka huruf besar/kecil, dan spasi di awal atau akhir tidak dihapus. |
Pelepasan mencocokkan nilai pengenal saluran, bukan ma_rid. Permintaan pelepasan tidak memiliki field ma_rid. API menghapus catatan yang sama persis dengan euid + channel_id + value. Jika pengguna tidak ada, atau pengguna tidak memiliki pengenal yang sama persis, data tidak diubah dan API tetap mengembalikan keberhasilan. Pelepasan tidak memeriksa apakah channel_id milik proyek saat ini.
Parameter Balasan
| Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
code |
Int | Ya | Apakah pemanggilan API berhasil. 0 berarti berhasil. |
message |
String | Ya | Deskripsi hasil pemanggilan API. |
Contoh berhasil
{
"code": 0,
"message": "success"
}
Kode Error
Jika validasi bisnis gagal, API pengaturan mengembalikan kode error berikut dengan status HTTP 400. Field message pada isi respons adalah penjelasan bahasa Inggris, bukan deskripsi pada tabel di bawah. API pelepasan mengembalikan 55004 hanya ketika bidang wajib tidak valid atau isi permintaan tidak dapat diurai. Jika pengguna atau pengenal tidak ada, pelepasan tetap mengembalikan keberhasilan.
| Kode | Deskripsi | Detail |
|---|---|---|
| 55004 | Parameter bisnis tidak valid | Saat mengatur, jika channel_id tidak ada di proyek saat ini, message adalah channel_id does not exist in current project: {channel_id}. Saat mengatur, jika platform tidak dapat dibaca dari ma_rid, message adalah ma_rid is invalid. Saat mengatur dan melepas, bidang wajib yang hilang, value kosong, item kosong, atau isi permintaan yang tidak dapat diurai (message saat itu adalah Invalid request payload format) juga mengembalikan kode ini. |
| 55108 | EUID tidak valid | Hanya dikembalikan oleh API pengaturan. EUID tidak ada di proyek saat ini. message adalah EUID does not exist: {euid}. |
Contoh gagal
channel_id tidak ada:
{
"code": 55004,
"message": "channel_id does not exist in current project: 8801"
}
ma_rid tidak dapat diurai:
{
"code": 55004,
"message": "ma_rid is invalid"
}
EUID tidak ada:
{
"code": 55108,
"message": "EUID does not exist: 10362473"
}










