# 事件通知接口實現
# 注意:該接口由開發者在開發者服務端實現,供OSX短說調用
### OSX短說后臺填寫接口地址
```
<pre class="calibre26">
```
https://[接口地址] 如:https://my.apk.com/userActionNotify
```
```
#### 請求參數約定(Get請求方式傳參)
參數 是否必須 參數類型 限制長度 參數說明 user\_token 是 string 255 用戶唯一性標識,對應唯一一個用戶且不可變 to\_user\_token 是 string 255 沒有值時傳0,操作對象所屬方,如收藏的帖子的user\_token,關注操作的被關注對象user\_token to\_id 是 string 255 沒有值時傳0,行為對象id,如發帖的帖子id,評論、點贊的帖子id action 是 string 255 行為標識,具體參照[OSX用戶行為列表](http://oa.xiangtian.ren/index.php?mod=corpus&op=list&cid=58#fid_614) action\_token 是 string 255 本次行為的唯一標識,用于請求重試機制中的去重。 appKey 是 string 255 接口appKey,應用的唯一標識(OSX后臺獲取) endtimestamp 是 String 20 請求有效期,截止有效時間。1970-01-01開始的時間戳,秒為單位。 sign 是 string 255 MD5簽名,詳見 [【簽名校驗規則】](http://oa.xiangtian.ren/index.php?mod=corpus&op=list&cid=58#fid_618)#### 接口返回json格式示例
\> **json格式中主要包含data字段,data字段下是user\_token、userInfo 分別保存了用戶唯一標識以及用戶信息**
```
<pre class="calibre26">
```
{
????"code":200,
????"msg":"ok",
????"data":{
"action_token":"本次行為的唯一標識",
"user_info":{//行為后,操作用戶的積分最終值(積分有變動時,返回,無變動的可不返回)
"user_token":"用戶唯一性標識",
"score1":"exp,經驗值。等級可由經驗值換算,換算規則可在OSX短說后臺配置",
???????????? "score2":"社區積分",
???????????? "score3":"購物積分",
???????????? "score4":'貢獻值',
???????????? "score5":'自定義積分類型1',
"score6":'自定義積分類型2',
"score7":'自定義積分類型3',
"score8":'自定義積分類型4',
"score9":'自定義積分類型5'
},
"to_user_info":{//行為后,被操作用戶的積分最終值(積分有變動時,返回,無變動的可不返回)
"to_user_token":"用戶唯一性標識",
"score1":"exp,經驗值。等級可由經驗值換算,換算規則可在OSX短說后臺配置",
???????????? "score2":"社區積分",
???????????? "score3":"購物積分",
???????????? "score4":'貢獻值',
???????????? "score5":'自定義積分類型1',
"score6":'自定義積分類型2',
"score7":'自定義積分類型3',
"score8":'自定義積分類型4',
"score9":'自定義積分類型5'
},
?????}
}
```
```
```
<pre class="calibre26">
```
{
????"code":200,
????"msg":"error",
????"data":"操作失敗"
}
```
```
#### 返回參數約定(OSX短說會根據返回的參數名列表更新OSX平臺上對應用戶信息)
參數 是否必須 參數類型 限制長度 參數說明 msg 是 string 255 操作結果的判斷標識,‘ok’:本次請求成功;‘error’:本次請求失敗 data 是 string 255 返回數據,請求失敗時,這里保存失敗原因說明 data.action\_token 是 string 255 本次行為的唯一標識,重試機制中重要參數,防止異常 data.userInfo.nickname 是 string 25 用戶昵稱 data.userInfo.phone 否 string 20 用戶手機號 data.userInfo.avatar 否 String 255 頭像地址 data.userInfo.real\_name 否 string 25 真實姓名 data.userInfo.sex 否 int 2 性別,0:保密,1:男,2:女 data.userInfo.birthday 否 int 11 生日,1970-01-01開始的時間戳,秒為單位 data.userInfo.qq 否 string 25 qq號 data.userInfo.signature 否 string 100 個性簽名,個人心情、狀態描述 data.userInfo.score1 否 string 25 exp,經驗值。等級可由經驗值換算,換算規則可在OSX短說后臺配置 data.userInfo.score2 否 string 25 fly,社區積分 data.userInfo.score3 否 string 25 buy,購物積分 data.userInfo.score4 否 string 25 gong,貢獻值 data.userInfo.score5 否 string 25 one,自定義積分類型1 data.userInfo.score6 否 string 25 two,自定義積分類型2 data.userInfo.score7 否 string 25 three,自定義積分類型3 data.userInfo.score8 否 string 25 four,自定義積分類型4 data.userInfo.score9 否 string 25 five,自定義積分類型5#### OSX短說實際調用接口地址示例:
```
<pre class="calibre26">
```
https://my.apk.com/userActionNotify?user_token=14359234985&to_user_token=14359234956&to_id=256&action=osx_thread_add&action_token=1520559498658924&endtimestamp=1520559858&appKey=testappKey&sign=284dd169610caa4305b8e255830ad9de
```
```
### 注意事項
1. OSX發起的請求默認會帶上請求有效期、appKey以及sign簽名;開發者服務端可以根據請求接口參數驗證請求來源的安全性。如開發者服務端不做相關校驗,將可能導致平臺重要信息泄露,由此造成的損失OSX短說概不負責。
2. 該接口有重發機制,開發者服務端需對重復請求做檢測過濾,否知可能會導致同一個用戶行為被多次處理,加了多次積分等,由此造成的損失OSX短說概不負責。
3. 由于可能存在開發者服務端響應了,但是OSX服務端沒收到響應的情況,所以開發者服務端檢測到重試請求時,也要按照接口返回格式返回相關數據,而不是返回報錯信息,方便OSX服務端更新用戶最新數據信息。