ตั้งค่าคุณสมบัติผู้ใช้
ที่อยู่การเรียกใช้งาน
POST /v1/user/property
การยืนยันการเรียกใช้งาน
EngageLab REST API ใช้รูปแบบการยืนยัน HTTP Basic Authentication: เพิ่ม Authorization ใน HTTP Header:
Authorization: Basic ${base64_auth_string}
อัลกอริทึมการสร้าง base64_auth_string คือ: base64(api_key:api_secret)
- ชื่อ Header คือ "Authorization" และค่าคือคู่ "username:password" ที่ถูกแปลงเป็น base64 (คั่นด้วยเครื่องหมายโคลอน)
- ในกรณีของ MA API, username คือ APIKey และ password คือ APISecret กรุณาเพิ่มแหล่งข้อมูลประเภท API ในแหล่งข้อมูลเพื่อรับ APIKey และ APISecret
ตัวอย่างการร้องขอ
Header การร้องขอ
> POST /v1/user/property
> Content-Type: application/json
> Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
เนื้อหาการร้องขอ
{
"euid": 10362473,
"type": "set",
"properties": {
"user_number_once": 46.2, // ชื่อคุณสมบัติของผู้ใช้และค่าคุณสมบัติ
"user_string_once": "refef",
"user_datetime_once": "2023-12-12 00:56:23"
}
}
พารามิเตอร์การร้องขอ
| ฟิลด์ | ประเภท | จำเป็นต้องกรอก | คำอธิบาย |
|---|---|---|---|
| euid | Long | ใช่ | EngageLab MA ID ผู้ใช้ที่ไม่ซ้ำกัน |
| type | String | ใช่ | ประเภทของการดำเนินการอัปเดตคุณสมบัติ |
| properties | JSON | ใช่ | รายการคุณสมบัติของผู้ใช้ โดยที่ key คือชื่อคุณสมบัติ และ value คือค่าคุณสมบัติ |
ประเภทการดำเนินการ
คุณสมบัติทั้งหมดในคำขอเดียวกันต้องใช้ type เดียวกัน รองรับ set, increase, add, remove, delete, setOnce และ update
| การดำเนินการ | ประเภทคุณสมบัติที่ใช้ได้ | คำอธิบาย |
|---|---|---|
set |
ทุกประเภท | อัปเดตค่า โดย object_array ต้องเป็นอาร์เรย์ของออบเจ็กต์และจะแทนที่อาร์เรย์เดิม |
increase |
ตัวเลข | เพิ่มตัวเลขที่ส่งเข้ามาให้ค่าปัจจุบัน หากยังไม่มีคุณสมบัติจะเริ่มจาก 0 |
add |
รายการ, อาร์เรย์ออบเจ็กต์ | เพิ่มรายการโดยตัดค่าซ้ำ หรือเพิ่มออบเจ็กต์หนึ่งรายการลงในอาร์เรย์ออบเจ็กต์ |
remove |
รายการ, อาร์เรย์ออบเจ็กต์ | ลบรายการ หรือ ลบองค์ประกอบอาร์เรย์ออบเจ็กต์ตามตัวระบุ |
delete |
ทุกประเภท | ลบค่าทั้งหมดของคุณสมบัติ |
setOnce |
ทุกประเภท | เขียนค่าเฉพาะเมื่อยังไม่ได้ตั้งค่าคุณสมบัตินั้น |
update |
อาร์เรย์ออบเจ็กต์ | อัปเดตบางส่วนขององค์ประกอบอาร์เรย์ออบเจ็กต์ตามตัวระบุ |
การดำเนินการกับอาร์เรย์ออบเจ็กต์
สำหรับ object_array ค่า add ต้องเป็น JSON ออบเจ็กต์หนึ่งรายการ และค่า set ต้องเป็นอาร์เรย์ของ JSON ออบเจ็กต์ remove และ update ใช้ $identifier_key กับ $identifier_value เพื่อหาองค์ประกอบ โดยฟิลด์ตัวระบุต้องเป็นฟิลด์ย่อย string หรือ number ที่กำหนดไว้แล้ว
ค่า remove ระบุได้เฉพาะฟิลด์ตัวระบุสองฟิลด์นี้:
{
"euid": 10362473,
"type": "remove",
"properties": {
"devices": {
"$identifier_key": "device_id",
"$identifier_value": "ios-001"
}
}
}
update ต้องมี $new_object ที่ไม่ว่างด้วย และต้องไม่มีฟิลด์ตัวระบุ ฟิลด์ที่มีค่า null จะถูกลบออกจากองค์ประกอบที่พบ ตัวระบุต้องตรงกับองค์ประกอบในอาร์เรย์เพียงหนึ่งรายการเท่านั้น
{
"euid": 10362473,
"type": "update",
"properties": {
"devices": {
"$identifier_key": "device_id",
"$identifier_value": "ios-001",
"$new_object": {
"model": "iPhone 16",
"legacy_field": null
}
}
}
}
พารามิเตอร์การตอบกลับ
| ฟิลด์ | ประเภท | จำเป็นต้องกรอก | คำอธิบาย |
|---|---|---|---|
| code | Int | ใช่ | แสดงว่าการเรียกใช้ API สำเร็จหรือไม่ 0 หมายถึงสำเร็จหรือสำเร็จบางส่วน ค่าอื่นหมายถึงล้มเหลว |
| message | String | ใช่ | คำอธิบายผลลัพธ์ของการเรียกใช้ API และคำอธิบายรหัสตอบกลับ |
สำเร็จทั้งหมด
{
"code": 0,
"message": "success"
}
ล้มเหลวทั้งหมด
{
"code": 55102,
"message": "Invalid user attributes exist"
}
รหัสข้อผิดพลาด
| รหัสข้อผิดพลาด | คำอธิบาย | รายละเอียดเพิ่มเติม |
|---|---|---|
| 40050 | การยืนยัน API ล้มเหลว | กรุณาตรวจสอบว่า Project ID และ Project Secret ถูกต้องหรือไม่ |
| 40007 | EUID ว่างเปล่า | กรุณาตรวจสอบค่าของ EUID |
| 50031 | Project ID ไม่ถูกต้อง | กรุณาตรวจสอบว่า APIKey และ APISecret ถูกต้องหรือไม่ |
| 50034 | Project ID ไม่มีอยู่ | กรุณาตรวจสอบว่า APIKey และ APISecret ถูกต้องหรือไม่ และตรวจสอบว่าโปรเจกต์ถูกลบหรือไม่ |
| 50074 | แหล่งข้อมูล API ไม่มีอยู่ | กรุณาตรวจสอบว่า APIKey และ APISecret ถูกต้องหรือไม่ และตรวจสอบว่าแหล่งข้อมูล API ถูกลบหรือไม่ |
| 55004 | พารามิเตอร์ธุรกิจไม่ถูกต้อง | กรุณาตรวจสอบว่าฟิลด์พารามิเตอร์การร้องขอถูกต้องหรือไม่ |
| 55101 | จำนวนตัวระบุผู้ใช้เกินขีดจำกัด | ตรวจสอบว่าจำนวนค่าของตัวระบุผู้ใช้เกิน 100 หรือไม่ |
| 55102 | มีชื่อคุณสมบัติของผู้ใช้ที่ไม่ถูกต้อง | ตรวจสอบว่าชื่อคุณสมบัติตรงตามข้อกำหนดการตั้งชื่อหรือไม่, เป็นค่าว่างหรือไม่, ใช้อักขระที่สงวนไว้หรือไม่, หรือเกินขีดจำกัดความยาวหรือไม่ |
| 55103 | ค่าคุณสมบัติของผู้ใช้ต้องไม่ว่างเปล่า | ตรวจสอบว่าคุณสมบัติของผู้ใช้ในเนื้อหาการร้องขอมีค่าหรือไม่ |
| 55105 | ค่าตัวระบุผู้ใช้ต้องไม่เกิน 256 ตัวอักษร | ตรวจสอบว่าค่าตัวระบุผู้ใช้เกิน 256 ตัวอักษรหรือไม่ |
| 55106 | ชื่อตัวระบุผู้ใช้ไม่อยู่ในขอบเขตที่รองรับ | ตรวจสอบว่าชื่อตัวระบุผู้ใช้คือ user_id, anonymous_id หรือ registration_id หรือไม่ |
| 55107 | ค่าตัวระบุผู้ใช้ว่างเปล่า | ตรวจสอบว่าค่าตัวระบุผู้ใช้ในเนื้อหาการร้องขอว่างเปล่าหรือไม่ |
| 55108 | EUID ไม่ถูกต้อง | กรุณาตรวจสอบค่าของ EUID |
| -1 | ข้อผิดพลาดภายในเซิร์ฟเวอร์ | กรุณาติดต่อฝ่ายสนับสนุนทางเทคนิคของ EngageLab |










