easy-xiaohongshu-api/easy-xiaohongshu-api

小红书小程序服务端 API 的 PHP SDK

Maintainers

Package info

github.com/dyn7585195/easy-xiaohongshu-api

pkg:composer/easy-xiaohongshu-api/easy-xiaohongshu-api

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.1 2026-02-28 00:43 UTC

This package is auto-updated.

Last update: 2026-04-28 01:56:41 UTC


README

小红书小程序服务端 API 的 PHP SDK,支持登录认证、商品管理、订单管理、交易处理等功能。

安装

使用 Composer 安装:

composer require easy-xiaohongshu-api/easy-xiaohongshu-api

配置

use EasyXiaohongshu\LittleRedBook;

$config = [
    'app_id' => 'your_app_id',
    'app_secret' => 'your_app_secret',
    'api_url' => 'https://api.xiaohongshu.com', // 可选,默认值
    'open_api_url' => 'https://open-api.xiaohongshu.com', // 可选,默认值
    'miniapp_url' => 'https://miniapp.xiaohongshu.com', // 可选,默认值
    'timeout' => 30, // 可选,默认值
    'debug' => false, // 可选,默认值
];

$app = new LittleRedBook($config);

接口调用方式

所有接口都通过统一的 api() 方法调用:

$api = $app->api();

// 调用任意接口
$result = $api->code2Session('your_code');

接口列表

一、登录认证接口

1. code2Session - 登录凭证校验

接口说明:获取用户 openid 和 session_key。

调用方式

$result = $app->api()->code2Session('your_code');

参数说明

参数 类型 必填 说明
code string 临时登录凭证,有效期5分钟

响应示例

{
    "data": {
        "openid": "user_open_id",
        "session_key": "session_key"
    },
    "success": true,
    "msg": "success",
    "code": 0
}

官方文档code2Session 接口文档

二、Access Token 接口

2. 获取 Access Token

接口说明:获取小程序调用凭证。

调用方式

// 自动获取(会缓存并自动刷新)
$accessToken = $app->getAccessToken()->getToken();

// 手动刷新
$tokenInfo = $app->getAccessToken()->refreshToken();

响应示例

{
    "data": {
        "access_token": "your_access_token",
        "expire_in": 7200
    },
    "success": true,
    "msg": "success",
    "code": 0
}

注意事项

  • access_token 有效期为 2 小时
  • SDK 会自动管理缓存和刷新

官方文档获取应用调用凭证

三、商品管理接口

3. 获取商品信息

接口说明:根据外部商品ID获取商品详细信息。

调用方式

$result = $app->api()->getProductInfo('your_out_product_id');

参数说明

参数 类型 必填 说明
outProductId string 外部商品ID

官方文档商品-获取信息

4. 批量获取商品信息

接口说明:批量查询商品信息。

调用方式

$result = $app->api()->batchGetProductInfo(
    ['product_id_1', 'product_id_2'], // 外部商品ID列表
    1,  // 页码
    20  // 每页数量
);

参数说明

参数 类型 必填 说明
outProductIds array 外部商品ID列表
page int 页码,默认1
pageSize int 每页数量,默认20

官方文档商品-批量获取信息

5. 商品同步-生活服务

接口说明:同步商品信息到小红书。

调用方式

$result = $app->api()->syncProduct([
    'out_product_id' => 'your_product_id',
    'name' => '商品名称',
    'short_title' => '短标题',
    'desc' => '商品描述',
    'path' => '/pages/product/detail',
    'top_image' => 'https://example.com/image.jpg',
    'category_id' => 'category_id',
    'biz_create_time' => time(),
    'biz_update_time' => time(),
    'skus' => [
        [
            'out_sku_id' => 'sku_id',
            'name' => 'SKU名称',
            'sku_image' => 'https://example.com/sku.jpg',
            'sale_price' => 1000, // 单位:分
            'status' => 1, // 1:上架 0:下架
        ]
    ]
]);

官方文档商品同步-生活服务

6. 专业号主页商品排序

接口说明:设置专业号主页商品展示顺序。

调用方式

$result = $app->api()->setHomePageItemTab(
    ['spu_id_1', 'spu_id_2', 'spu_id_3'], // 外部spuId列表,最多6个
    1 // 是否开启自定义排序:0-否 1-是
);

参数说明

