Segmen
Alamat Endpoint
| Pusat Data | URL |
|---|---|
| Singapura | https://email.api.engagelab.cc |
| Turki | https://emailapi-tr.engagelab.com |
Saat menggunakan REST API, pastikan pusat data yang dipilih sesuai dengan base URL yang benar.
POST/v1/marketing/lists/segments
Membuat
URL
https://email.api.engagelab.cc/v1/marketing/lists/segments
Metode HTTP Request
POST
Content-Type
application/json; charset=utf-8
Header Permintaan
| Header | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| Authorization | string | ya | Basic base64(api_user:api_key) |
Parameter Body
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| segment_name | string | ya | Nama segmen (maksimal 48 karakter, tidak boleh mengandung ^,?,+,.,*,,[,],(,) ) |
| type | integer | ya | Tipe segmen (0: berdasarkan field, 1: berdasarkan campaign) |
| condition | object | ya | Kondisi segmen |
| relation | string | ya | Relasi kondisi (and atau or) |
| items | object[] | ya | Daftar kondisi (maksimal 10, relasi harus sama: and/or) |
| campaign_id | integer | tidak | ID campaign, wajib jika field_name=campaign |
| field_name | string | ya | Nama field atau "tag" atau "campaign" |
| op | string | ya | Operator (==, !=, >, >=, <, <=, contain, does not contain) |
| value | string | ya | Nilai field/tag/campaign sesuai field_name |
Catatan:
- Lihat hubungan field_name dan op di kondisi filter
Contoh Permintaan
curl -X POST -H 'Content-Type: application/json; charset=utf-8' -H 'Authorization:Basic YXBpX3VzZXI6YXBpX2tleQ==' -i https://email.api.engagelab.cc/v1/marketing/lists/segments --data '{
"segment_name": "Pengguna Hubei",
"type": 0,
"condition": {
"relation": "and",
"items": [
{
"field_name": "Name",
"op": "contain",
"value": "Lei Li"
}
]
}
}'
Contoh Respons
Respons-Berhasil
HttpStatus: 200
{
"result": {
"segment_id": "6566f6392c16e71300b1b1e9",
"user_id": 104201,
"segment_name": "MyCustomField",
"type": 0,
"list_id": 96112,
"status": "2",
"create_time": "2023-11-29 16:28:41+0800",
"update_time": "2023-11-29 16:33:58+0800",
"member_total": 1,
"condition": {
"relation": "and",
"items": [
{
"field_name": "Name",
"op": "contain",
"value": "Lei li"
}
]
},
"process": {
"statusDesc": "segmentasi selesai",
"complete": true,
"percent": 100
}
}
}
Respons-Gagal
{
"code": 30035,
"message": "[segment_name]:Karakter khusus seperti ^, ?, +, ., \\, [, ], (, ), tidak dapat digunakan"
}
Hapus
URL
https://email.api.engagelab.cc/v1/marketing/lists/segments/{segment_id}
Metode HTTP Request
DELETE
Content-Type
application/x-www-form-urlencoded;charset=utf-8
Header Permintaan
| Header | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| Authorization | string | ya | Basic base64(api_user:api_key) |
Contoh Permintaan
curl -X DELETE -H 'Authorization:Basic YXBpX3VzZXI6YXBpX2tleQ==' -i https://email.api.engagelab.cc/v1/marketing/lists/segments/6566f12d1e9adc15e3efd4
Contoh Respons
Respons-Berhasil
HttpStatus: 200
{
"count": 1
}
Respons-Gagal
{
"code": 30036,
"message": "tidak ditemukan"
}
Perbarui
URL
https://email.api.engagelab.cc/v1/marketing/lists/segments/{segment_id}
Metode HTTP Request
PUT
Content-Type
application/json; charset=utf-8
Header Permintaan
| Header | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| Authorization | string | ya | Basic base64(api_user:api_key) |
Parameter Body
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| segment_name | string | tidak | Nama segmen (maksimal 48 karakter) |
| type | integer | ya | Tipe segmen (0: field, 1: campaign) |
| condition | object | ya | Kondisi segmen |
| relation | string | ya | Relasi kondisi (and atau or) |
| items | object[] | ya | Daftar kondisi (maksimal 10, relasi harus sama: and/or) |
| campaign_id | integer | tidak | ID campaign, wajib jika field_name=campaign |
| field_name | string | ya | Nama field/tag/campaign |
| op | string | ya | Operator (==, !=, >, >=, <, <=, contain, does not contain) |
| value | string | ya | Nilai field/tag/campaign |
Catatan:
- Lihat hubungan field_name dan op di kondisi filter
Contoh Permintaan
curl -X PUT -H 'Content-Type: application/json; charset=utf-8' -H 'Authorization:Basic YXBpX3VzZXI6YXBpX2tleQ==' -i https://email.api.engagelab.cc/v1/marketing/lists/segments/62849dc690d79d4947dd033d --data '{
"segment_name": "Usia antara 13 dan 45",
"type": 0,
"condition": {
"relation": "and",
"items": [
{
"field_name": "Age",
"op": ">=",
"value": "13"
},
{
"field_name": "Age",
"op": "<=",
"value": "45"
}
]
}
}'
Parameter Respons
| Parameter | Tipe | Deskripsi |
|---|---|---|
| segment_id | string | ID segmen |
| segment_name | string | Nama segmen |
| list_id | integer | ID daftar |
| status | string | Status segmen (-1: Gagal, 1: Memperbarui, 2: Selesai) |
| create_time | string | Waktu pembuatan (UTC+8) |
| update_time | string | Waktu pembaruan (UTC+8) |
| member_total | integer | Jumlah anggota dalam segmen |
| type | integer | Tipe segmen (0: field, 1: campaign) |
| condition | object | Kondisi segmen |
| relation | string | Relasi kondisi (and, or) |
| items | object[] | Daftar kondisi |
| campaign_id | integer | ID campaign |
| field_name | string | Nama field |
| op | string | Operator |
| value | string | Nilai field |
| process | object | Progres pemrosesan segmen |
| status_desc | string | Deskripsi status proses |
| complete | Boolean | true jika selesai, false jika belum selesai |
| percent | integer | Persentase proses |
Contoh Respons
Respons-Berhasil
HttpStatus: 200
{
"result": {
"segment_id": "6566f91fceac8f702f24dbba",
"user_id": 104201,
"segment_name": "Usia antara 13 dan 45",
"type": 0,
"list_id": 96112,
"status": "2",
"create_time": "2023-11-29 16:41:03+0800",
"update_time": "2023-11-29 17:08:43+0800",
"member_total": 10,
"condition":{
"relation": "and",
"items":[
{
"campaign_id": null,
"field_name": "Age",
"op": ">=",
"value": "13"
},
{
"campaign_id": null,
"field_name": "Age",
"op": "<=",
"value": "45"
}
]
},
"process": {
"statusDesc": "segmentasi selesai",
"complete": true,
"percent": 100
}
}
}
Respons-Gagal
{
"code": 30036,
"message": "tidak ditemukan"
}
Detail Segmen
URL
https://email.api.engagelab.cc/v1/marketing/lists/segments/{segment_id}
Metode HTTP Request
GET
Content-Type
application/x-www-form-urlencoded;charset=utf-8
Header Permintaan
| Header | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| Authorization | string | ya | Basic base64(api_user:api_key) |
Contoh Permintaan
curl -X GET -H 'Authorization:Basic YXBpX3VzZXI6YXBpX2tleQ==' -i https://email.api.engagelab.cc/v1/marketing/lists/segments/62849dc690d79d4947dd033d
Parameter Respons
| Parameter | Tipe | Deskripsi |
|---|---|---|
| segment_id | string | ID segmen |
| segment_name | string | Nama segmen |
| list_id | integer | ID daftar |
| status | string | Status segmen (-1: Gagal, 1: Memperbarui, 2: Selesai) |
| create_time | string | Waktu pembuatan (UTC+8) |
| update_time | string | Waktu pembaruan (UTC+8) |
| member_total | integer | Jumlah anggota dalam segmen |
| type | integer | Tipe segmen (0: field, 1: campaign) |
| condition | object | Kondisi segmen |
| relation | string | Relasi kondisi (and, or) |
| items | object[] | Daftar kondisi |
| campaign_id | integer | ID campaign |
| field_name | string | Nama field |
| op | string | Operator |
| value | string | Nilai field |
| process | object | Progres pemrosesan segmen |
| status_desc | string | Deskripsi status proses |
| complete | Boolean | true jika selesai, false jika belum selesai |
| percent | integer | Persentase proses |
Contoh Respons
Respons-Berhasil
HttpStatus:200
{
"result": {
"segment_id": "6566f6392c16e71300b1b1e9",
"user_id": 104201,
"segment_name": "MyCustomField",
"relation": "and",
"type": 0,
"list_id": 96112,
"status": "2",
"create_time": "2023-11-29 16:28:41+0800",
"update_time": "2023-11-29 16:33:58+0800",
"member_total": 1,
"condition": {
"relation": "and",
"items":[{
"campaign_id": null,
"field_name": "CustomField",
"op": "contain",
"value": "CustomField"
}]
},
"process": {
"statusDesc": "segmentasi selesai",
"complete": true,
"percent": 100
}
}
}
Respons-Gagal
{
"code": 30036,
"message": "tidak ditemukan"
}
Daftar Segmen
URL
https://email.api.engagelab.cc/v1/marketing/lists/segments
Metode HTTP Request
GET
Content-Type
application/x-www-form-urlencoded;charset=utf-8
Header Permintaan
| Header | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| Authorization | string | ya | Basic base64(api_user:api_key) |
Parameter Query
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| segment_name | string | tidak | Nama segmen, mendukung pencarian fuzzy |
| type | integer | tidak | Tipe segmen (0: field, 1: campaign) |
| offset | integer | tidak | Posisi awal query, [0-], default 0 |
| limit | integer | tidak | Jumlah data, [1-100], default 10 |
Contoh Permintaan
curl -X GET -H 'Authorization:Basic YXBpX3VzZXI6YXBpX2tleQ==' -i https://email.api.engagelab.cc/v1/marketing/lists/segments?offset=0&limit=10&segmentName=abc_by_name&type=0
Parameter Respons
| Parameter | Tipe | Deskripsi |
|---|---|---|
| list | array | Daftar segmen |
| segment_id | string | ID segmen |
| segment_name | string | Nama segmen |
| list_id | integer | ID daftar |
| status | string | Status segmen (-1: Gagal, 1: Memperbarui, 2: Selesai) |
| create_time | string | Waktu pembuatan (UTC+8) |
| update_time | string | Waktu pembaruan (UTC+8) |
| member_total | integer | Jumlah anggota dalam segmen |
| type | integer | Tipe segmen (0: field, 1: campaign) |
| condition | object | Kondisi segmen |
| relation | string | Relasi kondisi (and, or) |
| items | object[] | Daftar kondisi |
| campaign_id | integer | ID campaign |
| field_name | string | Nama field |
| op | string | Operator |
| value | string | Nilai field |
| process | object | Progres pemrosesan segmen |
| status_desc | string | Deskripsi status proses |
| complete | Boolean | true jika selesai, false jika belum selesai |
| percent | integer | Persentase proses |
| total | integer | Total data |
| count | integer | Jumlah data hasil |
Contoh Respons
Respons-Berhasil
HttpStatus: 200
{
"result": [
{
"segment_id": "6566f6392c16e71300b1b1e9",
"segment_name": "MyCustomField",
"type": 0,
"list_id": 96112,
"status": "2",
"create_time": "2023-11-29 16:28:41+0800",
"update_time": "2023-11-29 16:33:58+0800",
"member_total": 1,
"condition": {
"relation": "and",
"items": [
{
"campaign_id": null,
"field_name": "CustomField",
"op": "contain",
"value": "CustomField"
}
]
},
"process": {
"statusDesc": "segmentasi selesai",
"complete": true,
"percent": 100
}
},
{
"segment_id": "6566f2dd1e9adc15e3efd47e",
"segment_name": "Kelompok pengguna usia>=20",
"type": 0,
"list_id": 96112,
"status": "2",
"create_time": "2023-11-29 16:14:21+0800",
"update_time": "2023-11-29 16:14:23+0800",
"member_total": 10,
"condition": {
"relation": "and",
"items": [
{
"campaign_id": null,
"field_name": "Age",
"op": ">=",
"value": "20"
}
]
},
"process": {
"statusDesc": "segmentasi selesai",
"complete": true,
"percent": 100
}
}
],
"total": 4,
"count": 2
}
Respons-Gagal
{
"code": 30035,
"message": "type hanya bisa 0 (berdasarkan field) atau 1 (berdasarkan campaign)"
}
Query Proses Segmen
URL
https://email.api.engagelab.cc/v1/marketing/lists/segments/{segment_id}/process
Metode HTTP Request
GET
Content-Type
application/x-www-form-urlencoded;charset=utf-8
Header Permintaan
| Header | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| Authorization | string | ya | Basic base64(api_user:api_key) |
Contoh Permintaan
curl -X GET -H 'Authorization:Basic YXBpX3VzZXI6YXBpX2tleQ==' -i https://email.api.engagelab.cc/v1/marketing/lists/segments/62849dc690d79d4947dd033d/process
Contoh Respons
Respons-Berhasil
HttpStatus: 200
{
"result": {
"percent": 68,
"complete": false,
"statusDesc": "sedang diproses segmentasi, mohon jangan gunakan segmen ini untuk mengirim email"
}
}
Respons-Gagal
{
"code": 30036,
"message": "tidak ditemukan"
}
Daftar Anggota Segmen
URL
https://email.api.engagelab.cc/v1/marketing/lists/segments/{segment_id}/members
Metode HTTP Request
POST
Content-Type
application/json; charset=utf-8
Header Permintaan
| Header | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| Authorization | string | ya | Basic base64(api_user:api_key) |
Parameter Query
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| offset | integer | tidak | Posisi awal query, [0-], default 0 |
| limit | integer | tidak | Jumlah data, [1-100], default 10 |
Parameter Body
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| condition | object | tidak | Kondisi pengelompokan |
| relation | string | ya | Relasi kondisi (and atau or) |
| items | object[] | ya | Daftar kondisi (maksimal 10, relasi harus sama: and/or) |
| field_name | string | ya | Nama field/tag |
| op | string | ya | Operator (==, !=, >, >=, <, <=, contain, does not contain) |
| value | string | ya | Nilai field/tag |
Catatan:
- Lihat hubungan field_name dan op di kondisi filter
Contoh Permintaan
curl -X POST -H 'Content-Type: application/json; charset=utf-8' -H 'Authorization:Basic YXBpX3VzZXI6YXBpX2tleQ==' -i https://email.api.engagelab.cc/v1/marketing/lists/segments/62908150eb5e955d6d214da6/members?offset=0&limit=10 --data '{
"condition": {
"relation": "and",
"items": [
{
"field_name": "Email",
"op": "contain",
"value": "tw"
}
]
}
}'
Parameter Respons
| Parameter | Tipe | Deskripsi |
|---|---|---|
| list | array[object] | Daftar anggota |
| id | string | ID anggota |
| list_id | integer | ID daftar |
| string | Alamat email | |
| phone | string | Nomor telepon |
| name | string | Nama |
| create_time | string | Waktu pembuatan (UTC+8) |
| update_time | string | Waktu pembaruan langganan (UTC+8) |
| unsubscribe_time | string | Waktu berhenti langganan (UTC+8) |
| fields | object | Field anggota |
| tag_ids | string[] | Set ID tag |
| tag_names | string[] | Set nama tag |
| total | integer | Total data |
Contoh Respons
Respons-Berhasil
HttpStatus: 200
{
"result": [
{
"id": "629d6650490f33c5eef1caa6",
"list_id": 63486,
"email": "paulchen0518@yahoo.com.tw",
"phone": null,
"name": "shanshan",
"create_time": "2022-06-06T10:28:32+0800",
"update_time": "2022-06-06T10:28:32+0800",
"unsubscribe_time": null,
"fields": {
"Gender": "Female"
},
"tags": null,
"tag_names": []
},
{
"id": "629d665a490f33c5eef2932f",
"list_id": 63486,
"email": "q510518@yahoo.com.tw",
"phone": null,
"name": "",
"create_time": "2022-06-06T10:28:42+0800",
"update_time": "2022-06-06T10:28:42+0800",
"unsubscribe_time": null,
"fields": {
"Gender": ""
},
"tag_ids": null,
"tag_names": []
}
],
"total": 2
}
Respons-Gagal
{
"code": 30000,
"message": "Otentikasi gagal"
}
Hapus Anggota Segmen
URL
https://email.api.engagelab.cc/v1/marketing/lists/segments/{segment_id}/members
Metode HTTP Request
DELETE
Content-Type
application/json; charset=utf-8
Header Permintaan
| Header | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| Authorization | string | ya | Basic base64(api_user:api_key) |
Parameter Body
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| member_ids | string[] | ya | Daftar ID anggota |
Contoh Permintaan
curl -X DELETE -H 'Content-Type: application/json; charset=utf-8' -H 'Authorization:Basic YXBpX3VzZXI6YXBpX2tleQ==' -i https://email.api.engagelab.cc/v1/marketing/lists/segments/62849dc690d79d4947dd033d/members --data '{
"member_ids": [
"asdfsdf2211212aa",
"2sadfs288332223s"
]
}'
Contoh Respons
Respons-Berhasil
HttpStatus: 200
{
"count": 100
}
Respons-Gagal
{
"code": 30000,
"message": "Otentikasi gagal"
}










