ตั้งค่าตัวระบุช่องทาง

ตัวระบุช่องทางคือค่าตัวระบุบนช่องทางเข้าถึง และสามารถใช้เป็นเป้าหมายของช่องทางนั้นได้ ทั้งการตั้งค่าและการยกเลิกการผูกทำงานตาม EUID และรหัสช่องทาง

ที่อยู่เรียกใช้งานแบบเต็มคือ Base URL ของศูนย์ข้อมูลบวกกับเส้นทาง API ด้านล่าง ดู ภาพรวม REST API สำหรับวิธีรับ Base URL, API Key และ API Secret

การตรวจสอบการเรียกใช้งาน

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

ตั้งค่าตัวระบุช่องทาง

ที่อยู่สำหรับการเรียกใช้งาน

POST /v1/user/channel

ตัวอย่างการเรียกใช้งาน

Header ของคำขอ

> POST /v1/user/channel > Content-Type: application/json > Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
              
              > POST /v1/user/channel
> Content-Type: application/json
> Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==

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

เนื้อหาคำขอ

{ "euid": 10362473, "channel_id": 8801, "ma_rid": "1a0018970d1c9f8f8e2", "value": [ "channel_identifier_1", "channel_identifier_2" ] }
              
              {
  "euid": 10362473,
  "channel_id": 8801,
  "ma_rid": "1a0018970d1c9f8f8e2",
  "value": [
    "channel_identifier_1",
    "channel_identifier_2"
  ]
}

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

พารามิเตอร์ของคำขอ

ฟิลด์ ประเภท จำเป็นต้องมี คำอธิบาย
euid Long ใช่ รหัสผู้ใช้ที่ไม่ซ้ำกัน ต้องเป็นผู้ใช้ที่มีอยู่แล้วในโปรเจกต์ปัจจุบัน
channel_id Long ใช่ รหัสช่องทางเข้าถึง ต้องเป็นช่องทางที่มีอยู่แล้วในโปรเจกต์ปัจจุบัน
ma_rid String ไม่ MA Registration ID หากส่งค่า ตัวระบุช่องทางที่เขียนในคำขอนี้จะถูกผูกกับ MA RID นี้ และระบบจะบันทึกแพลตฟอร์ม เมื่อ MA RID นี้ย้ายไปยัง EUID อื่น ตัวระบุช่องทางที่ผูกไว้จะย้ายตามไปด้วย หากไม่ส่ง ส่งสตริงว่าง หรือส่งแต่ช่องว่าง การเขียนครั้งนี้จะไม่สร้างการผูก หากตัวระบุที่เขียนในคำขอนี้มีการผูกอยู่แล้ว การผูกเดิมจะถูกลบ หากอ่านแพลตฟอร์มจากค่านี้ไม่ได้ การตั้งค่าจะล้มเหลว
value Array<String> ใช่ รายการค่าตัวระบุช่องทางที่จะตั้งค่า รายการต้องไม่ว่าง และแต่ละรายการต้องไม่เป็นค่าว่างหรือมีแต่ช่องว่าง ค่าจะถูกเก็บตามที่ส่งมา การเทียบแยกตัวพิมพ์ใหญ่เล็ก และไม่ตัดช่องว่างหัวท้าย ค่าที่ซ้ำในคำขอเดียวกันจะถูกตัดให้เหลือค่าเดียว

ภายใต้ euid + channel_id เดียวกัน ตัวระบุค่าเดียวกันจะถูกเขียนใหม่ตามคำขอนี้: ระเบียนเก่าถูกลบ แล้วเขียนระเบียนใหม่ โดยเวลาที่แก้ไขถูกตั้งเป็นเวลาปัจจุบัน ตัวระบุที่มีอยู่แล้วแต่ไม่อยู่ในรายการนี้จะคงเดิม ค่าใหม่จะถูกเพิ่ม

สำหรับช่องทาง AppPush/WebPush ตัวระบุช่องทางเดียวกันภายใต้ channel_id เดียวกันเป็นของ EUID ได้เพียงรายการเดียว หลังจากเขียนค่าให้ EUID ใหม่สำเร็จแล้ว ระบบจะลบค่านั้นออกจาก EUID อื่นที่ยังถือค่านี้อยู่ ช่องทางประเภทอื่นไม่มีการย้ายความเป็นเจ้าของแบบนี้

พารามิเตอร์ที่ส่งกลับ

ฟิลด์ ประเภท จำเป็นต้องมี คำอธิบาย
code Int ใช่ การเรียก API สำเร็จหรือไม่ 0 หมายถึงสำเร็จ
message String ใช่ คำอธิบายผลการเรียก API

ตัวอย่างเมื่อสำเร็จ

{ "code": 0, "message": "success" }
              
              {
  "code": 0,
  "message": "success"
}

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

ยกเลิกการผูกตัวระบุช่องทาง

ที่อยู่สำหรับการเรียกใช้งาน

