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

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

陈杰9个月前 (09-24)PHP1614

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


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

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

相关文章

Lumen框架报错Cannot declare class Event, because the name is already in use

Lumen框架报错Cannot declare class Event, because the name is already in use

Lumen框架报错信息Cannot declare class Event, because the name is already in use(1/1) ErrorExceptionCa...

Laravel带条件查询多个count

Laravel带条件查询多个count

在一个数据表中,我们需要用到聚合函数count来查询符合条件的总数。举例一个场景:我们有一个帖子,这个帖子可以分别被好中差评,好中差评记录用一个单独的记录表来存储。如果用户点击好评,那么该帖子作者的经...

laravel跨库多态关联实战

laravel跨库多态关联实战

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

php对接支付宝转账到第三方接口实战

公司项目有一个用户钱包系统,用户创作的内容可以收到游客的打赏,当然就需要提现的接口了。最终选定的是支付宝转账接口,公司代收账户直接打款给用户绑定的支付宝账号,再也不用人工手动打款了。上代码准备好工具,...

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

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

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

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

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

发表评论

访客

看不清,换一张

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