PHPackages                             mylarge/cpssdk - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. mylarge/cpssdk

ActiveLibrary

mylarge/cpssdk
==============

cps联盟sdk

00PHP

Since Jul 19Pushed 3y ago1 watchersCompare

[ Source](https://github.com/mylage/cpssdk)[ Packagist](https://packagist.org/packages/mylarge/cpssdk)[ RSS](/packages/mylarge-cpssdk/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

联盟对接sdk
=======

[](#联盟对接sdk)

- [联盟对接sdk](#%E8%81%94%E7%9B%9F%E5%AF%B9%E6%8E%A5sdk)
    - [SDK规范](#sdk%E8%A7%84%E8%8C%83)
    - [接口调用示例](#%E6%8E%A5%E5%8F%A3%E8%B0%83%E7%94%A8%E7%A4%BA%E4%BE%8B)
    - [命令行工具](#%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7)
        - [拼多多文档](#%E6%8B%BC%E5%A4%9A%E5%A4%9A%E6%96%87%E6%A1%A3)
        - [京东文档](#%E4%BA%AC%E4%B8%9C%E6%96%87%E6%A1%A3)

> 禁止把平台的sdk，直接全部复制进来,所有类必须整理为符合psr4加载规范的要求

SDK规范
-----

[](#sdk规范)

> 此sdk包为各项目独立引用包，不要在里面写默认配置, 类似site('xxx\_app\_key')等。

- 接口添加完后要至少加一个单元测试,做为用法示例
- 各平台的类名字或命名空间，为了跟其它原有项目中做区分，使用全拼， ，比如 京东 命名使用 jingdong
- 各平台客户端要继承 **Mylarge\\UnionSdk\\SdkClient** 抽象类，实现里面的execute方法，用到http请求的使用继承的方法post,get，满足不了的可直接使用GuzzleHttp包提供的方法,
- 一个接口对应一个请求类，同样要继承**Mylarge\\UnionSdk\\Request**类，满足不了的可自定义一个基类，可参考其它平台对接示例
- 各平台涉及到**appKey,key,appid,appSecret,client\_id,client\_secret accessToken,sessionKey**等，统一为 **appKey,appSecret,accessToken,[options](%E5%85%B6%E5%AE%83%E9%A1%B9)**
- 客户端实例化时传入**appKey,appSecret,options**,全为非必传，扩展配置可使用**options**传入，详细处理逻辑可看**Mylarge\\UnionSdk\\SdkClient**构造方法

接口调用示例
------

[](#接口调用示例)

接口调用封装成统一的调用流程(视情况而定),如下，构造函数接收三个入参，第三个入参为数组，且可覆盖类成员属性(扩展用)

```
// 创建联盟客户端
$client=JingdongClient::getInstance(self::$jdAppKey, self::$jdAppSecret,[]);
// 创建接口请求对象
$request = new UnionOpenStatisticsRedpacketQueryRequest();
// 设置对应的入参
$request->setKey('abcd');
// 执行请求返回结果
$response = $client->execute($request,self::$jdAccessToken);
```

execute 执行完成返回的数据是预期结果则正常返回数组,非预期则抛异常UnionException ，错误信息和数据可加入异常类中来获取

> 注意这里并不要求成功返回code为0，错误非0，主要用于发现联盟返回的未知的异常信息，视具体的业务逻辑而定

```
  throw UnionException::build('联盟数据为空',1,['data'=>'aaaa']);
```

一个接口处理完成后，除了抛出 **ParamException/UnionException** 外，应该返回正常的结果(一个数组)

命令行工具
-----

[](#命令行工具)

如果安装为其它项目依赖之后可用下面命令生成或查看 尽量到本项目根目录下生成需要的接口请求类,然后打版本,更新sdk包时都可使用

```
php ./vendor/bin/sdk

```

本项目使用

```
php sdk
```

查看指定平台的帮助详情

```
php sdk pdd -h
```

下面是已经支持自动生成sdk的平台命令行

### 拼多多文档

[](#拼多多文档)

文档地址：
生成工具只是按默认规则把官方文档相关数据给下载下来，生成一个请求类，还需人工检查测试参数必填项，返回值等

如果不存在则不会生成

```
php sdk pdd pdd.ddk.oauth.goods.search
```

强制覆盖生成

```
php sdk pdd pdd.ddk.oauth.goods.search -f=1
```

### 京东文档

[](#京东文档)

文档地址
生成工具只是按默认规则把官方文档相关数据给下载下来，生成一个请求类，最后还需人工测试参数必填项，返回值等

如果不存在则不会生成

```
php sdk jd jd.union.open.goods.bigfield.query
```

强制覆盖生成

```
php sdk jd jd.union.open.goods.bigfield.query -f=1
```

###  Health Score

14

—

LowBetter than 2% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity0

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity25

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/5b4a5843d625b4ee39e566664e8a5e77651985f9123a54e47b24ab7f7d27c3ea?d=identicon)[mylage](/maintainers/mylage)

---

Top Contributors

[![mylage](https://avatars.githubusercontent.com/u/33479264?v=4)](https://github.com/mylage "mylage (2 commits)")

### Embed Badge

![Health badge](/badges/mylarge-cpssdk/health.svg)

```
[![Health](https://phpackages.com/badges/mylarge-cpssdk/health.svg)](https://phpackages.com/packages/mylarge-cpssdk)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
