上報事件
用戶行為事件用於記錄用戶在什麼時間,什麼環境,做了什麼行為,如何做的,為什麼這麼做等關鍵信息。
上報用戶事件必須基於 EUID 進行創建
調用地址
POST /v1/event/report
調用驗證
EngageLab REST API 採用 HTTP 基本認證 的驗證方式:HTTP Header(頭)里加 Authorization:
Authorization: Basic ${base64_auth_string}
上述 base64_auth_string 的生成算法為:base64(api_key:api_secret)
- Header 名稱是 "Authorization",值是 base64 轉換過的 "username:password" 對(中間有個冒號)。
- 在 MA API 的場景里,username 是 APIKey,password 是 APISecret。請在數據來源中添加 API 類型的數據源獲得 APIKey 與 API Secret。
請求示例
請求頭
> 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, //事件發生的具體時間戳
"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 | 否 | App 或 Web 應用的 AppKey 值,可以用來表示該事件是由哪一個應用產生 |
data | Array | 是 | 行為事件列表 |
euid | Long | 是 | 發生行為事件的用戶唯一ID |
event_name | String | 是 | 事件的名稱 |
itime | Long | 是 | 行為事件發生的具體時間戳,要求是 13 位的毫秒級時間戳。 |
random_id | String | 否 | 事件上報id,用於校驗事件唯一性;若未填寫該字段,EngageLab 將會自動生成。 |
properties | JSON Object | 否 | 事件屬性,key是屬性名,value是屬性值。 |
返回參數
字段 | 類型 | 必填 | 描述 |
---|---|---|---|
code | Int | 是 | 接口調用是否成功,0表示成功,其他值代表出錯 |
message | String | 是 | 接口調用結果描述,對錯誤碼的文字說明 |
全部成功
{
"code": 0,
"message": "success"
}
全部失敗
{
"code": 40050,
"message": ""
}
錯誤碼
|錯誤碼| 描述| 詳細說明 | | ----- | -------- | ----------------------- | -------------------------- | | 40050 | I接口鑒權失敗| 確認項目ID和項目密鑰是否正確 | | 40007 | EUID為空| 請檢查 EUID 的值| | 50031 | 項目 ID 非法|請檢查 APIKey 和 APISecret 是否正確| | 50034 | 項目 ID 不存在|請檢查 APIKey 和 APISecret 是否正確,檢查項目是否已被刪除| | 50074 | API 數據源不存在|請檢查 APIKey 和 APISecret 是否正確,請檢查 API 數據源是否已被刪除| | 55004 | 業務參數不合法|請檢查請求參數字段是否正確| | 55101 | 用戶標識個數超限|確認用戶標識的值的數量是否超過 100 個| | 55102 | 存在無效的用戶屬性名稱|確認屬性名稱是否符合命名要求,是否為空/用到了保留字符/超過長度限制| | 55103 | 用戶屬性值不能為空|確認請求體中用戶屬性的值是否為空| | 55105 | 用戶標識的 value 值不能超過 256 個字符|確認用戶標識的值是否超過256個字符| | 55106 | 用戶標識的名稱不在支持範圍內|確認用戶標識的名稱是否是 user_id、 anonymous_id、registration_id| | 55107 | 用戶標識的 value 值為空|確認請求體中用戶標識的值是否為空| | 55108 | 無效的 EUID|請檢查 EUID 的值| | -1 | 服務器內部錯誤|請聯繫 EngageLab 技術支持|