保利威文档中心

幫助中心

建立研討會頻道(舊版後台)

更新時間:2024-12-16 19:20:19

介面說明

1、创建频道并进行相关设置
2、(timestamp, appId)参与sign签名,并和sign一起通过url传递,请求体参数不参与签名,通过post请求体传递【请设置请求头contentType:application/json】
3、接口支持https协议

介面URL

http://api.polyv.net/live/v3/channel/basic/create

線上API呼叫

請求方式

POST

介面限制

1、介面同時支援HTTP、HTTPS,建議使用HTTPS確保介面安全,介面呼叫有頻率限制,詳細請查看

請求參數說明

參數名 必填 類型 說明
appId true String 帳號appId【詳見取得金鑰
timestamp true Long 目前13位毫秒級時間戳記,3分鐘內有效
sign true String 簽名,為32位大寫的MD5值,產生簽名的appSecret金鑰作為通訊資料安全的關鍵資訊,嚴禁儲存在用戶端直接使用,所有API都必須透過客戶自己伺服器中轉呼叫POLYV伺服器取得回應資料【詳見簽名產生規則

請求體參數說明

參數名 必填 類型 說明
basicSetting true Object 基礎設定【詳見basicSetting欄位說明
authSettings false Array 觀看條件設定【詳見authSettings欄位說明
basicSetting參數說明
參數名 必填 類型 說明
name true String 頻道名稱
channelPasswd true String 頻道密碼,(可透過頻道號+頻道密碼登入該頻道)長度不能超過16位,必須同時包含字母和數字
scene false String 直播場景
seminar:研討會
categoryId false Integer 新建頻道的所屬分類,如果不提交,則為預設分類(分類ID可透過「查詢直播分類」介面取得)
coverImg false String 封面圖片地址
likes false Long 按讚數
pageView false Long 累積觀看數
subAccount false String 子帳號信箱,填寫時頻道會建立在該子帳號下(子帳號不能被刪除或停用),暫無法透過介面取得
authSettings參數說明
參數名 必填 類型 說明
rank true Integer 主要觀看條件為1,次要觀看條件為2
enabled true String 是否開啟條件觀看
N:關閉
Y:開啟
authType false String pay:付費觀看
code:驗證碼觀看
info:登記觀看
custom:自訂授權觀看
external:外部授權觀看
direct:獨立授權觀看
payAuthTips false String 當authType為pay時,設定參數,必填。歡迎語標題
price false Float 當authType為pay時,設定參數,必填。價格,單位為元
watchEndTime false String 當authType為pay時,設定參數,非必填。付費有效截止日期,格式:yyyy-MM-dd HH:mm
validTimePeriod false Integer 當authType為pay時,設定參數,非必填。付費有效時長,單位天。當watchEndTime和validTimePeriod都為空時,表示付費永久有效
authCode false String 當authType為code時,設定參數,必填。驗證碼
qcodeTips false String 當authType為code時,設定參數,非必填。提示文案
qcodeImg false String 當authType為code時,設定參數,非必填。公眾號QR Code地址
infoFields false Array 當authType為info時,設定參數,必填。登記觀看資訊,上限為5個【詳見infoFields欄位說明
externalKey false String 當authType為external時,設定參數,必填。SecretKey
externalUri false String 當authType為external時,設定參數,必填。自訂url
externalRedirectUri false String 當authType為external時,設定參數,非必填。跳轉地址
customKey false String 當authType為custom時,設定參數,必填。SecretKey
customUri false String 當authType為custom時,設定參數,必填。自訂url
directKey false String 當authType為direct時,設定參數,必填。獨立授權SecretKey

範例

http://api.polyv.net/live/v3/channel/basic/create?appId=frlr1zazn3&sign=A4433D6B4C9E5F34415EBACA2F206DDE&timestamp=1636706861620

請求體json參數:

{
    "basicSetting": {
        "name": "创建研讨会频道",
        "channelPasswd": "polyv123"
    },
    "authSettings": [
        {
            "watchEndTime": 1616753886000,
            "rank": 1,
            "enabled": "Y",
            "authType": "external",
            "externalKey": "L0EjokKI4O",
            "externalUri": "http://demo.ipolyv.cn/chenwb/live-validate.php"
        }
    ]
}

回應參數說明

參數名 類型 說明
code Integer 回應狀態碼,200為成功返回,非200為失敗【詳見全域錯誤說明
status String 回應狀態文字資訊
message String 回應描述資訊,當code為400或500時,輔助描述錯誤原因
data Object 成功回應時返回頻道詳細資訊【詳見data欄位說明
Data參數說明
參數名 類型 說明
channelId String 直播頻道號
userId String POLYV使用者ID,與保利威官網一致,取得路徑:官網->登入->直播(開發設定)
name String 直播頻道名稱
publisher String 主持人
description String 直播頻道描述
scene String 直播場景
seminar:研討會
channelPasswd String 頻道密碼
currentTimeMillis Long 目前時間戳記(毫秒)

Java請求範例

快速接入基礎程式碼請下載相關依賴原始碼點擊下載原始碼 ,下載後加入到自己的原始碼工程中即可。測試案例中的HttpUtil.java 和 LiveSignUtil.java 都包含在下載檔案中。

強烈建議您使用直播Java SDK完成API的功能對接,直播Java SDK 對API呼叫邏輯、例外處理、資料簽名、HTTP請求執行緒池進行了統一封裝和最佳化。

private static final Logger log = LoggerFactory.getLogger(ChannelOperateTest.class);
/**
 * 创建单个频道
 * @throws IOException
 * @throws NoSuchAlgorithmException
 */
@Test
public void testBasicCreate() throws IOException, NoSuchAlgorithmException {
    //公共参数,填写自己的实际
    String appId = super.appId;
    String appSecret = super.appSecret;
    String userId = super.userId;
    String timestamp = String.valueOf(System.currentTimeMillis());
    //业务参数
    String url = "http://api.polyv.net/live/v3/channel/basic/create";
    
    //http 调用逻辑
    Map<String, String> requestMap = new HashMap<>();
    requestMap.put("appId", appId);
    requestMap.put("timestamp", timestamp);
    
    requestMap.put("sign", LiveSignUtil.getSign(requestMap, appSecret));
    url = HttpUtil.appendUrl(url, requestMap);
    String json = "{\"basicSetting\":{\"name\":\"创建研讨会频道\",\"channelPasswd\":\"polyv123\"}," +
    "\"authSettings\":[{\"watchEndTime\":1616753886000,\"rank\":1,\"enabled\":\"Y\"," +
    "\"authType\":\"external\",\"externalKey\":\"L0EjokKI4O\",\"externalUri\":\"http://demo.polyv" +
    ".net/chenwb/live-validate.php\"}]}";
    String response = HttpUtil.postJsonBody(url, json, null);
    log.info("测试创建单个频道,返回值:{}", response);
    //do somethings
    
}

回應範例

系統全域錯誤說明詳見全域錯誤說明

成功範例

{
    "code": 200,
    "status": "success",
    "message": "",
    "data": {
        "channelId": 2671450,
        "userId": "1b448be323",
        "name": "创建研讨会频道",
        "channelPasswd": "polyv123",
        "scene": "seminar",
        "currentTimeMillis": 1636706867876
    }
}

異常範例

{
    "code": 400,
    "status": "error",
    "message": "invalid signature.",
    "data": ""
}
联系客服,在线咨询