Submit Winning Information
Updated: 2024-11-22 10:24:39
API Description
1、提交中奖者填写的信息
2、只能成功保存一次观众中奖信息
3、中奖信息需在7天内提交保存,否则会失效
4、接口支持https协议
API URL
http://api.polyv.net/live/v4/channel/lottery/add-receive-info
Request Method
POST
API Constraints
- The API supports both HTTP and HTTPS. HTTPS is recommended to ensure interface security. API calls have frequency limits. Click for 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 within 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 not be stored 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 for response data. [See Signature Generation Rules] |
| channelId | true | String | Channel ID |
| lotteryId | true | String | Lottery session ID, obtained from Query Channel Winning Records |
| winnerCode | true | String | Winning code |
| viewerId | true | String | Winner ID |
| receiveInfo | false | Array | Custom field data, data type is JSON array[{"field":"姓名","value":"测试"},{"field":"手机","value":"13412345678"}] field: Field namevalue: Field value. If this parameter is passed, the name and telephone fields do not need to be passed (invalid) |
Example
http://api.polyv.net/live/v4/channel/lottery/add-receive-info
Request body parameters:
{
"channelId": "5030971",
"lotteryId": "h1wkrnlnvo",
"viewerId": "1731893115875",
"winnerCode": "rWZt3tE0",
"sessionId": "gzvceafnza",
"receiveInfo": "[{\"value\":\"123\",\"type\":\"userName\",\"field\":\"姓名\",\"tips\":\"请输入您的名称\",\"required\":true},{\"value\":\"13192916616\",\"type\":\"userPhone\",\"field\":\"手机\",\"tips\":\"请输入您的手机号码\",\"required\":true}]"
}
Response Parameter Description
| Parameter | Type | Description |
|---|---|---|
| code | Integer | Response status code, 200 for success, non-200 for failure [See Global Error Description] |
| status | String | Response status text |
| message | String | Response description, auxiliary error reason when code is 400 or 500 |
| data | String | Returns "Save successful" on success, empty on failure |
Java Request Example
For quick integration of basic code, please download the relevant dependency source code. Click to download source code. After downloading, add it to your own source code project. HttpUtil.java and LiveSignUtil.java in the test cases are included in the download file.
It is strongly recommended to use the Live Java SDK to complete API functionality integration. The Live Java SDK provides unified encapsulation and optimization for API call logic, exception handling, data signing, and HTTP request thread pools.
private static final Logger log = LoggerFactory.getLogger(LiveInteractionTest.class);
/**
* 提交中奖信息
* @throws IOException
*/
@Test
public void testAddReceiveInfo() throws IOException, NoSuchAlgorithmException {
//公共参数,填写自己的实际参数
String appId=super.appId;
String appSecret=super.appSecret;
String userId = super.userId;
String timestamp=String.valueOf(System.currentTimeMillis());
//业务参数
String channelId = "2191532";
String url = "http://api.polyv.net/live/v4/channel/lottery/add-receive-info";
//http 调用逻辑
Map<String,String> requestMap = new HashMap<>();
requestMap.put("appId", appId);
requestMap.put("timestamp",timestamp);
requestMap.put("channelId",channelId);
requestMap.put("sign",LiveSignUtil.getSign(requestMap, appSecret));
String json = "{"channelId":"5030971","lotteryId":"h1wkrnlnvo","viewerId":"1731893115875","winnerCode":"rWZt3tE0","sessionId":"gzvceafnza","receiveInfo":"[{\"value\":\"123\",\"type\":\"userName\",\"field\":\"姓名\",\"tips\":\"请输入您的名称\",\"required\":true},{\"value\":\"13192916616\",\"type\":\"userPhone\",\"field\":\"手机\",\"tips\":\"请输入您的手机号码\",\"required\":true}]"}";
String response = HttpUtil.postJsonBody(url, json,null);
log.info("测试提交中奖信息接口返回值:{}",response);
//do somethings
}
Response Example
For system global error descriptions, see Global Error Description
Success Example
{
"code": 200,
"status": "success",
"message": "",
"data": "保存成功"
}
Error Example
{
"code": 400,
"status": "error",
"message": "invalid signature.",
"data": ""
}
