php接拼多多的多多进宝,实现淘客功能
在项目中有一个板块是接拼多多的多多进宝,实现多多客的功能,主要就是拉取商品列表,拉取商品详情,生成推广链接。
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,
我把他屏蔽了,这里如果是第一次使用接口的话需要备案一个账号,把这个参数打开,然后用自己打开这个链接,拼多多会自动弹出一个授权备案的页面,点击同意授权就行了,后面普通用户就不用了
