Add or Modify Channel Quiz Card
Updated: 2024-04-22 19:18:32
Interface Description
1、编辑或添加答题卡信息,为全量增加或修改
2、接口支持https协议
Interface URL
http://api.polyv.net/live/v3/channel/interact/question/add-edit-question
Request Method
POST
Interface Constraints
- The interface supports both HTTP and HTTPS. HTTPS is recommended to ensure interface security. Interface calls have frequency limits. See details
Request Parameter Description
| Parameter | Required | Type | Description |
|---|---|---|---|
| appId | true | String | Account appId See Get Secret Key |
| timestamp | true | Long | Current 13-digit millisecond timestamp, valid for 3 minutes |
| sign | true | String | Signature, a 32-character uppercase MD5 value. The appSecret key used to generate the signature is critical for communication data security. It must never be saved or used directly on the client side. All APIs must be called through the customer's own server to relay requests to the POLYV server and obtain response data. See Signature Generation Rules |
| channelId | true | String | Channel ID |
| questionId | true | String | Quiz card ID. Required when modifying a quiz card; leave empty to add a new quiz card |
| type | true | String | Type: R for single choice, C for multiple choice, S for rating, V for voting |
| answer | true | String | Correct answer. Required when type is R (single choice) or C (multiple choice) |
| name | true | String | Quiz card name |
| itemType | true | Integer | Type: 0 for quiz card, 1 for Q&A |
| option1 - option15 | false | String | Single and multiple choice support up to 15 options A-O. Rating and voting types support a maximum of 5 options |
| tips1 - tips5 | false | String | Tip information, filled in for rating type |
Example
http://api.polyv.net/live/v3/channel/interact/question/add-edit-question?channelId=4760542×tamp=1712459358000&appId=fso8gzbxlr&sign=8DDBE14CB35620C42F8F467FFDE048DF
Response Parameter Description
| Parameter | Type | Description |
|---|---|---|
| code | Integer | Response status code. 200 indicates success; non-200 indicates failure See Global Error Description |
| status | String | Response status text |
| message | String | Response description. When code is 400 or 500, provides additional error details |
| data | String | Quiz card ID on successful response |
Java Request Example
For quick integration of basic code, please download the relevant dependency source code. Click here to download the source code. After downloading, add it to your own source project. The test cases include HttpUtil.java and LiveSignUtil.java in the downloaded file.
It is strongly recommended to use the Live Java SDK for API integration. The Live Java SDK provides unified packaging and optimization for API call logic, exception handling, data signing, and HTTP request thread pooling.
private static final Logger log = LoggerFactory.getLogger(LiveInteractionTest.class);
/**
* 新增修改频道答题卡
* @throws IOException
*/
@Test
public void testAddEditQuestion() throws IOException, NoSuchAlgorithmException {
//公共参数,填写自己的实际参数
String appId=super.appId;
String appSecret=super.appSecret;
String timestamp=String.valueOf(System.currentTimeMillis());
//业务参数
String channelId = "4760542";
String url = "https://api.polyv.net/live/v3/channel/interact/question/add-edit-question";
//http 调用逻辑
Map<String,String> requestMap = new HashMap<>();
requestMap.put("appId", appId);
requestMap.put("timestamp",timestamp);
requestMap.put("channelId",channelId);
requestMap.put("type", "R");
requestMap.put("answer", "A");
requestMap.put("name", "test");
requestMap.put("itemType", "0");
requestMap.put("option1", "正确");
requestMap.put("option2", "错误");
requestMap.put("sign", LiveSignUtil.getSign(requestMap, appSecret));
String response = HttpUtil.postFormBody(url, requestMap);
log.info("测试频道答题卡新增修改接口返回值:{}",response);
//do somethings
}
Response Example
For global error descriptions, see Global Error Description
Success Example
{
"code": 200,
"status": "success",
"message": "",
"data": "gv0l1fu5ox"
}
Error Example
{
"code": 400,
"status": "error",
"message": "invalid signature.",
"data": ""
}
