視訊會議管理介面
1.概述
1.1.用途
主要用途是對會議進行管理
1.2.適用版本
略
1.3.通訊協議
本規範中,業務系統是通訊的伺服器端(簡稱“伺服器”),信令伺服器是通訊客戶端(簡稱“客戶端”)。
客戶端和伺服器通過HTTP協議通訊,客戶端使用HTTP Get 或 HTTP Post向伺服器傳送請求,伺服器返回json格式的業務資料或操作結果給客戶端。用GET還是POST方式傳送請求,要根據具體情況,例如簡單的情況可以GET,大量資料的提交可以POST。
1.4.介面請求
HTTP Get 或 POST
1.5.介面響應
伺服器返回json格式的文字內容給客戶端。
返回給客戶端的json文字描述了伺服器對請求的處理結果和響應資料。
1.6.介面安全
1.7.URL編碼
當URL請求引數值中包含URL地址保留字元時,應對引數值進行URL編碼。
具體參見“RFC2396: Uniform Resource Identifiers (URI): Generic Syntax”。
當請求引數包含中文字元時,應對中文字符采用UTF-8編碼。
1.8.描述約定
1.9.返回訊息結構
返回的json訊息資料結構具有嚴格的一致性,客戶端可以採用一致的接收和解析方式處理返回訊息。
簡單訊息
簡單的返回訊息包含對請求的處理結果,結構如下:
{
"code":0,
"err_desc":""
}
其中:
code 為0表示處理成功,其它值表示處理失敗。
err_desc是對錯誤的描述,在code為0時err_desc會被省略。
特殊情況,在使用者認證的login1和login2介面中,err_desc具有特殊用途用法,具體參見介面描述。除這兩個介面之外,err_desc都表示錯誤描述。
帶業務資料的訊息
有的返回訊息除了包含處理結果資訊,還包含業務資料記錄集,結構如下:
{
"code":0,
"data":{
"count":1,
"items":[{
"server":"g3",
}]
}
}
其中:
data 業務資料的根節點:
count 業務資料的條數,可能的值為0 ~ n
items 業務資料,是一個數組,資料條數由count屬性定義。當count為0時,items屬性可能為null或者不存在。
本文件後續章節中,在描述items元素的屬性時,會省略一些屬性的描述,即實際呼叫介面返回的屬性在本文件中可能會沒有描述,這種情況下請直接忽略被忽略描述的屬性值。本文件中描述的屬性是實際返回內容的一個子集,沒有描述到的內容對整合本系統沒有影響。
帶分頁資料的訊息
如果返回資料較多,伺服器會對返回的資料進行分頁,客戶端可以按照頁碼請求指定範圍的資料。帶分頁資訊的返回資料結構如下:
{
"code":0,
"data":{
"page":1,
"page_size":"20",
"pages":"1",
"total":"2",
"count":2,
"items":[...]
}
}
分頁資料資訊在data元素下,意義如下:
page 當前頁碼
page_size 每頁資料記錄條數
pages 總共的頁數
total 總資料條數
count 當前返回頁的資料條數
如果返回的資料帶有分頁資訊,則可以在呼叫介面時使用page引數來請求指定頁碼的資料。
2.0 介面引數
本規範中的介面引數以介面描述內為主。
2 介面定義
2.1 建立房間/修改房間
請求
/meetingmanage/room/?id=1&server_id=1&room=1122&name=會議&max_users=4&start_time=2018-11-13 10:23:00&end_time=2018-11-13 11:23:00&open_class=2
引數:
id:1(可選提供ID則為修改資訊,缺失則建立)
server_id:信令伺服器ID
room:房間編號 (對應視訊會議系統中的房間號)
name:房間名稱
max_users:最大參會人數 (允許的最大參會人數.0 表示不限制)
start_time 開始時間
end_time 結束時間
open_class 開放級別(0 = 安全會議 要求參會人必須在參會人列表中1 = 機構會議 要求參會人必須在使用者列表中。2 = 開放會議,參會人可以不使用者列表中,也無需做身份認證。 預設 1)
響應
{
"code":0,
"err_desc":OK"
}
返回0代表建立成功,其他值錯誤資訊將在err_desc內描述。
2.2 查詢房間列表
請求
/meetingmanage/getRoom/?id=1
引數
id:需要查詢單個房間資訊,缺失則查詢出所有房間(可選)
page:第幾頁,預設為1
page_size:每頁數量,預設50
響應
{
"code":0,
"data":{
"page":1,
"page_size":"20",
"pages":"1",
"total":"2",
"count":2,
"items":[{
"id":"1",
"server_id":"1",
"room":"34ewer24",
"name":"會議名字",
"max_users":"5",
"users_num":"4",
"add_time":"2018-11-13 11:10:00",
"update_time":"2018-11-13 11:10:00",
"start_time":"2018-11-13 11:10:00",
"end_time":"2018-11-13 11:10:00",
"open_class":"2",
"status":"1"
}]
}
}
2.3修改狀態/刪除房間
請求
/meetingmang/roomStatus/?id=1&status=2
引數:
id:需要修改的房間ID
status:0 = 關閉1 = 開啟 2 禁用 -1 刪除
響應
{
"code":0,
"err_desc":“OK"
}
2.4建立使用者/修改使用者
請求
/meetingmanage/user?id=1&name=user1&acct=123456&pwd=123456&status=1&is_master=1
引數:
id:1(可選提供ID則為修改資訊,缺失則建立)
name:使用者姓名
acct:帳號
pwd:密碼
status:狀態(0 註冊 1 正常 2 禁用 -1 刪除 )
is_master : 是否主持人(1 為主持人)
響應
{
"code":0,
"err_desc":OK""
}
返回0代表建立成功,其他值錯誤資訊將在err_desc內描述。
2.5查詢使用者
請求
/meetingmanage/getUser/?id=1
引數(可選)
id:需要查詢單個使用者資訊,缺失則查詢出所有使用者
響應
{
"code":0,
"data":{
"page":1,
"page_size":"20",
"pages":"1",
"total":"2",
"count":2,
"items":[{
"id":"1",
"name":"user1",
"acct":"123456",
"name":"會議名字",
"status":"1",
"add_time":"2018-11-13 11:10:00",
"update_time":"2018-11-13 11:10:00",
"is_master":"1"
}]
}
}
2.6修改狀態/刪除房間
請求
/meetingmang/userStatus/?id=1&status=2
引數:
id:需要修改的房間ID
status:0 = 關閉1 = 開啟 2 禁用 -1 刪除
響應
{
"code":0,
"err_desc":“OK"
}
2.7指定房間主持人
請求
/meetingmang/emcee/?roomid=1&userid=1&name=user1
引數:
roomid:房間ID編號
userid:指定的主持人ID
name:主持人名字
響應
{
"code":0,
"err_desc":“OK"
}
2.7指定參會人
請求
/meetingmang/emcee/?roomid=1&userid=1&name=user1
引數:
roomid:房間ID編號
userid:指定的參會人ID
name:參會人名字
響應
{
"code":0,
"err_desc":“OK"
}