5 訊息處理#
5.1 發送已讀回執#
GET /message/ack
請求頭#
| 參數名稱 | 資料類型 | 必填 | 描述 |
|---|---|---|---|
| access-token | string | false | Token |
| app_id | string | true | 應用程式ID |
| group_id | int64 | false | 僅當access-token為管理員token時,可以設定此欄位,表示以此群ID的管理員身份來呼叫此介面 |
| user_id | int64 | false | 僅當access-token為管理員token時,可以設定此欄位,表示以此使用者ID的身份來呼叫此介面 |
請求參數(Query Param)#
| 參數名稱 | 資料類型 | 必填 | 描述 |
|---|---|---|---|
| conversation_id | int64 | false | 會話ID |
| device_sn | int32 | false | 設備序號 |
| msg_id | int64 | false | 訊息ID |
響應體#
● 200 響應資料格式:JSON
| 參數名稱 | 類型 | 描述 |
|---|---|---|
| code | int32 | 回傳碼,200是成功 |
| data | boolean | 結果資料 |
| message | string | 錯誤信息,如果成功,該項為null |
介面描述#
5.2 廣播訊息#
POST /message/broadcast
請求頭#
| 參數名稱 | 資料類型 | 必填 | 描述 |
|---|---|---|---|
| access-token | string | false | Token |
| app_id | string | true | 應用程式ID |
| group_id | int64 | false | 僅當access-token為管理員token時,可以設定此欄位,表示以此群ID的管理員身份來呼叫此介面 |
| user_id | int64 | false | 僅當access-token為管理員token時,可以設定此欄位,表示以此使用者ID的身份來呼叫此介面 |
請求體(Request Body)#
| 參數名稱 | 資料類型 | 必填 | 預設值 | 描述 |
|---|---|---|---|---|
| attachment | string | false | ||
| config | string | false | ||
| content | string | false | ||
| content_type | int32 | true | 訊息類型 TEXT = 0; IMAGE = 1; AUDIO = 2; VIDEO = 3; FILE = 4; LOCATION = 5; COMMAND = 6; | |
| ext | string | false | ||
| type | int32 | true | 目標類型,1 - 普通使用者 |
響應體#
● 200 響應資料格式:JSON
| 參數名稱 | 類型 | 描述 |
|---|---|---|
| code | int32 | 回傳碼,200是成功 |
| data | object | 結果資料 |
| ⇥ send_num | int64 | 發送數量 |
| ⇥ success | boolean | 是否成功 |
| message | string | 錯誤信息,如果成功,該項為null |
介面描述#
5.3 取指定會話的訊息#
GET /message/conversation
請求頭#
| 參數名稱 | 資料類型 | 必填 | 描述 |
|---|---|---|---|
| access-token | string | false | Token |
| app_id | string | true | 應用程式ID |
| group_id | int64 | false | 僅當access-token為管理員token時,可以設定此欄位,表示以此群ID的管理員身份來呼叫此介面 |
| user_id | int64 | false | 僅當access-token為管理員token時,可以設定此欄位,表示以此使用者ID的身份來呼叫此介面 |
請求參數(Query Param)#
| 參數名稱 | 資料類型 | 必填 | 描述 |
|---|---|---|---|
| limit | int32 | true | 最多拉取多少條 |
| msg_id_start | int64 | true | 從哪條訊息開始向前拉取:傳0表示最新的一條訊息 |
| opposite_id | int64 | true | 會話ID |
響應體#
● 200 響應資料格式:JSON
| 參數名稱 | 類型 | 描述 |
|---|---|---|
| code | int32 | 回傳碼,200是成功 |
| data | object | 結果資料 |
| ⇥ is_last | boolean | 是否是最後一條訊息: true - 表示後面沒有訊息了, false - 後面還有訊息 |
| ⇥ messages | array[object] | 訊息列表 |
| ⇥⇥ attachment | string | 訊息附件: 訊息類型為圖片/語音/視訊/檔案時,此欄位會包括檔案地址 |
| ⇥⇥ config | string | SDK層使用的擴展欄位 |
| ⇥⇥ content | string | 訊息內容 |
| ⇥⇥ ctype | string | 訊息內容類型: TEXT - 文本, IMAGE - 圖片, AUDIO - 語音, VIDEO - 視訊, FILE - 檔案, LOCATION - 位置, COMMAND - 自定義, FORWARD 轉發訊息 |
| ⇥⇥ ext | string | 擴展欄位 |
| ⇥⇥ from_xid | object | 訊息發送者 |
| ⇥⇥⇥ device_sn | int32 | 設備序號 |
| ⇥⇥⇥ uid | int64 | 使用者ID |
| ⇥⇥ msg_id | int64 | 訊息ID |
| ⇥⇥ status | string | 訊息狀態:UNREAD- 未讀 ,DELIVERED - 已投遞 , READ - 已讀 |
| ⇥⇥ timestamp | int64 | 訊息發送時間戳(毫秒) |
| ⇥⇥ to_xid | object | 訊息接收者 |
| ⇥⇥⇥ device_sn | int32 | 設備序號 |
| ⇥⇥⇥ uid | int64 | 使用者ID |
| ⇥ next_msg_id | int64 | 繼續拉取需要設定的訊息ID, 將此訊息ID設定到請求參數的msg_id_start即可繼續拉取訊息 |
| message | string | 錯誤信息,如果成功,該項為null |
介面描述#
5.4 刪除使用者的指定會話#
DELETE /message/conversation
請求頭#
| 參數名稱 | 資料類型 | 必填 | 描述 |
|---|---|---|---|
| access-token | string | false | Token |
| app_id | string | true | 應用程式ID |
| group_id | int64 | false | 僅當access-token為管理員token時,可以設定此欄位,表示以此群ID的管理員身份來呼叫此介面 |
| user_id | int64 | false | 僅當access-token為管理員token時,可以設定此欄位,表示以此使用者ID的身份來呼叫此介面 |
請求參數(Query Param)#
| 參數名稱 | 資料類型 | 必填 | 描述 |
|---|---|---|---|
| conversation_id | int64 | true | 會話ID |
響應體#
● 200 響應資料格式:JSON
| 參數名稱 | 類型 | 描述 |
|---|---|---|
| code | int32 | 回傳碼,200是成功 |
| data | boolean | 結果資料 |
| message | string | 錯誤信息,如果成功,該項為null |
介面描述#
5.5 取指定使用者的所有會話列表#
GET /message/conversation_list
請求頭#
| 參數名稱 | 資料類型 | 必填 | 描述 |
|---|---|---|---|
| access-token | string | false | Token |
| app_id | string | true | 應用程式ID |
| group_id | int64 | false | 僅當access-token為管理員token時,可以設定此欄位,表示以此群ID的管理員身份來呼叫此介面 |
| user_id | int64 | false | 僅當access-token為管理員token時,可以設定此欄位,表示以此使用者ID的身份來呼叫此介面 |
請求參數(Query Param)#
| 參數名稱 | 資料類型 | 必填 | 描述 |
|---|---|---|---|
| cursor | string | false | 繼續拉取使用的游標 |
| limit | int32 | false | 每頁拉取多少條,預設20,最大20 |
響應體#
● 200 響應資料格式:JSON
| 參數名稱 | 類型 | 描述 |
|---|---|---|
| code | int32 | 回傳碼,200是成功 |
| data | object | 結果資料 |
| ⇥ conversations | array[object] | 會話列表 |
| ⇥⇥ conversation_id | object | 會話信息 |
| ⇥⇥⇥ uid | int64 | 會話ID |
| ⇥⇥ create_timestamp | int64 | 建立時間戳 |
| ⇥⇥ latest_msg_id | int64 | 最新訊息ID |
| ⇥⇥ update_timestamp | int64 | 最近活躍時間戳 |
| ⇥ has_more | boolean | 是否還有更多會話: true - 表示後面還有更多會話, false - 表示後面沒有更多會話 |
| ⇥ next_cursor | string | 繼續拉取使用的游標 |
| message | string | 錯誤信息,如果成功,該項為null |
介面描述#
5.6 發送系統通知#
PUT /message/notify
POST /message/notify
請求頭#
| 參數名稱 | 資料類型 | 必填 | 描述 |
|---|---|---|---|
| access-token | string | false | Token |
| app_id | string | true | 應用程式ID |
| group_id | int64 | false | 僅當access-token為管理員token時,可以設定此欄位,表示以此群ID的管理員身份來呼叫此介面 |
| user_id | int64 | false | 僅當access-token為管理員token時,可以設定此欄位,表示以此使用者ID的身份來呼叫此介面 |
請求體(Request Body)#
| 參數名稱 | 資料類型 | 必填 | 預設值 | 描述 |
|---|---|---|---|---|
| attachment | string | false | 附件:如果訊息類型為圖片/語音/視訊/檔案時需要設定此欄位。格式如:{"url":"https://xxx" ,"dName":"1658890327124.amr","fLen":1670,"duration":1}{"url":"https://xxx" ,"dName":"1646751218948","fLen":508728,"width":828.0,"height":828.0} | |
| config | string | false | SDK使用的擴展欄位 | |
| content | string | true | 訊息內容 | |
| content_type | int32 | true | 訊息類型 TEXT = 0; IMAGE = 1; AUDIO = 2; VIDEO = 3; FILE = 4; LOCATION = 5; COMMAND = 6; FORWARD = 7; READ_ACK = 9; RECALL = 10; APPEND = 11; REPLACE = 12; | |
| ext | string | false | 擴展欄位 | |
| from_user_id | int64 | false | 發送者的使用者ID | |
| online_only | boolean | false | 是否只發給線上使用者(預設為false): true - 只發給線上使用者; false - 發給線上和離線使用者 | |
| related_mid | int64 | false | 訊息操作相關的訊息ID: 如何訊息類型為READ_ACK/RECALL時需要設定此欄位,表示已讀或撤回的訊息ID | |
| targets | array[int64] | true | 接收使用者ID或群ID | |
| transaction_id | int64 | false | 請求ID,用於訊息去重, 如果短時間內收到2個相同transaction_id的請求,第二次請求不會被執行。 如果不設定就不會被去重 | |
| type | int32 | true | 目標類型,1 - 普通使用者,2 - 群組 |
響應體#
● 200 響應資料格式:JSON
| 參數名稱 | 類型 | 描述 |
|---|---|---|
| code | int32 | 回傳碼,200是成功 |
| data | boolean | 結果資料 |
| message | string | 錯誤信息,如果成功,該項為null |
| msg_ids | array[int64] | 訊息ID列表:當前只有訊息接收者數量為1時才會回傳訊息ID |
介面描述#
5.7 撤回訊息#
PUT /message/recall
POST /message/recall
請求頭#
| 參數名稱 | 資料類型 | 必填 | 描述 |
|---|---|---|---|
| access-token | string | false | Token |
| app_id | string | true | 應用程式ID |
| group_id | int64 | false | 僅當access-token為管理員token時,可以設定此欄位,表示以此群ID的管理員身份來呼叫此介面 |
| user_id | int64 | false | 僅當access-token為管理員token時,可以設定此欄位,表示以此使用者ID的身份來呼叫此介面 |
請求體(Request Body)#
| 參數名稱 | 資料類型 | 必填 | 預設值 | 描述 |
|---|---|---|---|---|
| conversation_id | int64 | true | 會話ID | |
| msg_id | int64 | true | 訊息ID |
響應體#
● 200 響應資料格式:JSON
| 參數名稱 | 類型 | 描述 |
|---|---|---|
| code | int32 | 回傳碼,200是成功 |
| data | boolean | 結果資料 |
| message | string | 錯誤信息,如果成功,該項為null |
介面描述#
5.8 發送訊息#
PUT /message/send
POST /message/send
請求頭#
| 參數名稱 | 資料類型 | 必填 | 描述 |
|---|---|---|---|
| access-token | string | false | Token |
| app_id | string | true | 應用程式ID |
| group_id | int64 | false | 僅當access-token為管理員token時,可以設定此欄位,表示以此群ID的管理員身份來呼叫此介面 |
| user_id | int64 | false | 僅當access-token為管理員token時,可以設定此欄位,表示以此使用者ID的身份來呼叫此介面 |
請求體(Request Body)#
| 參數名稱 | 資料類型 | 必填 | 預設值 | 描述 |
|---|---|---|---|---|
| attachment | string | false | 附件:如果訊息類型為圖片/語音/視訊/檔案時需要設定此欄位。格式如:{"url":"https://xxx" ,"dName":"1658890327124.amr","fLen":1670,"duration":1}{"url":"https://xxx" ,"dName":"1646751218948","fLen":508728,"width":828.0,"height":828.0} | |
| config | string | false | SDK使用的擴展欄位 | |
| content | string | true | 訊息內容 | |
| content_type | int32 | true | 訊息類型 TEXT = 0; IMAGE = 1; AUDIO = 2; VIDEO = 3; FILE = 4; LOCATION = 5; COMMAND = 6; FORWARD = 7; READ_ACK = 9; RECALL = 10; APPEND = 11; REPLACE = 12; | |
| ext | string | false | 擴展欄位 | |
| from_user_id | int64 | false | 發送者的使用者ID | |
| online_only | boolean | false | 是否只發給線上使用者(預設為false): true - 只發給線上使用者; false - 發給線上和離線使用者 | |
| related_mid | int64 | false | 訊息操作相關的訊息ID: 如何訊息類型為READ_ACK/RECALL時需要設定此欄位,表示已讀或撤回的訊息ID | |
| targets | array[int64] | true | 接收使用者ID或群ID | |
| transaction_id | int64 | false | 請求ID,用於訊息去重, 如果短時間內收到2個相同transaction_id的請求,第二次請求不會被執行。 如果不設定就不會被去重 | |
| type | int32 | true | 目標類型,1 - 普通使用者,2 - 群組 |
響應體#
● 200 響應資料格式:JSON
| 參數名稱 | 類型 | 描述 |
|---|---|---|
| code | int32 | 回傳碼,200是成功 |
| data | boolean | 結果資料 |
| message | string | 錯誤信息,如果成功,該項為null |
| msg_ids | array[int64] | 訊息ID列表:當前只有訊息接收者數量為1時才會回傳訊息ID |
介面描述#
5.9 取指定使用者的最近會話列表#
GET /message/unread
請求頭#
| 參數名稱 | 資料類型 | 必填 | 描述 |
|---|---|---|---|
| access-token | string | false | Token |
| app_id | string | true | 應用程式ID |
| group_id | int64 | false | 僅當access-token為管理員token時,可以設定此欄位,表示以此群ID的管理員身份來呼叫此介面 |
| user_id | int64 | false | 僅當access-token為管理員token時,可以設定此欄位,表示以此使用者ID的身份來呼叫此介面 |
響應體#
● 200 響應資料格式:JSON
| 參數名稱 | 類型 | 描述 |
|---|---|---|
| code | int32 | 回傳碼,200是成功 |
| data | array[object] | 結果資料 |
| ⇥ conversation_id | object | 會話信息 |
| ⇥⇥ uid | int64 | 會話ID |
| ⇥ num | int32 | 未讀訊息數 |
| message | string | 錯誤信息,如果成功,該項為null |