下面列出目前第三方應用可以使用的 API。
此接口用于獲取系統(tǒng)中的討論組列表。
屬性名稱 | 類型 | 說明 |
---|---|---|
result | 字符串 | 如果為 ‘success’ 則操作成功,如果為其他值則表示操作失敗 |
message | 字符串 | 如果操作失敗,則使用此屬性返回失敗原因提示文本 |
data | 對象 | 該對象定義了系統(tǒng)中的討論組清單,對象屬性名為討論組的全局唯一 標識字符串(GID),屬性對應的值為討論組名稱 |
下面為一個示例請求地址:
https://myxxb.com/api.php?m=chat&f=getChatGroups&code=myAppCode&token=f5633c34c0c551a16c1d63bceb38d6a8
正常情況下返回值如下:
{ "result": "success", "data": { "30683aea-7a1f-4ec8-a6d6-834e0310fd7d": "第四期項目討論", "81c6ba89-00ab-4431-8e47-063556ae4886": "研發(fā)部", "64da14c3-c07a-45af-9c61-4e638de4af26": "公司總?cè)? } }
此接口用于獲取指定討論組中的成員信息或者獲取系統(tǒng)中全部成員信息。
屬性名稱 | 類型 | 說明 |
---|---|---|
result | 字符串 | 如果為 ‘success’ 則操作成功,如果為其他值則表示操作失敗 |
message | 字符串 | 如果操作失敗,則使用此屬性返回失敗原因提示文本 |
data | 對象 | 該對象定義了成員清單,對象屬性名為成員 ID,屬性對應的值為成員顯示名稱 |
下面為獲取 GID 為 '30683aea-7a1f-4ec8-a6d6-834e0310fd7d' 的討論組成員信息的示例請求地址:
https://myxxb.com/api.php?m=chat&f=getChatUsers&gid=30683aea-7a1f-4ec8-a6d6-834e0310fd7d&code=myAppCode&token=f5633c34c0c551a16c1d63bceb38d6a8
正常情況下返回值如下:
{ "result": "success", "data": { "1": "管理員", "3": "張三", "4": "李四" } }
此接口用于向指定的討論組推送通知消息。
屬性名稱 | 類型 | 說明 |
---|---|---|
result | 字符串 | 如果為 ‘success’ 則操作成功,如果為其他值則表示操作失敗 |
message | 字符串 | 如果操作失敗,則使用此屬性返回失敗原因提示文本 |
將要推送的通知消息對象轉(zhuǎn)換為 JSON 字符串形式,然后使用 data 域通過 POST 請求發(fā)送到服務器。
一個通知消息對象擁有如下屬性:
屬性名稱 | 類型 | 可選性 | 說明 |
---|---|---|---|
receiver | 字符串 | 必須 | 值為 'users' 或者 'group' ,如果為 'users' 則將消息通知發(fā)送給用戶,用戶會在通知中心(小喧喧)中接收到通知,如果是 'group' 則是向討論組里發(fā)通知 |
gid | 字符串 | 特定條件必須 | 為討論組的全局唯一字符串,指定通知發(fā)送到的討論組,當向討論組發(fā)送通知時必須(即 receiver 為 'group' ) |
userList | 數(shù)組 | 特定條件必須 | 使用一個用戶 ID 數(shù)組指定通知發(fā)送給哪些用戶,當向用戶發(fā)送通知時必須(即 receiver 為 'users' ) |
title | 字符串 | 必須 | 通知消息的標題 |
subtitle | 字符串 | 可選 | 通知消息的副標題 |
content | 字符串 | 可選 | 通知消息的內(nèi)容文本 |
contentType | 字符串 | 必須 | 可選值包括:'plain' 表示純文本,'text' 表示 Markdown 格式的文本 |
url | 字符串 | 可選 | 該通知消息所指向的網(wǎng)頁鏈接 |
actions | 對象數(shù)組 | 可選 | 使用 操作對象數(shù)組表示該通知支持的操作 |
sender | 對象 | 可選 | 通知的 發(fā)送方信息對象 |
通知的 操作對象包含如下屬性:
屬性名稱 | 類型 | 可選性 | 說明 |
---|---|---|---|
label | 字符串 | 必須 | 操作按鈕上顯示的文本 |
icon | 字符串 | 可選 | 操作按鈕上顯示的圖標 |
url | 字符串 | 必須 | 點擊此操作按鈕時要打開的頁面鏈接 |
type | 字符串 | 可選 | 操作按鈕類型,影響操作按鈕外觀,可選值包括 'primary' 、'success' 、'danger' 、'warning' 、'info' 、'important' 、'special' |
發(fā)送方信息對象包容如下屬性:
屬性名稱 | 類型 | 可選性 | 說明 |
---|---|---|---|
id | 字符串或數(shù)字 | 必須 | 標識發(fā)送方唯一身份的字符串或數(shù)字 |
name | 字符串 | 可選 | 發(fā)送方在界面上顯示的名稱 |
avatar | 字符串 | 必須 | 發(fā)送方頭像圖片鏈接地址 |
下面為一個發(fā)送通知消息的示例 POST 請求地址:
https://myxxb.com/api.php?m=chat&f=notifyMSG&code=myAppCode&token=f5633c34c0c551a16c1d63bceb38d6a8
下面為使用 JavaScript Fetch API 發(fā)起請求示例代碼:
const notifycationData = { receiver: 'group', gid: 'f3de9ff9-dcb4-49de-915b-377ee9143418', title: '測試通知消息', subTitle: '測試通知消息副標題', content: '**測試消息**內(nèi)容', contentType: 'text', url: 'http://xuan.im', actions: [ { type: 'danger', label: '更新日志', url: 'https://xuan.im/page/changelogs.html' }, { type: 'normal', label: '下載地址', url: 'http://xuan.im/page/download.html' } ], sender: { avatar: 'https://avatars2.githubusercontent.com/u/472425?s=460&v=4', name: 'Catouse', id: 'catouse' } }; const formData = new FormData(); formData.append('data', JSON.stringify(data)); const postUrl = 'https://myxxb.com/api.php?m=chat&f=notifyMSG&code=myAppCode&token=f5633c34c0c551a16c1d63bceb38d6a8'; fetch(postUrl, { method: 'POST', body: formData }).then(r => { return r.json(); }).then(response => { if (response && response.result === 'success') { console.log('操作成功'); } });
正常情況下返回值如下:
{ "result": "success" }
更多建議: