PHPackages                             youzanyun/open-sdk - 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. youzanyun/open-sdk

ActiveLibrary

youzanyun/open-sdk
==================

有赞云服务端SDK

2.0.32(3y ago)55140.9k↓42.2%13[2 PRs](https://github.com/youzan/open-sdk-php/pulls)4MITPHP

Since Mar 21Pushed 3y ago6 watchersCompare

[ Source](https://github.com/youzan/open-sdk-php)[ Packagist](https://packagist.org/packages/youzanyun/open-sdk)[ Docs](https://github.com/youzan/open-sdk-php)[ RSS](/packages/youzanyun-open-sdk/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (1)Versions (42)Used By (4)

open-sdk-php
============

[](#open-sdk-php)

[![Latest Version on Packagist](https://camo.githubusercontent.com/6fd5a78a682036057d5c5ebcc9f647f83927787606816352437b54cb56f96b79/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f796f757a616e79756e2f6f70656e2d73646b2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/youzanyun/open-sdk)[![Software License](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE.md)[![Total Downloads](https://camo.githubusercontent.com/31df918b80d05171b57b21ffee766faf3d29115320593bb1ed826f10f6c14ce3/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f796f757a616e79756e2f6f70656e2d73646b2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/youzanyun/open-sdk)[![Build Status](https://camo.githubusercontent.com/a95d48549acb0c5da668d04f2c4e0d84e126906299ba50c66e84dd44f4f30755/68747470733a2f2f6170692e7472617669732d63692e6f72672f796f757a616e2f6f70656e2d73646b2d7068702e737667)](https://travis-ci.org/youzan/open-sdk-php)

YouzanYun SDK

安装
--

[](#安装)

1. 使用 `composer`

推荐使用该方式安装, 更优雅

```
$ composer require youzanyun/open-sdk
```

2. 不使用 `composer` 管理

如果你的项目不使用`composer`管理, 可以直接下载 [Release包](https://github.com/youzan/open-sdk-php/releases) 并解压, 然后在项目中添加如下代码:

```
require_once '/YOUR_SDK_PATH/youzanyun-open-sdk/open-sdk/vendor/autoload.php';
```

请注意, 需要下载的是最新的 `youzanyun-open-sdk.zip` 压缩包, 而不是 `Source code` 压缩包, `YOUR_SDK_PATH` 需更改为项目实际路径.

使用
--

[](#使用)

详情参考 [examples](examples)

### 1. 获取及刷新access\_token

[](#1-获取及刷新access_token)

#### 工具型应用 获取access\_token

[](#工具型应用-获取access_token)

```
require_once './vendor/autoload.php';

$clientId = "YOUR_CLIENT_ID";
$clientSecret = "YOUR_CLIENT_SECRET";
$resp = (new \Youzan\Open\Token($clientId, $clientSecret))->getToolAppToken('YOUR_CODE');
var_dump($resp);
```

#### 自用型应用 获取access\_token

[](#自用型应用-获取access_token)

```
require_once './vendor/autoload.php';

$clientId = "YOUR_CLIENT_ID";
$clientSecret = "YOUR_CLIENT_SECRET";

// 1. 不获取refresh_token
$resp = (new \Youzan\Open\Token($clientId, $clientSecret))->getSelfAppToken('YOUR_KDT_ID');
var_dump($resp);

// 2. 获取refresh_token
$config['refresh'] = true;  //是否获取refresh_token(可通过refresh_token刷新token)
$resp = (new \Youzan\Open\Token($clientId, $clientSecret))->getSelfAppToken('YOUR_KDT_ID', $config);
var_dump($resp);
```

#### 工具型应用及自用型应用 刷新access\_token

[](#工具型应用及自用型应用-刷新access_token)

```
require_once './vendor/autoload.php';

$clientId = "YOUR_CLIENT_ID";
$clientSecret = "YOUR_CLIENT_SECRET";
$resp = (new \Youzan\Open\Token($clientId, $clientSecret))->refreshToken('YOUR_REFRESH_TOKEN');
var_dump($resp);
```

### 2. 接口调用

[](#2-接口调用)

#### Token方式

[](#token方式)

```
require_once './vendor/autoload.php';

$accessToken = 'YOUR_TOKEN';
$client = new \Youzan\Open\Client($accessToken);

$method = 'youzan.item.get';
$apiVersion = '3.0.0';

$params = [
    'alias' => 'fa8989ad342k',
];

$response = $client->post($method, $apiVersion, $params);
var_dump($response);
```

#### 免鉴权方式 (仅支持免鉴权接口)

[](#免鉴权方式-仅支持免鉴权接口)

```
require_once './vendor/autoload.php';

$client = new \Youzan\Open\Client();

$method = 'youzan.item.get';
$apiVersion = '3.0.0';

$params = [
    'alias' => 'fa8989ad342k',
];

$response = $client->post($method, $apiVersion, $params);
var_dump($response);
```

### 3. 加密消息解密

[](#3-加密消息解密)

参考 [examples/crypto/decrypt.php](examples/crypto/decrypt.php)

### 4. 加解密调用

[](#4-加解密调用)

```
require_once './vendor/autoload.php';
$secretClient = SecretClient::getInstance("clientId","clientSecret");

$kdtId = xxxx;
// 单项加密
$encryptRel = $secretClient->singleEncrypt($kdtId, "加密内容");
// 单项解密
$decryptRel = $secretClient->singleDecrypt($kdtId,"解密内容");
// 批量加密
$batchEncryptArray = array("xxx1","xxx2","xxx3");
$batchEncryptArrayRel = $secretClient->batchEncrypt($kdtId,$batchEncryptArray);
// 批量解密
$batchDecryptArrayRel = $secretClient->batchDecrypt($kdtId,array_values($batchEncryptArrayRel));
// 单项密文判断
$encryptIsEncrypt = $secretClient->singleIsEncrypt($encryptRel);
// 批量密文判断
$batchEncryptIsEncrypt = $secretClient->batchIsEncrypt($batchEncryptArray);
// 单项解密并脱敏 如果是密文则解密脱敏，明文直接脱敏
// 脱敏类型: MaskHandler::$const_address 地址,MaskHandler::$const_bank_card 银行卡,MaskHandler::$const_name 中文名,MaskHandler::$const_email 邮箱,MaskHandler::$const_company_name 企业名称,MaskHandler::$const_id_card 身份证,MaskHandler::$const_mobile 手机号
$markAddress = $secretClient->singleDecryptMask($kdtId,"华泰创业园5号楼2楼217室",MaskHandler::$const_address);
// 批量解密并脱敏 如果是密文则解密脱敏，明文直接脱敏
// 脱敏类型: MaskHandler::$const_address 地址,MaskHandler::$const_bank_card 银行卡,MaskHandler::$const_name 中文名,MaskHandler::$const_email 邮箱,MaskHandler::$const_company_name 企业名称,MaskHandler::$const_id_card 身份证,MaskHandler::$const_mobile 手机号
$batchDncryptMarkArray = array("18736955554","18736955555","18736955556");
$batchMarkMobileRel = $secretClient->batchDecryptMask($kdtId,$batchDncryptMarkArray,MaskHandler::$const_mobile);
// 密文检索摘要生成
$addressDigest = $secretClient->generateEncryptSearchDigest($kdtId,"华泰创业园5号楼2楼217室");
```

#### 4.1 脱敏规则:

[](#41-脱敏规则)

规则名称脱敏规则示例示例地址脱敏实现地址的信息脱敏：地址中数字使用\*代替杭州市西湖区蒋村街道\*\*号\*座\*楼\*室银行卡脱敏银行卡号的信息脱敏：前2，后4展示，其他使用\*代替19\*\*\*\*\*\*2135名字脱敏中文名称的信息脱敏：展示第一个字，其他使用\*代替张\*邮箱脱敏邮箱地址的信息脱敏：展示前2位，和邮箱后缀zy\*\*\*\*\*\*@163.com企业名称脱敏企业名称的信息脱敏：展示前4个汉字，后2个汉字，中间固定4个\*杭州有赞\*\*\*\*公司身份证脱敏身份证号信息脱敏：展示前2位，后4位13\*\*\*\*\*\*0630手机脱敏手机号的信息脱敏：展示前3，后4，其他使用\*代替135\*\*\*\*3263脱敏类型: MaskHandler::$const\_address 地址,MaskHandler::$const\_bank\_card 银行卡,MaskHandler::$const\_name 中文名,MaskHandler::$const\_email 邮箱,MaskHandler::$const\_company\_name 企业名称,MaskHandler::$const\_id\_card 身份证,MaskHandler::$const\_mobile 手机号

#### 4.2 密文检索:

[](#42-密文检索)

密文摘要的长度是原明文的6倍左右，开发者需要合理评估数据库字段长度，避免字段超长

开发者需要新增数据库字段存储密文摘要，在模糊查询是调用密文摘要接口生成查询信息对应密文摘要并去数据库中模糊查询；例如需要对数据库中mobile字段的密文进行检索，则需要新增mobile\_encrypt\_digest字段(数据库字段名自定义，此处仅举例),在手机号落库时调用密文检索摘要方法生成手机号(e.g. 18736956666)对应的密文检索摘要M1并落库到mobile\_encrypt\_digest中，模糊查询时调用密文检索摘要方法生成查询信息(e.g. 187)的密文检索摘要M2,并调用模糊查询sql进行模糊查询(e.g. selet \* from mobile\_info where mobile\_encrypt\_digest like '%M2%')

License
-------

[](#license)

The MIT License. Please see [License File](LICENSE) for more information.

###  Health Score

44

—

FairBetter than 92% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity45

Moderate usage in the ecosystem

Community26

Small or concentrated contributor base

Maturity72

Established project with proven stability

 Bus Factor1

Top contributor holds 55% 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.

###  Release Activity

Cadence

Every ~38 days

Total

32

Last Release

1425d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/12060792?v=4)[xu42](/maintainers/xu42)[@xu42](https://github.com/xu42)

![](https://avatars.githubusercontent.com/u/37133480?v=4)[KaratLee](/maintainers/KaratLee)[@KaratLee](https://github.com/KaratLee)

---

Top Contributors

[![xu42](https://avatars.githubusercontent.com/u/12060792?v=4)](https://github.com/xu42 "xu42 (72 commits)")[![KaratLee](https://avatars.githubusercontent.com/u/37133480?v=4)](https://github.com/KaratLee "KaratLee (54 commits)")[![SincereXing](https://avatars.githubusercontent.com/u/2252052?v=4)](https://github.com/SincereXing "SincereXing (3 commits)")[![bolechen](https://avatars.githubusercontent.com/u/195015?v=4)](https://github.com/bolechen "bolechen (1 commits)")[![jamaock](https://avatars.githubusercontent.com/u/5134205?v=4)](https://github.com/jamaock "jamaock (1 commits)")

---

Tags

php-sdkyouzanyouzanyunyouzanopen-sdkyouzanyun

### Embed Badge

![Health badge](/badges/youzanyun-open-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/youzanyun-open-sdk/health.svg)](https://phpackages.com/packages/youzanyun-open-sdk)
```

###  Alternatives

[neuron-core/neuron-ai

The PHP Agentic Framework.

1.8k245.3k21](/packages/neuron-core-neuron-ai)[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3731.2M42](/packages/tencentcloud-tencentcloud-sdk-php)[xu42/open-sdk

有赞云服务端SDK

214.0k](/packages/xu42-open-sdk)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

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