ตั้งค่าคุณสมบัติผู้ใช้

ที่อยู่การเรียกใช้งาน

POST /v1/user/property

การยืนยันการเรียกใช้งาน

EngageLab REST API ใช้รูปแบบการยืนยัน HTTP Basic Authentication: เพิ่ม Authorization ใน HTTP Header:

Authorization: Basic ${base64_auth_string}
              
              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==
              
              > 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": 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" } } }
              
              {
  "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 } } } }
              
              {
  "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": 0,
    "message": "success"
}

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

ล้มเหลวทั้งหมด

{ "code": 55102, "message": "Invalid user attributes exist" }
              
              {
    "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
Icon Solid Transparent White Qiyu
ติดต่อฝ่ายขาย