在调用接口之前,先要取得授权,这个看看接口文档就可以了。地址如下:https://oss.qiaqa.com/article/2022/09/03/1327
在京东云控制台:https://oss.qiaqa.com/article/2022/09/03/1328
“新建应用”获得调用接口的通用参数(App key/client_id、App secret/client_secret、Access_token)。
授权有效期说明:如果应用appkey状态为“在线测试”,授权token有效期只有24小时
,“上线运行”状态的应用授权token有效期为一年
。另如果是通用应用,需要先发布到服务市场,审核通过后方可授权获取token。
注意:如授权商家修改主账号密码则授权码(Access token)随之失效,需重新授权。
另需在京东联盟:
推广管理-》网站管理,添加新网站 获得例如“获取单条推广代码”之类的API所需的web ID。如需app调用,则需要在推广管理-》APP管理 添加一个APP,以获得app相关接口所需要的appId 。
备案通过后的网站,通过京东审核,一般需要3-5个工作日。
准备好以上应用级参数后,便可以调用京东联盟API了,接口文档地址:https://oss.qiaqa.com/article/2022/09/03/1329
开发之前可以先用”API测试工具“测试一下。获取推广商品信息接口测试地址:https://oss.qiaqa.com/article/2022/09/03/1330
下图是批量获取推广代码的接口测试结果:
比较坑爹的是 获取单条推广代码 的接口
推广类型有好多个,但是目前只支持”自定义推广“!物料ID的注释很多,但是就是不说明自定义推广类型的物料ID怎么填!实际上,物料ID要填商品的访问地址。
推广渠道为PC时,要写诸如https://oss.qiaqa.com/article/2022/09/03/1331
php代码如下:
class jd { public static $appKey = ''; public static $appSecret = ''; public static $access_token = ''; const URL = 'https://oss.qiaqa.com/article/2022/09/03/1332 /* 发送GET请求,跳过ssl证书检测 */ function curl_get($url){ $ch = curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // https请求 不验证证书和hosts curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 要求结果为字符串且输出到屏幕上 curl_setopt($ch, CURLOPT_HEADER, 0); // 不要http header 加快效率 curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)'); curl_setopt($ch, CURLOPT_TIMEOUT, 15); $output = curl_exec($ch); curl_close($ch); return $output; } //设置参数 function setParameter($specialParameter){ $time = date('Y-m-d H:i:s', time()); $publicParameter = array( 'access_token' => static::$access_token, 'app_key' => static::$appKey, 'v' => '2.0', 'timestamp' => $time, ); $params = array_merge($publicParameter, $specialParameter); $sign = self::getStringToSign($params); $parameter = array_merge($params, ['sign'=>$sign]); ksort($parameter); $str = ''; foreach($parameter as $key => $value){ $str .= urlencode($key) . '=' . urlencode($value) . '&'; } return $str; } //生成签名 function getStringToSign($parameter){ ksort($parameter); $str = ''; foreach($parameter as $key => $value){ $str .= urlencode($key) . urlencode($value); } $str = static::$appSecret . $str . static::$appSecret; $signature = strtoupper(md5($str)); return $signature; } //获取推广商品信息 public function getGoodsInfo($skuId){ $specialParameter = [ 'method' => 'jingdong.service.promotion.goodsInfo', '360buy_param_json' => json_encode([ 'skuIds' => $skuId ]) ]; $str = self::setParameter($specialParameter); $url = self::URL.$str; return json_decode(self::curl_get($url)); } }
返回的数据格式为:
object(stdClass)#59 (1) {
["jingdong_service_promotion_goodsInfo_responce"]=>
object(stdClass)#60 (2) {
["code"]=>
string(1) "0"
["getpromotioninfo_result"]=>
string(499) "{
"message":"接口成功js",
"result":[{
"commisionRatioPc":0.60,
"commisionRatioWl":0.60,
"endDate":4102416000000,
"goodsName":"联想(ThinkPad )轻薄系列E450(20DCA082CD)14英寸笔记本电脑 (i5-5200U 4G 500G 2G独显 win10)",
"imgUrl":"http://img14.360buyimg.com/javascriptn1/jfs/t3025/299/208536801/248419/ef1e3b38/579729e0N1e605005.jpg",
"materialUrl":"https://oss.qiaqa.com/article/2022/09/03/1333
"shopId":1000000158,
"skuId":2346382,
"startDate":1475251200000,
"unitPrice":3999.0,
"wlUnitPrice":3999
}],
"sucessed":true}"
}
}
到此这篇关于PHP调用京东联盟API的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。
相关文章
本站已关闭游客评论,请登录或者注册后再评论吧~