2.1. 媒體 REST API?
2.1.1. 版本信息?
v1.0.5, 2017/05/11
2.1.2. 接入和授權?
請求說明: GET http://xx.yy.zz:8080/rtc/auth/valid HTTP/1.1
接口描述: MCU對客戶端進行認證
參數 | 類型 | 必須 | 說明 |
---|---|---|---|
access_key | String | 是 | 平臺賦予客戶端的key |
digest | String | 是 | digest為按一定規則生成的串,規則說明如下:
|
返回說明:
http 響應:json
{
"ret": 0,
"random": "random",
"key": "key"
}
access_token計算規則: access_token = base64(hash_hmac(random:key, secret_key))
主要返回碼: 0,401,504
2.1.3. 創建房間?
請求說明: GET http://xx.yy.zz:8080/rtc/room/create HTTP/1.1
接口描述: 創建房間
參數 | 類型 | 必須 | 說明 |
---|---|---|---|
access_token | String | 是 | 認證成功后根據規則生成的串 |
topic | String | 是 | 房間主題,小于150字節 |
owner_id | String | 是 | 房間創建者ID |
room_mode | enum | 是 |
|
host_password | String | 否 | 主持人密碼,如果加入房間時密碼和主持人密碼那邊用戶的角色為主持人 |
max_video | Number | 否 | 房間最大視頻數 |
max_audio | Number | 否 | 房間最大音頻數 |
attendee_max | Number | 否 | 房間最大人數 |
room_extend_id | String | 否 | 需要保證唯一最好是UUID,否則創建房間有可能失敗,room_id和room_extend_id為同一個值 |
返回說明:
http 響應:json
{
"ret": 0,
"room_id": "room_id"
}
room_id為房間號
主要返回碼: 0,407,602,700
2.1.4. 根據房間號獲取房間信息?
請求說明: GET http://xx.yy.zz:8080/rtc/room/get HTTP/1.1
接口描述: 根據房間號獲取房間
參數 | 類型 | 必須 | 說明 |
---|---|---|---|
access_token | String | 是 | 認證成功后根據規則生成的串 |
room_id | String | 是 | 房間號 |
返回說明:
http 響應:json
{
"ret": 0,
"id": 1,
"room_id": "room_id",
"topic": "topic",
"room_status": 0,
"owner_id": "owner_id",
"host_password": "host_password",
"attendee_max": "attendee_max",
"max_audio": "max_audio",
"max_video": "max_video",
"room_extend_id": "room_extend_id",
"room_mode": "room_mode"
}
主要返回碼: 0,404,602
2.1.5. 刪除房間?
請求說明: GET http://xx.yy.zz:8080/rtc/room/del HTTP/1.1 接口描述: 根據房間號獲取房間
參數 | 類型 | 必須 | 說明 |
---|---|---|---|
access_token | String | 是 | 認證成功后根據規則生成的串 |
room_id | String | 是 | 房間號 |
http 響應:json
{
"ret": 0,
"room_id": "room_id"
}
主要返回碼: 0,404,602
2.1.6. 獲取房間mcu地址?
請求說明: GET http://xx.yy.zz:8080/sdk/get_mcu HTTP/1.1
接口描述: 根據房間號獲取房間
參數 | 類型 | 必須 | 說明 |
---|---|---|---|
access_token | String | 是 | 認證成功后根據規則生成的串 |
room_id | String | 是 | 房間號 |
http 響應:json
{
"ret": 0,
"addr": "addr"
}
主要返回碼: 0,407,410,411
2.1.7. 根據房間號獲取房間信息?
請求說明: GET http://xx.yy.zz:8080/rtc/room/get_room_info HTTP/1.1
接口描述: 根據房間號獲取房間
參數 | 類型 | 必須 | 說明 |
---|---|---|---|
access_token | String | 是 | 認證成功后根據規則生成的串 |
room_id | String | 是 | 房間號 |
http 響應:json
{
"ret": 0,
"user_list": [
{
"user_name": "ming15",
"user_id": "2eba97ef-7f6b-4d5f-b196-800ef6983192"
}
]
}
主要返回碼: 0,404,602
2.1.8. 強制房間中的用戶下線?
請求說明: GET http://xx.yy.zz:8080/rtc/force_offline_mcu HTTP/1.1
接口描述: 用戶踢下線
參數 | 類型 | 必須 | 說明 |
---|---|---|---|
access_token | String | 是 | 認證成功后根據規則生成的串 |
room_id | String | 是 | 房間號 |
user_id | String | 是 | 用戶ID |
http 響應:json
{
"ret": 0,
"msg": “succ”,
}
主要返回碼: 0,404,602,417,428
2.1.9. 錯誤碼表?
ret | 詳細描述 |
---|---|
0 | 成功 |
401 | 認證失敗 |
404 | 房間未找到 |
405 | licence過期 |
407 | 參數錯誤 |
408 | http請求不支持 |
409 | http內部超時 |
410 | 沒有可用MCU |
411 | 超過最大licence |
504 | 超時 |
602 | access_token不正確 |
700 | 數據庫錯誤 |
701 | 沒有P2P權限 |
417 | MCU不在線 |
428 | 沒有找到房間分配給了那個mcu |
429 | 用戶不在線 |
416 | 房間被關閉 |