接入淘宝客+拼多多(多多客)+京东进行优惠券推广

记录:

开发配置:java、jdk1.8、idea、springboot、windows

一、拼多多

1、进入拼多多开放平台 http://open.pinduoduo.com/#/index 注册为开发者

2、进入控制台,创建一个应用,选择多多客联盟(也可选择其它),等待审核通过。

3、审核通过之后能够拿到client_id和client_secret

4、(PS:因我本地maven没安装,因此只能用线上)在pom.xml中引入配置

<dependency>
            <groupId>javax.websocket</groupId>
            <artifactId>javax.websocket-client-api</artifactId>
            <version>1.0</version>
        </dependency>
 
        <dependency>
            <groupId>org.glassfish.tyrus.bundles</groupId>
            <artifactId>tyrus-standalone-client</artifactId>
            <version>1.13.1</version>
        </dependency>
 
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.9.6</version>
        </dependency>
 
        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.10</version>
        </dependency>
 
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.11.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>2.11.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-slf4j-impl</artifactId>
            <version>2.11.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.5.3</version>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.5</version>
        </dependency>
 
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.8.11</version>
        </dependency>
具体配置可以参考  拼多多开发者文档->sdk指南,有明确标识有哪些jar包 

然后先点击某个api,拉到最下面点击api工具测试,先测试是否可用(有的没有权限,需要申请)

最后在控制器里面进行测试调用:拼多多是post请求,并且有签名。看官网的教程是有类的,可以直接set设置值,但不知道为啥引入jar包之后还是不能用。就只能手动拼接

1、生成签名,签名的规则在sdk指南中有明确说明,对于数据进行首字母排序,并在数据的首尾加上client_secret

      我个人用了两种方式:第一,最原始的,自己看有哪些参数,然后一个一个拼接。

//拼接签名
String signD = pddUtil.client_secret +"client_id"+ pddUtil.client_id + "data_typeJSON"
 + "sort_type0" +"timestamp"+timestamp+ "typepdd.ddk.goods.search"
                + "with_coupontrue"+pddUtil.client_secret;
 
        //生成签名
        String encode = MD5Util.encode(signD);
第二种采用map,然后转为string

//获得时间戳(10位)
long timeStampSec = System.currentTimeMillis()/1000;
String timestamp = String.format("%010d", timeStampSec);
 
//设置参数
Map<String, String> map = new TreeMap();
map.put("type", "pdd.ddk.goods.search");
map.put("data_type", "JSON");
map.put("timestamp", timestamp);
map.put("client_id", pddUtil.client_id);
map.put("sort_type", "0");
map.put("with_coupon", "true");
 
//转换数据为String
StringBuilder sb = new StringBuilder(pddUtil.client_secret);//应规则首尾加上client_secret
 
for (Map.Entry entry : map.entrySet()) {
    String name = (String) entry.getKey();
    String value = (String) entry.getValue();
 
    //检测参数是否为空
    if (this.areNotEmpty(new String[]{name, value})) {
        sb.append(name).append(value);
    }
}
sb.append(pddUtil.client_secret);//应规则首尾加上client_secret
 
//进行签名
String sign = MD5Util.encode(sb.toString());
 
//验证是否为空
public static boolean areNotEmpty(String[] values) {
    boolean result = true;
    if ((values == null) || (values.length == 0))
        result = false;
    else {
        for (String value : values) {
            result &= !isEmpty(value);
        }
    }
    return result;
}
2、发送请求,正式请求地址:https://gw-api.pinduoduo.com/api/router

//post参数
String param = "type=pdd.ddk.goods.search&data_type=JSON&timestamp="+
           timestamp +"&client_id="+pddUtil.client_id+
           "&sort_type=0&with_coupon=true&opt_id"+id+"&sign="+encode;
 
//发起请求
String s = api.sendPost(pddUtil.getURL(), param);
 
//打印结果
return s;
结果:到此拼多多结束
最后记录,推广采用优惠券,调用接口为:1、pdd.ddk.goods.search 2、pdd.ddk.goods.promotion.url.generate即可最后结果为 拼多多接口有返回数据,对应的可以拉起拼多多或者就网页等可以自行选择

做了工具类,经过工具类就可以直接这样:

不需要去自己拼接,不需要注意参数的顺序,工具类已经上传。

