API 定義

2022-05-19 16:49 更新

下面列出目前第三方應(yīng)用可以使用的 API。

chat/getChatGroups

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

  • 請(qǐng)求方式:GET  ;
  • 模塊名稱:chat  ;
  • 方法名稱:getChatGroups  ;
  • 參數(shù):無(wú);
  • 返回值:JSON 對(duì)象,該對(duì)象屬性定義如下:
屬性名稱類型說(shuō)明
result字符串如果為 ‘success’ 則操作成功,如果為其他值則表示操作失敗
message字符串如果操作失敗,則使用此屬性返回失敗原因提示文本
data對(duì)象該對(duì)象定義了系統(tǒng)中的討論組清單,對(duì)象屬性名為討論組的全局唯一 標(biāo)識(shí)字符串(GID),屬性對(duì)應(yīng)的值為討論組名稱

下面為一個(gè)示例請(qǐng)求地址:

https://myxxb.com/api.php?m=chat&f=getChatGroups&code=myAppCode&token=f5633c34c0c551a16c1d63bceb38d6a8

正常情況下返回值如下:

{
    "result": "success",
    "data": {
        "30683aea-7a1f-4ec8-a6d6-834e0310fd7d": "第四期項(xiàng)目討論",
        "81c6ba89-00ab-4431-8e47-063556ae4886": "研發(fā)部",
        "64da14c3-c07a-45af-9c61-4e638de4af26": "公司總?cè)?
    }
}

chat/getChatUsers

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

  • 請(qǐng)求方式:GET  ;
  • 模塊名稱:chat  ;
  • 方法名稱:getChatUsers  ;
  • 參數(shù):
  • gid  :設(shè)置為要獲取用戶成員信息的討論組的全局唯一 標(biāo)識(shí)字符串(GID),如果留空,則請(qǐng)求會(huì)返回系統(tǒng)所有成員信息。
  • 返回值:JSON 對(duì)象,該對(duì)象屬性定義如下:
屬性名稱類型說(shuō)明
result字符串如果為 ‘success’ 則操作成功,如果為其他值則表示操作失敗
message字符串如果操作失敗,則使用此屬性返回失敗原因提示文本
data對(duì)象該對(duì)象定義了成員清單,對(duì)象屬性名為成員 ID,屬性對(duì)應(yīng)的值為成員顯示名稱

下面為獲取 GID 為 '30683aea-7a1f-4ec8-a6d6-834e0310fd7d'  的討論組成員信息的示例請(qǐng)求地址:

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

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

  • 請(qǐng)求方式:POST  ;
  • 模塊名稱:chat  ;
  • 方法名稱:notifyMSG  ;
  • 參數(shù):無(wú);
  • 返回值:JSON 對(duì)象,該對(duì)象屬性定義如下:
屬性名稱類型說(shuō)明
result字符串如果為 ‘success’ 則操作成功,如果為其他值則表示操作失敗
message字符串如果操作失敗,則使用此屬性返回失敗原因提示文本

將要推送的通知消息對(duì)象轉(zhuǎn)換為 JSON 字符串形式,然后使用 data  域通過(guò) POST 請(qǐng)求發(fā)送到服務(wù)器。

一個(gè)通知消息對(duì)象擁有如下屬性:

屬性名稱類型可選性說(shuō)明
receiver字符串必須值為 'users'  或者 'group'  ,如果為 'users'  則將消息通知發(fā)送給用戶,用戶會(huì)在通知中心(小喧喧)中接收到通知,如果是 'group'  則是向討論組里發(fā)通知
gid字符串特定條件必須為討論組的全局唯一字符串,指定通知發(fā)送到的討論組,當(dāng)向討論組發(fā)送通知時(shí)必須(即 receiver 為 'group'  )
userList數(shù)組特定條件必須使用一個(gè)用戶 ID 數(shù)組指定通知發(fā)送給哪些用戶,當(dāng)向用戶發(fā)送通知時(shí)必須(即 receiver 為 'users'  )
title字符串必須通知消息的標(biāo)題
subtitle字符串可選通知消息的副標(biāo)題
content字符串可選通知消息的內(nèi)容文本
contentType字符串必須可選值包括:'plain'  表示純文本,'text'  表示 Markdown 格式的文本
url字符串可選該通知消息所指向的網(wǎng)頁(yè)鏈接
actions對(duì)象數(shù)組可選使用  操作對(duì)象數(shù)組表示該通知支持的操作
sender對(duì)象可選通知的  發(fā)送方信息對(duì)象

通知的  操作對(duì)象包含如下屬性:

屬性名稱類型可選性說(shuō)明
label字符串必須操作按鈕上顯示的文本
icon字符串可選操作按鈕上顯示的圖標(biāo)
url字符串必須點(diǎn)擊此操作按鈕時(shí)要打開(kāi)的頁(yè)面鏈接
type字符串可選操作按鈕類型,影響操作按鈕外觀,可選值包括 'primary'  、'success'  、'danger'  、'warning' 、'info'  、'important' 、'special'

發(fā)送方信息對(duì)象包容如下屬性:

屬性名稱類型可選性說(shuō)明
id字符串或數(shù)字必須標(biāo)識(shí)發(fā)送方唯一身份的字符串或數(shù)字
name字符串可選發(fā)送方在界面上顯示的名稱
avatar字符串必須發(fā)送方頭像圖片鏈接地址

下面為一個(gè)發(fā)送通知消息的示例 POST 請(qǐng)求地址:

https://myxxb.com/api.php?m=chat&f=notifyMSG&code=myAppCode&token=f5633c34c0c551a16c1d63bceb38d6a8

下面為使用 JavaScript  Fetch API 發(fā)起請(qǐng)求示例代碼:

const notifycationData = {
    receiver: 'group',
    gid: 'f3de9ff9-dcb4-49de-915b-377ee9143418',
    title: '測(cè)試通知消息',
    subTitle: '測(cè)試通知消息副標(biāo)題',
    content: '**測(cè)試消息**內(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)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)