参数 类型 必填 说明
outSpuIds array 外部spuId列表,最多6个
isApply int 是否开启自定义排序:0-否 1-是

官方文档专业号主页商品排序

四、SKU 管理接口

7. SKU商品-批量删除

接口说明:批量删除SKU商品。

调用方式

$result = $app->api()->batchDeleteSku(['sku_id_1', 'sku_id_2']);

参数说明

参数 类型 必填 说明
outSkuIds array 外部sku商品ID列表,最多100个

官方文档sku商品-批量删除

8. SKU商品-批量上架

接口说明:批量上架SKU商品。

调用方式

$result = $app->api()->batchOnlineSku(['sku_id_1', 'sku_id_2']);

参数说明

参数 类型 必填 说明
outSkuIds array 外部sku商品ID列表,最多100个

官方文档sku商品-批量上架

9. SKU商品-批量下架

接口说明:批量下架SKU商品。

调用方式

$result = $app->api()->batchOfflineSku(['sku_id_1', 'sku_id_2']);

参数说明

参数 类型 必填 说明
outSkuIds array 外部sku商品ID列表,最多100个

官方文档sku商品-批量下架

五、订单管理接口

10. 担保支付订单新增

接口说明:创建担保支付订单。

调用方式

$result = $app->api()->createOrder([
    'out_order_id' => 'your_order_id',
    'open_id' => 'user_open_id',
    'path' => '/pages/order/detail',
    'biz_create_time' => time(),
    'product_infos' => [
        [
            'out_product_id' => 'product_id',
            'out_sku_id' => 'sku_id',
            'num' => 1,
            'sale_price' => 1000,
            'real_price' => 1000,
        ]
    ],
    'price_info' => [
        'order_price' => 1000,
    ]
]);

官方文档担保支付订单新增

11. 订单-状态同步

接口说明:同步订单状态到小红书。

调用方式

$result = $app->api()->syncOrderStatus(
    2,                      // 状态:2-已支付 6-已发货 7-已完成 71-已关闭 998-已取消
    'your_out_order_id',    // 外部订单ID
    time(),                 // 订单状态更新时间
    'user_open_id'          // 用户openId
);

参数说明

参数 类型 必填 说明
status int 订单状态:2-已支付 6-已发货 7-已完成 71-已关闭 998-已取消
outOrderId string 外部订单ID
bizUpdateTime int 订单状态更新时间戳
openId string 用户openId

官方文档订单-状态同步

12. 获取订单支付token

接口说明:获取订单支付所需的token。

调用方式

$result = $app->api()->getPayToken('your_out_order_id', 'user_open_id');

参数说明

参数 类型 必填 说明
outOrderId string 外部订单ID
openId string 用户openId

官方文档获取订单支付token

13. 担保支付订单-获取订单信息

接口说明:获取担保支付订单的详细信息。

调用方式

$result = $app->api()->getOrderInfo('your_out_order_id');

参数说明

参数 类型 必填 说明
outOrderId string 外部订单ID

官方文档担保支付订单-获取订单信息

六、链接管理接口

14. 获取小程序 URL Link

接口说明:生成可在短信、邮件、网页等场景打开小程序的链接。

调用方式

$result = $app->api()->getUrlLink(
    'pages/index/index?id=123', // 页面路径
    30                          // 失效间隔天数,默认365天
);

参数说明

参数 类型 必填 说明
pageUrl string 页面路径,根路径前不要添加/,可携带query
expireInterval int 失效间隔天数,最长365天,默认365

响应示例

{
    "data": {
        "url": "https://xiaohongshu.com/..."
    },
    "success": true,
    "msg": "success",
    "code": 0
}

官方文档获取URL Link

15. 获取小程序二维码

接口说明:生成小程序二维码图片(有数量限制)。

调用方式

$qrcodeImage = $app->api()->getQrcode(
    430,                        // 二维码宽度,280-1280
    'pages/index/index?id=123', // 页面路径
    30                          // 失效间隔天数
);

// 保存二维码
file_put_contents('qrcode.png', $qrcodeImage);

参数说明

参数 类型 必填 说明
width int 二维码宽度,280-1280像素
pageUrl string 页面路径
expireInterval int 失效间隔天数,默认365

注意事项

  • 此接口每天只能生成1000个二维码
  • 返回的是图片字节流,不是JSON

官方文档获取小程序二维码

