让代码更简单

PHP使用京东联盟API转链获取推广链接

重要:本文最后更新于2020-10-25 08:34:48,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

之前写了个简易版本的淘宝客插件,用户还不少,可能是因为免费的缘故。使用过的都知道为什么称之为简易版的,为了提高效率,最近受到一位客户启发,打算使用各联盟的搜索功能来动态生成推广信息,免去推广过期以及更换信息的麻烦,并且本次更新将接入京东的推广,想要使用本插件的用户,可以提前去京东联盟申请开通账号了,免得到时候没有权限调用api。

好了,回归本文,本文是在写插件时的一些知识记录,了解我的人会发现我每次写东西都会发布一些相关教程,算是预热吧。

京东联盟注册地址:https://union.jd.com

注册好后申请推广,站长申请后如下图所示,必须拿到联盟ID、站点ID、appkey、secretkey这四个东西在调用官方接口的时候会用到。

PHP使用京东联盟API转链获取推广链接

PHP使用京东联盟API转链获取推广链接

京东推广链接转换api文档地址:https://union.jd.com/openplatform/api/10421

由于京东的文档比较散,我写了个简单demo给大家参考。

复制
//https://www.daimadog.org/6915.html
//京东联盟api签名
function sign_method($method,$data=array(),$secretkey){
date_default_timezone_set("PRC");
$sign_method = array(
'app_key'=> '你的appkey',
'timestamp'=> date('Y-m-d H:i:s'),
'format' => 'json',
'method' => $method,
'v' => '1.0',
'sign_method'=>'md5',
);
$sign_method = array_merge($sign_method,$data);
ksort($sign_method);
$data = $secretkey;
foreach ($sign_method as $key => $value) {
$data .= trim($key) .trim($value);
}
$data .= $secretkey;
$sign_method['sign'] = strtoupper(md5($data));
return $sign_method;
}

其签名方法与腾讯的微信支付签名及其相似,详见:微信支付PHP开发教程二签名算法

京东联盟api推广链接转链,接上面的代码

复制
//https://www.daimadog.org/6915.html
//京东联盟api推广转链
function gettgurl($tgurl){
$url='https://router.jd.com/api';
$method='jd.union.open.promotion.common.get';
$secretkey='你的secretkey';
$param = array();
$data['promotionCodeReq'] = array('materialId'=>$tgurl,'siteId'=>'你的站点ID'); 
$param['param_json'] = json_encode($data);
$GoodsList = sign_method($method,$param,$secretkey);
$GoodsList = curl_post('https://router.jd.com/api', $GoodsList);
$GoodsList = json_decode($GoodsList);
$tgurl=json_decode($GoodsList->jd_union_open_promotion_common_get_response->result)->data->clickURL;
return $tgurl;
}

简单使用

复制
echo gettgurl('https://item.jd.com/100010572322.html');

直接传入推广商品的链接即可,注意:推广的商品必须参与推广计划才能成功转链,否则返回空数据!

感觉很棒!可以赞赏支持我哟~

3 打赏

评论 (2)

登录后评论
把代码放到哪里呢 functions.php文件下吗?求打包成插件样式!!
感谢分享
QQ咨询 邮件咨询 狗哥推荐