POST /v1/user/channel/unbind

ตัวอย่างการเรียกใช้งาน

Header ของคำขอ

> POST /v1/user/channel/unbind > Content-Type: application/json > Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
              
              > POST /v1/user/channel/unbind
> Content-Type: application/json
> Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==

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

เนื้อหาคำขอ

{ "euid": 10362473, "channel_id": 8801, "value": [ "channel_identifier_1", "channel_identifier_2" ] }
              
              {
  "euid": 10362473,
  "channel_id": 8801,
  "value": [
    "channel_identifier_1",
    "channel_identifier_2"
  ]
}

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

พารามิเตอร์ของคำขอ

ฟิลด์ ประเภท จำเป็นต้องมี คำอธิบาย
euid Long ใช่ รหัสผู้ใช้ที่ไม่ซ้ำกัน
channel_id Long ใช่ รหัสช่องทางเข้าถึง
value Array<String> ใช่ รายการค่าตัวระบุช่องทางที่จะยกเลิกการผูก แต่ละค่าต้องตรงกับตัวระบุที่บันทึกไว้ทุกประการ การเทียบแยกตัวพิมพ์ใหญ่เล็ก และไม่ตัดช่องว่างหัวท้าย

การยกเลิกการผูกจับคู่ด้วยค่าตัวระบุช่องทาง ไม่ใช่ ma_rid คำขอยกเลิกการผูกไม่มีฟิลด์ ma_rid API ลบระเบียนที่ตรงกับ euid + channel_id + value ทุกประการ หากไม่มีผู้ใช้ หรือผู้ใช้ไม่มีตัวระบุที่ตรงทุกประการ ระบบจะไม่แก้ไขข้อมูล และยังคงส่งกลับว่าสำเร็จ การยกเลิกการผูกไม่ตรวจว่า channel_id เป็นของโปรเจกต์ปัจจุบันหรือไม่

พารามิเตอร์ที่ส่งกลับ

ฟิลด์ ประเภท จำเป็นต้องมี คำอธิบาย
code Int ใช่ การเรียก API สำเร็จหรือไม่ 0 หมายถึงสำเร็จ
message String ใช่ คำอธิบายผลการเรียก API

ตัวอย่างเมื่อสำเร็จ

{ "code": 0, "message": "success" }
              
              {
  "code": 0,
  "message": "success"
}

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

รหัสข้อผิดพลาด

เมื่อการตรวจสอบทางธุรกิจล้มเหลว API ตั้งค่าจะส่งกลับรหัสข้อผิดพลาดต่อไปนี้พร้อมสถานะ HTTP 400 ฟิลด์ message ในเนื้อหาที่ส่งกลับเป็นคำอธิบายภาษาอังกฤษ ไม่ใช่คำอธิบายในตารางด้านล่าง API ยกเลิกการผูกจะส่งกลับ 55004 เฉพาะเมื่อพารามิเตอร์ที่จำเป็นไม่ถูกต้อง หรืออ่านเนื้อหาคำขอไม่ได้ หากไม่มีผู้ใช้หรือไม่มีตัวระบุ การยกเลิกการผูกยังคงส่งกลับว่าสำเร็จ

รหัส คำอธิบาย รายละเอียด
55004 พารามิเตอร์ทางธุรกิจไม่ถูกต้อง ตอนตั้งค่า หาก channel_id ไม่มีในโปรเจกต์ปัจจุบัน message จะเป็น channel_id does not exist in current project: {channel_id} ตอนตั้งค่า หากอ่านแพลตฟอร์มจาก ma_rid ไม่ได้ message จะเป็น ma_rid is invalid ทั้งตอนตั้งค่าและยกเลิกการผูก หากขาดฟิลด์ที่จำเป็น value ว่าง มีรายการว่าง หรืออ่านเนื้อหาคำขอไม่ได้ (ขณะนั้น message จะเป็น Invalid request payload format) ก็ส่งกลับรหัสนี้
55108 EUID ไม่ถูกต้อง ส่งกลับเฉพาะ API ตั้งค่า EUID ไม่มีในโปรเจกต์ปัจจุบัน message จะเป็น EUID does not exist: {euid}

ตัวอย่างเมื่อล้มเหลว

ไม่มี channel_id:

{ "code": 55004, "message": "channel_id does not exist in current project: 8801" }
              
              {
  "code": 55004,
  "message": "channel_id does not exist in current project: 8801"
}

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

อ่าน ma_rid ไม่ได้:

{ "code": 55004, "message": "ma_rid is invalid" }
              
              {
  "code": 55004,
  "message": "ma_rid is invalid"
}

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

ไม่มี EUID:

{ "code": 55108, "message": "EUID does not exist: 10362473" }
              
              {
  "code": 55108,
  "message": "EUID does not exist: 10362473"
}

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
Icon Solid Transparent White Qiyu
ติดต่อฝ่ายขาย