API 定義

2022-05-19 16:49 更新

下面列出目前第三方應用可以使用的 API。

chat/getChatGroups

此接口用于獲取系統(tǒng)中的討論組列表。

  • 請求方式:GET  ;
  • 模塊名稱:chat  ;
  • 方法名稱:getChatGroups  ;
  • 參數(shù):無;
  • 返回值:JSON 對象,該對象屬性定義如下:
屬性名稱類型說明
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è)?
    }
}

chat/getChatUsers

此接口用于獲取指定討論組中的成員信息或者獲取系統(tǒng)中全部成員信息。

  • 請求方式:GET  ;
  • 模塊名稱:chat  ;
  • 方法名稱:getChatUsers  ;
  • 參數(shù):
  • gid  :設置為要獲取用戶成員信息的討論組的全局唯一 標識字符串(GID),如果留空,則請求會返回系統(tǒng)所有成員信息。
  • 返回值:JSON 對象,該對象屬性定義如下:
屬性名稱類型說明
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": "李四"
    }
}

notifyMSG

此接口用于向指定的討論組推送通知消息。

  • 請求方式:POST  ;
  • 模塊名稱:chat  ;
  • 方法名稱:notifyMSG  ;
  • 參數(shù):無;
  • 返回值:JSON 對象,該對象屬性定義如下:
屬性名稱類型說明
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"
}


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號