PS:若是注册的多多客,应用是多多客(即我文章这种,当你应用审核通过之后拿到了client_id以后,需要到http://jinbao.pinduoduo.com/  多多进宝去绑定client_id)否则没有权限调用API

 

二、淘宝

1、进入  淘宝开发者平台 http://open.taobao.com/  进行开发者注册

2、进入创建应用,创建成功能够得到appkey和appsecret

3、下载sdk,进入控制台,进入其中一个应用的SDK下载页面,选择自己语言的sdk下载

4、Java下载出来就俩jar包加上一个空文件夹 进行引用

       

<dependency>
            <groupId>com.taobao</groupId>
            <artifactId>taobao-sdk-java-auto_1468685308771</artifactId>
            <version>20181109</version>
        </dependency>
        <dependency>
            <groupId>com.taobao</groupId>
            <artifactId>taobao-sdk-java-auto_1468685308771-20181109</artifactId>
            <version>source</version>
        </dependency>
具体怎么引入可以百度maven怎么引入外部jar包(我这里大概说下1、pom.xml中配置好,名字随便取,只要<artifactId>taobao-sdk-java-auto_1468685308771-20181109</artifactId>这里和jar包名字一样即可。2、写好之后点击Import Changes就会自动生成对应的文件夹还会有几个几kb的文件。3、找到.m2文件夹,然后跟着顺序找到<version>source</version>这个文件夹,把jar包复制进去即可 例如:C:\Users\Administrator\.m2\repository\com\taobao\taobao-sdk-java-auto_1468685308771-20181109\source) 

5、查看 淘宝客api 进行调用(看看调用以及示例)淘宝只要引入了jar包就可以直接使用对象方便快捷。

结果:

//构建系统参数
TaobaoClient client = new DefaultTaobaoClient(url, appkey, appsecret);
 
//构建可变参数
TbkDgItemCouponGetRequest req = new TbkDgItemCouponGetRequest();
req.setAdzoneId(56322550367L);
req.setQ(name);
req.setPageSize(20L);
 
//实例化请求类
TbkDgItemCouponGetResponse response = new TbkDgItemCouponGetResponse();
try {
     //请求
     response = client.execute(req);
} catch (ApiException e) {
     e.printStackTrace();
}
//打印结果
return response.getResults();
 通过swagger查看页面效果:

若是优惠券需要:1、taobao.tbk.item.get(商品查询接口) 2、taobao.tbk.dg.item.coupon.get  在进行一点匹配,判断操作即可

结果:   
PS:若是要区分天猫或者淘宝,判断    user_type     Number    1      卖家类型,0表示集市,1表示商城

PS:对于淘宝的商品详情

 第一种采用爬取,根据接口返回的详情页转换为h5手机页面,然后爬取图片。

第二种是采用第三方,如大淘客啥的等通过第三方平台查询(数据没那么同步,有的查询不到)。

第三种采用接口,淘宝接口查询详情。

到此淘宝结束

 

三、京东

1、进入京东联盟 https://media.jd.com

2、创建 应用(根据需要是网站还是app)

3、审核通过(7个工作日)之后,在推广管理里面找到你的app或者网站,点击查看,获得appkey和secretkey

4、下载sdk(这里有个坑,京东联盟里面死都找不到进入sdk的路径最后问的客服>_<)https://news.jd.com/153_1.html 下载下来就一个jar包

5、项目引入sdk

<dependency>
     <groupId>com.jingdong</groupId>
     <artifactId>jd-cps-client</artifactId>
     <version>1.0</version>
</dependency>
6、若没有引用好,就如上面的拼多多,那就只能自己拼接写原生

public Object test(){
        //设置参数
        Map<String, String> map = new TreeMap();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//时间格式
        map.put("timestamp", sdf.format(new Date()));
        map.put("v", "1.0");
        map.put("sign_method", "md5");
        map.put("format", "json");
        map.put("method", "jd.union.open.order.query");
        //param_json为空的时候需要写成 "{}"
        map.put("param_json", "{\"orderReq\":{\"time\":\"20181112\",\"pageNo\":1,\"pageSize\":20,\"type\":1}}");
        map.put("access_token", accessToken);
        map.put("app_key", appKey);
        
        StringBuilder sb = new StringBuilder(appSecret);//应规则首尾加上appSecret
        for (Map.Entry entry : map.entrySet()) {
            String name = (String) entry.getKey();
            String value = (String) entry.getValue();
            //检测参数是否为空
            if (this.areNotEmpty(new String[]{name, value})) {
                sb.append(name).append(value);
            }
        }
        sb.append(appSecret);//应规则首尾加上appSecret
    
        //生成签名
        String encode = MD5Util.encode(sb.toString());
 
        //拼接请求参数
        String prarm = "sign="+encode+"&timestamp="+map.get("timestamp")+"&v=1.0"+
                "&sign_method=md5&format=json&method=jd.union.open.order.query"+
                "&param_json={\"orderReq\":{\"time\":\"20181112\",\"pageNo\":1,\"pageSize\":20,\"type\":1}}"+
                "&access_token="+accessToken+"&app_key="+appKey;
        
        String s = api.sendPost(SERVER_URL, prarm);//发送post请求
 
        //打印
        return s;
    }
若引用上了,则可以使用类

public Object test2(){
        //构建系统参数
        JdClient client=new DefaultJdClient(SERVER_URL,accessToken,appKey,appSecret);
 
        //实例化封装请求参数类
        UnionOpenOrderQueryRequest unionOpenOrderQueryRequest = new UnionOpenOrderQueryRequest();
 
        //设置变动参数
        OrderReq orderReq = new OrderReq();
        orderReq.setPageNo(1);
        orderReq.setPageSize(3);
        orderReq.setType(1);
        orderReq.setTime("2018092018");
 
        //封装
        unionOpenOrderQueryRequest.setOrderReq(orderReq);
 
        //请求
        UnionOpenOrderQueryResponse response = null;
        try {
            response= client.execute(unionOpenOrderQueryRequest);
        } catch (JdException e) {
            e.printStackTrace();
        }
        //打印结果
        return response;
    }
若生成优惠券~~~~~~~~~~还需要申请权限。。麻烦,后面在发

 

京东开始只能采取嵌入广告的形式,等订单量起来了,才能申请权限。具体京东开放平台有写,就是获取京东的代码放到自己的app或者网站里面,达到推广的效果。
--------------------- 
作者:pan_y95 
来源:CSDN 
原文:https://blog.csdn.net/pan_y95/article/details/84106871 
版权声明:本文为博主原创文章,转载请附上博文链接!

多多淘宝客7.4最新版 本人从淘宝30大洋买的 耐心查看此说明(文字版看不懂的新手对着里面的图文教程,旺旺上问我,我表白不比这文字教程。图文教程更相信,更直观的了) 1.用帝国数据库还原系统还原数据库(有人一看就问:“老兄,怎么是帝国的啊 ,答,这个是帝国数据库备份还原系统,是一个数据库工具,还原后可以删除DIGUO这个文件夹”) 访问:http://你的域名/diguo/ 运行帝国数据库还原系统,用户名 admin 密码123456 ((有些买家不知道上面的你的域名是什么意思,如果你本地测试 地址是:http://127.0.0.1/diguo/ 如果你自己域名是www.abc.com 那就是http://www.abc.com/diguo/)) 进去后先设置下你的MYSQL密码,在恢复数据库,恢复数据库点击选择目录,选择a0525106_20120610084539 在选择你自己的要导入的数据库名,点下面的开始恢复,直到提示:恢复数据库成功 才算完成这一步 这里如果出问题的,比如保存密码明明提示成功了,点恢复数据库却还是回到设置页面,那往往是这文件夹没有写入权限,可以设置下写入权限 2.修改数据库连接文件上传覆盖 打开comm目录下的conn.php文件(最好用Dreamweaver或EditPlus打开为好,千万不要用记事本打开编辑,记事本打开格式没了 会出现乱码,首页后台空白等现象,这里如果不懂的看文件夹里截图) 修改自己的数据名和密码,记事本打开会乱码 $dbuser="root"; root 改成你的数据库用户名 $dbpass="ffffff"; fffffff改成你的数据库密码 $dbname="aaaa"; aaaa改成你的数据库名 3.两步做好才能浏览首页和进入后台(前面两步没做好首页是数据库无法连接或空白,后台提示密码无法登陆,有些心急的想问为什么后台不能登陆的,请先耐心设置前面两步) http://你的域名/admin/login.php 用户名 admin 密码 admin888 登陆后,点开左侧导航的网站常规管理,分别修改网站设置里和导航管理两个地方 ,把http://localhost 改成你自己的域名,本地调试的就不用改 (此处没修改好,就要旺旺来问我为什么栏目导航打不开的请耐心设置) 常见问题1:很多用户很心急,老问“为什么登陆不了后台啊?密码不对啊”之类的话 解答:如果你也是这样,那请先设置好上两步才登陆了,必须设置好前面两步才能登陆后台和浏览首页 常见问题2:为什么图片不显示? 先看自己空间支付伪静态不,如果不支持后台关闭伪静态功能,如果支持伪静态功能,还没设置的话,把压缩包里的伪静态规则发给空间商或自己设置,这个是主机问题 主机不支持伪静态或者伪静态规则没有加载却后台开启了伪静态的会导致页面打不开,404错误,这个可以把伪静态开关关了,或者要空间商加载伪静态(有些新手打算埋怨,为什么首页的帮助说明都是死链接啊,都打不开啊,请耐心设置或学学) 淘宝客管理,淘宝客设置里,前面3个改成自己的,pid查看方法:用后台填写的旺旺号登陆alimama.com后台查看,淘宝联盟里的实名验证必须和旺旺号的实名验证是一样的,要不你就是给别人赚钱了,或者你会发现,要问为什么不是我的PID啊 (有些新手或没耐心的买家会问为什么浏览器上显示的PID不是我的啊,就是这个原因) 伪静态化的LINUX主机 上传到跟目录,WINDOWS虚拟主机 发给空间商设置,VPS和独立服务器的自己登陆服务器设置 使用有什么问题旺旺联系 此安装包适合全新安装,店主平常也很忙,希望大家体谅,写这个安装说明已经很详细了,懂的人1分钟安装好,如果你不太熟悉,以前没操作过,请仔细阅读安装说明 实在不会了,请把你安装网址和FTP给我,我替你安装,其他程序使用问题,登陆后台后怎么设置旁边都有帮助说明,点击进去能看到详细说明 相同的问题会被问N次,因此我把常见的一些新手问的,都写下来了,新手朋友请耐心看安装说明,安装好后别忘了给本店一个5星好评哦,呵呵!本店会赠送些推广教程 最后祝愿大家淘宝客多多赚钱,呵呵
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值