16. 获取不限制的小程序二维码

接口说明:生成小程序二维码(无数量限制,有效期10年)。

调用方式

$qrcodeImage = $app->api()->getUnlimitedQrcode(
    '12345',                    // scene参数
    'pages/index/index',        // 页面路径(可选)
    430                         // 二维码宽度
);

// 保存二维码
file_put_contents('qrcode_unlimited.png', $qrcodeImage);

参数说明

参数 类型 必填 说明
scene string 自定义参数,最大32字符,支持数字、字母、-._~
page string 页面路径,参数请放在scene中
width int 二维码宽度,280-1280,默认430

注意事项

  • scene参数不支持%,中文请使用其他编码方式
  • 返回的是图片字节流

官方文档获取不限制的小程序二维码

七、类目管理接口

17. 搜索可用类目

接口说明:搜索可用的商品类目。

调用方式

$result = $app->api()->searchCategories('服装', true);

参数说明

参数 类型 必填 说明
categoryName string 类目名称
forceCategoryV2 bool 是否强制走新类目,默认false

官方文档搜索可用类目

18. 获取小程序设置的工业类目

接口说明:获取当前小程序已设置的类目列表。

调用方式

$result = $app->api()->getAppCategories();

响应示例

{
    "data": {
        "category_info": [
            {
                "category_id": "category_id",
                "name": "类目名称",
                "require_claim_store": false,
                "support_trade": true,
                "trade_ability": "GENERAL_GUARANTEED_PAY",
                "path": ["一级类目", "二级类目", "三级类目"]
            }
        ]
    },
    "success": true,
    "msg": "success",
    "code": 0
}

官方文档获取小程序设置的工业类目

八、交易管理接口

19. 凭证核销

接口说明:核销用户购买的凭证。

调用方式

$result = $app->api()->verifyVoucher([
    'verify_code' => '核销码',
    // 其他核销数据
]);

官方文档凭证核销

20. 预约单状态同步

接口说明:同步预约单状态。

调用方式

$result = $app->api()->syncReservationStatus([
    'out_order_id' => 'order_id',
    'status' => 1,
    // 其他数据
]);

官方文档预约单状态同步

21. 售后单-新增

接口说明:创建售后单。

调用方式

$result = $app->api()->createAfterSale([
    'out_order_id' => 'order_id',
    'out_after_sale_id' => 'after_sale_id',
    // 其他数据
]);

官方文档售后单-新增

22. 同步售后单状态

接口说明:同步售后单状态。

调用方式

$result = $app->api()->syncAfterSaleStatus([
    'out_after_sale_id' => 'after_sale_id',
    'status' => 1,
    // 其他数据
]);

官方文档同步售后单状态

23. 获取售后订单详情

接口说明:获取售后订单的详细信息。

调用方式

$result = $app->api()->getAfterSaleDetail('after_sale_id');

参数说明

参数 类型 必填 说明
afterSaleId string 售后单ID

官方文档获取售后订单详情

24. 查询结算

接口说明:查询结算信息。

调用方式

$result = $app->api()->querySettlement([
    'start_time' => time() - 86400,
    'end_time' => time(),
    // 其他查询条件
]);

官方文档查询结算

25. 结算咨询

接口说明:结算咨询接口。

调用方式

$result = $app->api()->consultSettlement([
    // 咨询数据
]);

官方文档结算咨询

26. 结算明细查询

接口说明:查询结算明细。

调用方式

$result = $app->api()->querySettlementDetail([
    'start_time' => time() - 86400,
    'end_time' => time(),
    // 其他查询条件
]);

官方文档结算明细查询

27. 查询核销信息

接口说明:查询核销信息。

调用方式

$result = $app->api()->queryVerifyInfo([
    'out_order_id' => 'order_id',
    // 其他查询条件
]);

官方文档查询核销信息

运行测试

composer test

代码风格检查

composer cs-fix

注意事项

  1. 签名机制:部分接口需要 MD5 签名,SDK 会自动处理签名生成
  2. Access Token:SDK 会自动管理 Access Token 的获取和刷新
  3. 错误处理:所有接口调用都会抛出异常,需要自行捕获处理
  4. 请求频率:请遵守小红书开放平台的接口调用频率限制
  5. 版本兼容:如果文档提到 API 版本,请在代码中支持版本配置

许可证

MIT License