cping / pfdjk
Unified affiliate SDK for Taobao, JD, PDD, and VIP
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/cping/pfdjk
Requires
- php: >=7.4
- ext-curl: *
- ext-json: *
This package is auto-updated.
Last update: 2026-02-12 03:31:07 UTC
README
安装
composer require cping/pfdjk
快速开始
<?php require __DIR__ . '/vendor/autoload.php'; use Cping\Pfdjk\Client; $client = new Client([ 'taobao' => [ 'app_key' => 'your-app-key', 'app_secret' => 'your-app-secret', 'adzone_id' => 'your-adzone-id', 'site_id' => 'your-site-id', ], 'jd' => [ 'app_key' => 'your-app-key', 'app_secret' => 'your-app-secret', 'site_id' => 'your-site-id', 'position_id' => 'your-position-id', ], 'pdd' => [ 'client_id' => 'your-client-id', 'client_secret' => 'your-client-secret', 'pid' => 'your-pid', ], 'vip' => [ 'app_key' => 'your-app-key', 'app_secret' => 'your-app-secret', 'access_token' => 'your-access-token', ], ]); $result = $client->pdd()->searchGoods([ 'keyword' => '手机', 'page' => 1, 'page_size' => 20, 'with_coupon' => true, ]); var_dump($result);
统一能力范围
- 商品搜索:
searchGoods - 推广链接:
generatePromotionLink - 订单查询:
queryOrders - PID/推广位:
generatePid - 券信息:
queryCoupons - 商品详情:
getGoodsDetail - 推荐榜单:
getRecommendList - 渠道/会员:
getChannelInfo - 分类目录:
getCategories - 活动/频道:
getActivities - 转链解析:
convertLink - 短链生成:
generateShortLink - 口令生成:
generateCommand(Taobao only) - 二维码:
generateQrCode(PDD only) - 退款订单:
queryRefundOrders(VIP only) - 结算查询:
queryOrderSettlements(alias of queryOrders)
每个平台的方法名一致,返回统一结构:
[ 'success' => true/false, 'data' => mixed, 'raw' => array, 'error' => ['code' => int, 'message' => string] | null, ]
Normalized data fields:
- list-based: { list, total, page, page_size }
- detail: { item }
- link: { url, short_url, mobile_url, weapp_url, tpwd }
Required Params (Unified)
Note: These are SDK validation rules based on common usage. For full control, use Raw Mode.
Taobao
- searchGoods: keyword OR category_id
- generatePromotionLink: goods_id AND adzone_id (adzone_id can come from config)
- queryOrders: start_time AND end_time
- generatePid: site_id (can come from config)
- queryCoupons: goods_id OR activity_id
- getGoodsDetail: goods_id or goods_ids
- getRecommendList: goods_id
- getChannelInfo: channel_id OR special_id
JD
- searchGoods: keyword OR goods_id(s) OR cid1/cid2/cid3
- generatePromotionLink: material_id AND site_id (site_id can come from config)
- queryOrders: start_time AND end_time
- generatePid: site_id (can come from config)
- queryCoupons: keyword OR category_id OR goods_id
- getGoodsDetail: goods_id or goods_ids
- getChannelInfo: union_id OR key
PDD
- searchGoods: keyword OR category_id OR opt_id OR goods_id_list
- generatePromotionLink: pid AND goods_id_list (pid can come from config)
- queryOrders: start_time AND end_time
- queryCoupons: category_id OR range_list
- getGoodsDetail: goods_id_list
- getRecommendList: channel_type OR goods_id_list
- getChannelInfo: pid (can come from config)
VIP
- searchGoods: keyword
- generatePromotionLink: goods_id_list
- queryOrders: start_time AND end_time
- generatePid: name_list or pid_name_list
- queryCoupons: keyword
- getGoodsDetail: goods_id_list
- getRecommendList: channel_type
- getChannelInfo: pid_list
平台调用示例
$taobao = $client->taobao(); $jd = $client->jd(); $pdd = $client->pdd(); $vip = $client->vip(); $taobao->searchGoods(['keyword' => '连衣裙']); $jd->generatePromotionLink(['material_id' => 'https://item.jd.com/123.html']); $pdd->queryOrders(['start_time' => time() - 3600, 'end_time' => time()]); $vip->getRecommendList(['channel_type' => 1]);
原始接口模式
需要调用原始方法时,可以传入 raw_method / raw_params(唯品会需要 raw_service):
$client->pdd()->searchGoods([ 'raw_method' => 'pdd.ddk.goods.search', 'raw_params' => [ 'keyword' => '零食', 'page' => 1, 'page_size' => 10, ], ]); $client->vip()->getGoodsDetail([ 'raw_service' => 'com.vip.adp.api.open.service.UnionGoodsService', 'raw_method' => 'getByGoodsIds', 'raw_params' => [ 'goodsIdList' => [123456], 'requestId' => 'req-1', ], ]);
说明
- 不依赖任何框架,仅依赖 PHP 扩展
ext-json与ext-curl。 - 各平台参数字段略有差异,SDK 做了统一字段映射;需要精确字段时使用原始接口模式。
- 唯品会使用 OSP 网关签名规则进行签名,请确保
app_key/app_secret/access_token配置正确。