# 合作方获取接口产品最低售卖价接口
# 简介
# 业务介绍
合作方通过本文档的接口根据传入的合作方编码、合作方产品编码查询接口产品最低售卖价。
# 交互方式
接口采用http实现交互,数据采用MD5方式加密。
# 接口定义
# 应用场景
支持传入的合作方编码、合作方产品编码查询合作方产品最低售卖价。
# 接口域名
环境 | 域名 |
---|---|
生产 | openapi.vip.iqiyi.com |
测试 | test-openapi.vip.iqiyi.com |
# URL
/partner/discount/getProductSalesInfo
# 请求方式
参数 | 说明 |
---|---|
Method | GET/POST |
Content-Type | application/x-www-form-urlencoded |
# 请求参数
序号 | 变量名 | 名称 | 是否必须 | 说明 |
---|---|---|---|---|
1 | partnerNo | 合作方编码 | 是 | String型,合作方的唯一标识 |
2 | parnterProducts | 合作方产品编码 | 是 | String型,多个逗号分隔 |
3 | sign | 签名串 | 是 | String型,MD5签名,签名方法见附录 |
# 返回结果
爱奇艺在收到合作方的查询合作方产品最低售卖价的请求后,应答合作方,内容为Json String 样例如下:
{
"code": "A00000", # A00000代表成功,其他为错误码见附录(String型)
"msg": "处理成功", #成功填”处理成功”,其他情况填写具体的错误信息(String型)
"data": [{
"parnterProduct": "abc", #合作方产品编码
"minSalesPrice": 1000, #最低售卖价,单位:分(int)
"partnerNo": "a1", #合作方编码(String)
"resDesc": "成功" #合作方产品优惠价格 单位:分(String)
}]
}
# 附录
# 返回码定义
返回码code | 描述 | 备注 |
---|---|---|
A00000 | 成功 | |
Q00301 | 参数错误(如合作方编号为空,合作方用户为空等) | |
Q00307 | 签名错误 | |
Q00332 | 系统错误 |
# 签名方法
采用MD5计算签名,MD5秘钥值由爱奇艺提供,具体计算方法如下: 1、 假设共有三个参数 a=3、b=2、c=1; 2、 按参数名的字母正序排列,再用“&”连接后得到串A,即为“a=3&b=2&c=1”; 3、 将MD5秘钥值拼接到串A后面,假设MD5秘钥值为“qwer”,则拼接后为“a=3&b=2&c=1qwer”; 4、 计算拼接串的MD5即为最终签名值,注意使用UTF-8编码计算。 举例: 参数:a=3、b=2、c=1; pubkey:qwer 最终签名串:f80118ff523f25eda67cb799bdc9c52d
# JAVA版本示例代码如下:
import com.google.common.base.Joiner;
import org.apache.commons.lang.StringUtils;
import org.junit.Test;
import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
/**
* MD5签名测试类
*
* @author zdg
* @date 2019/4/16 9:39
*/
public class Md5Test {
@Test
public void testSign() {
TreeMap<String, Object> paramMap = new TreeMap<>();
paramMap.put("a", "3");
paramMap.put("b", "2");
paramMap.put("c", "1");
String md5key = "qwer";
String targetParam = Joiner.on("&").withKeyValueSeparator("=")
.useForNull("").join(paramMap);
// MD5签名工具类,可以自己实现, MD5实现参照
String targetSign = EncodeUtils.MD5(targetParam + md5key, "UTF-8");
System.out.println("targetSign: " + targetSign);
}
}
# 在线测试
点击此处进行接口调试