Fecify-套餐-更新
接口信息
- 接口地址:
{your-site-url}/api/skill/addons/package-update
- 基础 URL:
{your-site-url} 需替换为你自己的独立站 URL 地址,如 https://your-domain.com/admin
- 请求方式:
POST
- Content-Type:
application/json
- 说明: 更新套餐信息。参数结构与创建套餐一致,额外需要传入
id 指定要更新的套餐。
认证
请求头中需要携带 skill-access-token:
| Header |
值 |
skill-access-token |
{your-skill-access-token} (请替换为你自己的 token) |
请求参数
| 参数 |
类型 |
必填 |
说明 |
id |
Number |
是 |
套餐 ID,从 Fecify-套餐-列表 获取 |
title |
String |
是 |
套餐名称,JSON 字符串格式,如 {"cn":"旗舰套餐","en":"","tw":""} |
shop_type |
Number |
是 |
店铺类型:10 B2C,20 B2B |
type |
Number |
是 |
套餐类型:1 付费套餐,2 体验套餐 |
status |
Number |
是 |
状态:1 开启,2 关闭 |
tag_status |
Number |
是 |
营销标签:1 开启,2 关闭 |
style_type |
Number |
是 |
展示样式:1 系统默认,2 自定义 |
is_forever |
Number |
是 |
是否永久:1 永久,2 非永久 |
renew_is_forever |
Number |
是 |
续费是否永久:1 永久,2 非永久 |
payment_type |
Number |
是 |
支付方式:1 在线支付,2 联系客服 |
sub_title |
String |
否 |
套餐副名称(多语言 JSON) |
description |
String |
否 |
套餐描述(多语言 JSON,可含 HTML) |
weight |
Number |
否 |
套餐权重,数字越大商家端展示越靠前。不传默认为 0 |
tag_content |
String |
条件 |
标签文字(多语言 JSON)。tag_status=1 时必填 |
style_color |
String |
条件 |
颜色值。style_type=2(自定义)时必填 |
experience_days |
Number |
条件 |
体验天数。type=2(体验套餐)时必填且必须大于 0 |
product_max_count |
Number |
否 |
店铺产品最大数,0 不限制 |
addons_info |
Array |
否 |
套餐包含的插件 ID 列表,从 Fecify-已上架应用-列表 获取 |
theme_info |
Array |
否 |
套餐包含的模版 ID 列表 |
language_codes |
Array |
否 |
套餐支持的多语言简码列表,从 系统支持的语言列表 获取 |
type=1(付费套餐)时额外必填
| 参数 |
类型 |
必填 |
说明 |
price_info |
Array |
是 |
售价详细,必须为非空数组 |
renew_status |
Number |
是 |
套餐续费:1 开启,2 关闭 |
status_disable_renew |
Number |
是 |
下架后续费:1 支持,2 不支持 |
renew_status=1(续费开启)时额外必填
| 参数 |
类型 |
必填 |
说明 |
renew_price_info |
Array |
是 |
续费价格详细,必须为非空数组 |
price_info / renew_price_info 子项
| 参数 |
类型 |
必填 |
说明 |
id |
String |
是 |
售价方案唯一 ID,不可为空 |
is_forever |
Number |
是 |
是否永久:1 永久,2 非永久 |
days |
Number / String |
条件 |
有效天数。is_forever=2 时必填且必须大于 0 |
day_label |
String |
条件 |
天数标签,如 1月、1年。is_forever=2 时必填 |
price |
Number |
是 |
售卖价格 |
compare_at_price |
Number |
是 |
划线价格(原价) |
请求示例
cURL
curl --location --request POST '{your-site-url}/api/skill/addons/package-update' \
--header 'skill-access-token: {your-skill-access-token}' \
--header 'Content-Type: application/json' \
--data-raw '{
"id": 27,
"shop_type": 10,
"type": 1,
"title": "{\"cn\":\"旗舰套餐\",\"en\":\"\",\"tw\":\"\"}",
"sub_title": "{\"cn\":\"旗舰套餐活动\",\"en\":\"\",\"tw\":\"\"}",
"description": "{\"cn\":\"<p>旗舰套餐描述部分</p>\",\"en\":\"\",\"tw\":\"\"}",
"experience_days": 3,
"status": 1,
"weight": 32,
"tag_status": 1,
"tag_content": "{\"cn\":\"hot\",\"en\":\"\",\"tw\":\"\"}",
"style_type": 1,
"style_color": "linear-gradient(107.12deg, rgb(88, 165, 255) 0.9%, rgb(26, 102, 255) 99.34%)",
"is_forever": 1,
"price_info": [
{
"id": "UHMR0XsL-D",
"is_forever": 1,
"days": "",
"day_label": "",
"price": 99,
"compare_at_price": 122
}
],
"renew_status": 1,
"renew_is_forever": 2,
"renew_price_info": [
{
"id": "3GFXBtf4BW",
"is_forever": 1,
"days": "",
"day_label": "",
"price": 999,
"compare_at_price": 1222
}
],
"status_disable_renew": 1,
"payment_type": 1,
"addons_info": [13, 16, 15, 17, 31, 34],
"theme_info": [159, 162],
"language_codes": ["cn", "de", "es", "en", "fr", "it", "vi"]
}'
返回结果
code 为 200 表示调用成功;code 不为 200 表示调用失败。
成功响应
{
"code": 200,
"data": {
"id": 27,
"title": "{\"cn\":\"旗舰套餐\",\"en\":\"\",\"tw\":\"\"}",
"shop_type": 10,
"type": 1,
"updated_at": "2026-07-25 16:51:56"
},
"message": "success"
}
注意事项
id 为必填参数,通过 Fecify-套餐-列表 获取。
- 更新前建议先通过 Fecify-套餐-详细 获取当前信息,在此基础上修改后再提交。
title、sub_title、description、tag_content 等字段需要传递 JSON 字符串格式。
type 决定付费相关字段是否需要填写:
type=1(付费套餐):price_info、renew_status、status_disable_renew 必填
type=2(体验套餐):experience_days 必填且必须 > 0
is_forever=1 时,price_info 中至少需要有一项 is_forever=1(永久行);renew_is_forever=1 同理。
renew_status=1 时,renew_price_info 必填且必须为非空数组。
addons_info 中的 ID 从 Fecify-已上架应用-列表 获取。
language_codes 中的语言简码从 系统支持的语言列表 获取。