当前位置:首页 > PHP > 正文内容

php接拼多多的多多进宝,实现淘客功能

陈杰2个月前 (09-24)PHP244

在项目中有一个板块是接拼多多的多多进宝,实现多多客的功能,主要就是拉取商品列表,拉取商品详情,生成推广链接。


composer require justmd5/duoduoke-sdk


加载一下用到的sdk。


生成拼多多需要用到的config配置文件并new DuoDuoke()


use Justmd5\DuoDuoKe\DuoDuoKe;


命名空间


private function get_pdd_config()
{
   $config   = ConfigModel::get_config();
   $config   = ["key" => $config["pdd_appid"], "secret" => $config["pdd_appkey"], "debug" => true];
   $duoduoke = new DuoDuoKe($config);
   return $duoduoke;
}

商品列表的代码,附带一个商品搜索。有keyword参数就是有搜索条件,很好理解。

/**
* 拼多多商品列表
*/
public function shop_list_pdd(Request $request)
{
   $id      = (int)$request->input("id");
   $keyword = trim($request->input("keyword"));
   if ($keyword and $keyword != '') {
       //商品搜索
       $duoduoke = $this->get_pdd_config();
       $params   = [
           "keyword"             => $keyword,
           "pid"                 => "24830338_218851528",//22665395_214250951
           "custom_parameters"   => '{"uid":"1","uid2":' . $request->get("uid") . '}',
           "page"                => intval($request->get("offset") / $request->get("count") + 1),
           "page_size"           => 20
       ];

       $data = $duoduoke->request("pdd.ddk.goods.search", $params);
       if (isset($data["goods_search_response"]))
           return self::returnMsg($data["goods_search_response"]["goods_list"]);
       else
           return self::errorMsg("没有找到此类商品");
   }
   $cate = ShopCateModel::get_by_id($id);
   if (isset($cate)) {
       $duoduoke = $this->get_pdd_config();

       if ($cate["tag"] == "channel_type") {
           $params = ["channel_type" => $cate["cate_id"], "offset" => $request->get("offset")];
       } else {
           $params = ["activity_tags" => [$cate["cate_id"]], "offset" => $request->get("offset")];
       }
       $data = $duoduoke->request("pdd.ddk.goods.recommend.get", $params);
       if (isset($data["goods_basic_detail_response"])) {
           return self::returnMsg($data["goods_basic_detail_response"]["list"]);
       }
       return self::errorMsg("发生了错误");
   }
   return self::errorMsg("没有找到该分类");
}


商品详情的接口

public function shop_detail_pdd(Request $request)
{
   $id       = $request->input("id");
   $duoduoke = $this->get_pdd_config();
   $data     = $duoduoke->request("pdd.ddk.goods.detail", ["goods_sign" => $id]);
   if (isset($data["goods_detail_response"]))
       return self::returnMsg($data["goods_detail_response"]["goods_details"][0]);
   return self::errorMsg("没有找到该商品");
}



购买商品,生成推广链接的接口

  public function shop_buy_pdd(Request $request)
   {
       $id       = $request->input("id");
       $duoduoke = $this->get_pdd_config();

       $data = $duoduoke->request("pdd.ddk.goods.promotion.url.generate", [
               //pdd推广位
               "p_id"                => "24830338_218851528",//22665395_214250951
               "generate_schema_url" => true,
//                "generate_authority_url" => true,
               "goods_sign_list"     => [$id],
               "custom_parameters"   => '{"uid":"1","uid2":' . $request->get("uid") . '}'
           ]
       );

       if (isset($data["goods_promotion_url_generate_response"])) {
           return self::returnMsg($data["goods_promotion_url_generate_response"]["goods_promotion_url_list"][0]);
       }
       return self::errorMsg("生成优惠口令错误");
   }


注意有一个

//                "generate_authority_url" => true,

我把他屏蔽了,这里如果是第一次使用接口的话需要备案一个账号,把这个参数打开,然后用自己打开这个链接,拼多多会自动弹出一个授权备案的页面,点击同意授权就行了,后面普通用户就不用了


image.png

扫描二维码至手机访问

扫描二维码推送至手机访问。

版权声明:本文由何烦过虎溪发布,如需转载请注明出处。

转载请注明出处:http://95shouyou.com/?id=46

标签: 多多进宝
分享给朋友:

相关文章

laravel跨库多态关联实战

laravel跨库多态关联实战

点赞记录表做了分库分表,位于副库里面表结构该点赞表关联了8个不同的表,因为业务原因,评论回复表有四个板块,所以做了4个评论记录表,4个回复记录表,且结构有细微不同。目标是用户获得被点赞记录,根据不同的...

七牛云删除文件和批量删除文件

在项目中因为用到了七牛云的对象存储,价格公道,也降低我们的项目维护成本。但是在实际使用过程中,例如用户换了头像我们就需要删除用户之前的头像,以降低我们的存储成本。所以研究了一下七牛云的删除单个文件和批...

laravel实现微信公众号授权登录实战

微信公众号授权登录实战框架:laravel依赖:overtrue/wechat首先安装一下easywechat依赖composer require overtrue/wechat:...

通过supervisor管理laravel的queue队列

通过supervisor管理laravel的queue队列

配置文件[program:queue]command=php artisan queue:work redis --tries=3 --delay=3directory=/www/wwwroot/sh...

lavel对接个推别名推送

lavel对接个推别名推送

新项目采用uniapp开发,需要用到推送功能,之前接过极光,其中的一些坑都踩过了,但是unipush用的是个推的推送,那就只有重写踩坑了。composer  require&nbs...

利用workerman实现webrtc实时音视频通话

利用workerman实现webrtc实时音视频通话

实现原理利用workerman的websocket实现实时消息传递。webrtc自带p2p功能,利用STUN中继服务器实现webrtc实时音视频看看我们的前端文件,只是一个单页面<html>...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。