รายงานเหตุการณ์
เหตุการณ์พฤติกรรมผู้ใช้ถูกใช้เพื่อบันทึกข้อมูลสำคัญ เช่น เมื่อใด ในสภาพแวดล้อมใด ผู้ใช้ทำพฤติกรรมอะไร ทำอย่างไร และทำไมถึงทำ
การรายงานเหตุการณ์ผู้ใช้จะต้องสร้างขึ้นบนพื้นฐานของ EUID
ที่อยู่การเรียกใช้
POST /v1/event/report
การยืนยันการเรียกใช้
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)
- ชื่อหัวข้อคือ "Authorization" และค่าคือคู่ "username:password" ที่ถูกแปลงเป็น base64 (มีเครื่องหมายจุดคู่กลาง)
- ในกรณีของ MA API ชื่อผู้ใช้คือ APIKey และรหัสผ่านคือ APISecret โปรดเพิ่มแหล่งข้อมูลประเภท API ในแหล่งข้อมูลเพื่อรับ APIKey และ APISecret
ตัวอย่างคำขอ
Header คำขอ
> POST /v1/event/report
> Content-Type: application/json
> Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
> POST /v1/event/report
> Content-Type: application/json
> Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
โค้ดนี้โชว์เป็นหน้าต่างลอย
เนื้อหาคำขอ
{
"app_key": "96441e4d73207a6517abfbbc",// AppKey ของแอปพลิเคชัน ไม่จำเป็น
"data": [
{
"euid": 10000091198, // EUID ของเหตุการณ์พฤติกรรม
"event_name": "sign_up", // ชื่อของเหตุการณ์ ข้อมูลที่ระบุเหตุการณ์ในโครงการอย่างเฉพาะเจาะจง
"itime": 1654076420772, // เวลาที่เกิดเหตุการณ์ในรูปแบบ timestamp
"random_id": "5b102148-0d28-4a6a-8658-483f7d1c735e", // ID การรายงานเหตุการณ์ ไม่จำเป็น
"properties": {
"propertyA": "a", // ชื่อฟิลด์ของคุณสมบัติเหตุการณ์: ค่าคุณสมบัติ
"propertyB": 2
}
},
{
"euid": 10000091199,
"event_name": "login",
"itime": 1654076420235,
"properties": {
"propertyC": "a",
"propertyD": 3,
"propertyJ": "true",
"propertyK": 169,
"propertyL": [
"test1",
"20231025"
]
}
}
]
}
{
"app_key": "96441e4d73207a6517abfbbc",// AppKey ของแอปพลิเคชัน ไม่จำเป็น
"data": [
{
"euid": 10000091198, // EUID ของเหตุการณ์พฤติกรรม
"event_name": "sign_up", // ชื่อของเหตุการณ์ ข้อมูลที่ระบุเหตุการณ์ในโครงการอย่างเฉพาะเจาะจง
"itime": 1654076420772, // เวลาที่เกิดเหตุการณ์ในรูปแบบ timestamp
"random_id": "5b102148-0d28-4a6a-8658-483f7d1c735e", // ID การรายงานเหตุการณ์ ไม่จำเป็น
"properties": {
"propertyA": "a", // ชื่อฟิลด์ของคุณสมบัติเหตุการณ์: ค่าคุณสมบัติ
"propertyB": 2
}
},
{
"euid": 10000091199,
"event_name": "login",
"itime": 1654076420235,
"properties": {
"propertyC": "a",
"propertyD": 3,
"propertyJ": "true",
"propertyK": 169,
"propertyL": [
"test1",
"20231025"
]
}
}
]
}
โค้ดนี้โชว์เป็นหน้าต่างลอย
พารามิเตอร์คำขอ
ฟิลด์ | ประเภท | จำเป็น | คำอธิบาย |
---|---|---|---|
app_key | String | ไม่ | ค่า AppKey ของแอปหรือเว็บแอปพลิเคชัน ซึ่งสามารถใช้ระบุว่าเหตุการณ์ถูกสร้างจากแอปพลิเคชันใด |
data | Array | ใช่ | รายการเหตุการณ์พฤติกรรม |
euid | Long | ใช่ | รหัสผู้ใช้ที่ไม่ซ้ำกันของผู้ใช้ที่ทำเหตุการณ์พฤติกรรม |
event_name | String | ใช่ | ชื่อของเหตุการณ์ |
itime | Long | ใช่ | เวลาที่เกิดเหตุการณ์พฤติกรรมในรูปแบบ timestamp ระดับมิลลิวินาที 13 หลัก |
random_id | String | ไม่ | ID การรายงานเหตุการณ์ ใช้เพื่อยืนยันความไม่ซ้ำกันของเหตุการณ์; หากไม่ได้กรอกฟิลด์นี้ EngageLab จะสร้างโดยอัตโนมัติ |
properties | JSON Object | ไม่ | คุณสมบัติของเหตุการณ์ ซึ่ง key คือชื่อคุณสมบัติและ value คือค่าคุณสมบัติ ข้อกำหนดทางกฎหมายที่สำคัญ: รองรับตัวอักษรตัวพิมพ์เล็ก ตัวเลข ขีดล่าง และต้องเริ่มต้นด้วยตัวอักษร |
พารามิเตอร์การตอบกลับ
ฟิลด์ | ประเภท | จำเป็น | คำอธิบาย |
---|---|---|---|
code | Int | ใช่ | การเรียกใช้อินเทอร์เฟซสำเร็จหรือไม่ 0 หมายถึงสำเร็จ และค่าอื่นหมายถึงข้อผิดพลาด |
message | String | ใช่ | คำอธิบายผลลัพธ์การเรียกใช้อินเทอร์เฟซ ข้อความอธิบายข้อผิดพลาด |
สำเร็จทั้งหมด
{
"code": 0,
"message": "success"
}
{
"code": 0,
"message": "success"
}
โค้ดนี้โชว์เป็นหน้าต่างลอย
ล้มเหลวทั้งหมด
{
"code": 40050,
"message": ""
}
{
"code": 40050,
"message": ""
}
โค้ดนี้โชว์เป็นหน้าต่างลอย
รหัสข้อผิดพลาด
รหัส | คำอธิบาย | รายละเอียดเพิ่มเติม |
---|---|---|
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 |