营销与消息 API

本文归纳营销活动中心、优惠券、卡券钱包、Banner、广告、公告、消息、订阅、偏好、待办、派发和统计接口。

使用场景

场景 主要接口 说明
平台营销活动 平台活动、商户报名、活动范围、平台券、平台预算、平台活动价、补贴确认 平台管理端维护活动、报名、预算和补贴治理
商户营销活动 商户活动、平台活动报名、商户券、商户预算、商户活动价、成本日报 商户端维护店铺营销和成本数据
消费者领券 卡券钱包、可领取优惠券、领取优惠券 个人用户领取平台券和商户券
订单优惠 订单可用券、带券下单、支付用券、取消释放 订单链路接入优惠券锁定、使用和释放
首页运营 Banner、Banner 分组、广告位、广告位分组 管理端配置,小程序端展示
平台公告 公告接口 平台发布、取消发布和置顶公告
消息配置 模板、内容、路由规则 管理消息内容和接收规则
用户触达 站内信、订阅、偏好 个人、商户、员工分别接收消息
待办协同 个人待办、商户待办、员工待办、平台待办 承接需要人工处理的业务事项
派发追踪 派发计划、派发日志、统计 查看消息计划、发送结果和数据

事件触达建议

业务事件 推荐接收人 推荐能力
商户入驻审核结果 商户 商户消息、商户待办
商品上架审核结果 商户 商户消息
订单支付成功 商户、消费者 商户待办、个人消息
商户发货完成 消费者 个人消息
物流状态变更 消费者、商户 个人消息、商户消息
售后申请 商户、平台管理员 商户待办、平台待办
结算批次生成 商户 商户消息
提现审核结果 商户 商户消息
优惠券即将过期 消费者 个人消息
活动低预算预警 平台管理员、商户 平台待办、商户消息
营销补贴待确认 平台管理员 平台待办

后端营销和消息逻辑

营销和消息不是同一套业务,但它们在运营场景中经常衔接。营销模块负责产生活动、优惠和成本数据,消息模块负责把需要人工处理或用户感知的事件触达对应角色。

事件来源 业务结果 推荐消息能力
用户领券 个人卡券新增 可选个人消息,不建议强提醒
卡券即将过期 卡券仍未使用 个人消息或待办
活动预算不足 预算池余额低于阈值 平台消息、商户消息、待办
补贴待确认 订单支付后生成待确认补贴 平台待办
活动成本日报生成 成本数据可查询 平台消息或商户消息
活动到期结束 活动停止参与价格和领券 平台消息、商户消息

消息配置应优先使用模板、订阅、偏好和路由规则,业务模块不要硬编码固定文案。强提醒类事件需要忽略用户偏好时,应单独定义业务规则。

营销活动中心接口

营销活动中心接口按角色拆分。平台管理端负责平台级活动和治理,商户端负责商户自有活动和成本数据,消费者端负责领券和卡券钱包,订单端负责把优惠真正应用到交易。

通用约定:

约定 说明
分页查询 多数 GET /page 接口接收 MarketingCommonQuery,按活动、商户、店铺、SKU、状态、时间等条件筛选
详情查询 GET /{id} 类接口通常会调用 findByIdAndVerify,不存在时返回业务异常
权限控制 平台接口使用 admin:marketing:* 权限,商户接口使用 client:merchant:marketing-* 权限,个人卡券使用 client:user:coupon-wallet:* 权限
商户归属 商户端接口会按当前登录商户账号校验归属,前端不应传入其他商户的业务 ID
业务动作 启动、暂停、恢复、结束、结算、取消、充值、退回、补贴确认都属于业务动作,不应当用普通编辑接口替代

平台管理端

基础路径:/api/v1/marketing/admin。后端 Controller:AdminPlatformMarketingActivityControllerAdminPlatformMarketingScopeControllerAdminPlatformMarketingCouponControllerAdminPlatformMarketingBudgetControllerAdminPlatformMarketingPriceControllerAdminMarketingSubsidyController

接口名称 方法 子路径 权限标识 主要用途
平台活动 GET /pageGET /{activityId}POSTPUT /{activityId}DELETE /{activityId} /platform/activity admin:marketing:platform-activity:* 平台活动分页、详情、创建、修改和删除
平台活动状态 PUT /{activityId}/startPUT /{activityId}/pausePUT /{activityId}/resumePUT /{activityId}/endPUT /{activityId}/close-unused-couponPUT /{activityId}/settlePUT /{activityId}/cancel /platform/activity admin:marketing:platform-activity:edit 启动、暂停、恢复、结束、关闭未使用券、结算归档和取消活动
平台活动商户报名 GET /pageGET /{participationId}POST /invite/batchPUT /{participationId}/approvePUT /{participationId}/reject /platform/activity-participation admin:marketing:platform-activity-scope:* 查询报名、批量邀请商户、审核通过或拒绝报名
平台活动店铺范围 GET /pageGET /{relId}POSTPOST /batchPUT /{relId}DELETE /{relId} /platform/activity-shop-rel admin:marketing:platform-activity-scope:* 维护平台活动参与店铺
平台活动 SKU 范围 GET /pageGET /{relId}POSTPOST /batchPUT /{relId}DELETE /{relId} /platform/activity-sku-rel admin:marketing:platform-activity-scope:* 维护平台活动参与 SKU
活动公告关联 GET /pageGET /{relId}POSTPUT /{relId}DELETE /{relId} /activity-announcement-rel admin:marketing:activity-announcement-rel:* 维护活动与公告的关联
平台优惠券组 GET /pageGET /{groupId}POSTPUT /{groupId}DELETE /{groupId} /platform/coupon-group admin:marketing:platform-coupon-group:* 维护平台券组
平台优惠券 GET /pageGET /{couponId}POSTPUT /{couponId}DELETE /{couponId} /platform/coupon admin:marketing:platform-coupon:* 维护平台券定义
平台券使用策略 GET /pageGET /{strategyId}POSTPUT /{strategyId}DELETE /{strategyId} /platform/coupon-strategy admin:marketing:platform-coupon-strategy:* 维护平台券适用规则
平台券策略目标 GET /pageGET /{targetId}POSTDELETE /{targetId} /platform/coupon-strategy-target admin:marketing:platform-coupon-strategy-target:* 维护平台券适用目标
平台券池 GET /pageGET /{poolId}POSTPUT /{poolId}DELETE /{poolId}POST /{poolId}/grant /platform/coupon-pool admin:marketing:platform-coupon-pool:* 维护券池并后台发券
优惠券记录 GET /pageGET /{recordId} /platform/coupon-issue/platform/coupon-use/platform/coupon-allocation/merchant/coupon-issue/merchant/coupon-use/merchant/coupon-allocation admin:marketing:*:query 查询平台券和商户券发放、使用、分摊记录
平台预算池 GET /pageGET /{poolId}POSTPUT /{poolId}DELETE /{poolId} /platform/budget-pool admin:marketing:platform-budget:* 维护平台活动预算池
平台预算流水 GET /pageGET /{transactionId} /platform/budget-transaction admin:marketing:platform-budget-transaction:query 查询平台预算流水
平台预算账务 POST /{poolId}/accountingPOST /{poolId}/rechargePOST /{poolId}/return-remainingPOST /{poolId}/post-settlement-adjust /platform/budget-pool admin:marketing:platform-budget:edit 平台预算充值、调账、退回和结算后调整
活动成本日报 GET /pageGET /{reportId} /activity-cost-report admin:marketing:activity-cost-report:query 查询营销活动成本日报
平台活动价 GET /pageGET /{strategyId}POSTPUT /{strategyId}DELETE /{strategyId} /platform/price-strategy admin:marketing:platform-price:* 维护平台活动价格策略
活动价记录 GET /pageGET /{recordId} /platform/price-cost-confirm/activity-price-allocation admin:marketing:*:query 查询平台活动价成本确认和活动价分摊记录
补贴确认 GET /pageGET /{recordId}POST /{recordId}/confirmPOST /{recordId}/cancelPOST /{recordId}/adjust-requiredPOST /{recordId}/manual-adjustPOST /{recordId}/abnormal-close /subsidy-confirm admin:marketing:subsidy-confirm:* 查询、确认、作废、标记需调账、人工调账完成或异常结案营销补贴
补贴动作 GET /pageGET /{actionId} /subsidy-confirm-action admin:marketing:subsidy-confirm-action:query 查询补贴确认动作记录
补贴结算推进 GET /pageGET /{advanceId}POST /settlement/{settlementId} /subsidy-advance admin:marketing:subsidy-advance:* 查询和推进补贴结算入账

平台管理端典型调用链:

  1. 创建平台活动:POST /api/v1/marketing/admin/platform/activity
  2. 批量邀请商户:POST /api/v1/marketing/admin/platform/activity-participation/invite/batch,或手工绑定活动参与店铺和 SKU。
  3. 商户报名后,审核通过:PUT /api/v1/marketing/admin/platform/activity-participation/{participationId}/approve
  4. 配置平台券或活动价:调用 /platform/coupon*/platform/price-strategy
  5. 创建平台预算池并充值:POST /platform/budget-poolPOST /platform/budget-pool/{poolId}/recharge
  6. 启动活动:PUT /platform/activity/{activityId}/start
  7. 活动中查看发券、用券、分摊、成本日报和预算流水。
  8. 活动结束后关闭未使用券、执行补贴确认、剩余预算退回和结算归档。

平台端重点请求对象:

请求对象 主要字段 用途
PlatformMarketingActivity activityNameactivityCodeactivityStatusstartTimeendTime 创建和维护平台活动
PlatformMarketingActivityShopRel activityIdmerchantAccountIdmerchantShopId 绑定平台活动参与店铺
PlatformMarketingActivitySkuRel activityIdmerchantAccountIdmerchantShopIdproductSpuIdproductSkuId 绑定平台活动参与 SKU
PlatformActivityCouponPool activityIdcouponIdbudgetPoolIdissueStartTimeissueEndTimetotalQuantityperUserLimit 配置平台券发放池
ActivityBudgetAccountingRequest transactionTypeamountbusinessTypebusinessIdremark 预算充值、冻结、解冻、人工调账和结算后调整
MarketingCouponGrantRequest personalAccountIdrequestNo 后台按券池给个人用户发放平台券
MarketingSubsidyConfirmRequest confirmAmountremark 人工确认营销补贴金额
MarketingSubsidyGovernanceRequest reasonremark 作废补贴确认、标记需调账、人工调账完成或异常结案

商户端

基础路径:/api/v1/merchant/marketing。后端 Controller:MerchantMarketingActivityControllerMerchantMarketingScopeControllerMerchantMarketingCouponControllerMerchantMarketingBudgetControllerMerchantMarketingPriceControllerMerchantMarketingSubsidyController

接口名称 方法 子路径 权限标识 主要用途
商户活动 GET /pageGET /{activityId}POSTPUT /{activityId}PUT /{activityId}/startPUT /{activityId}/pausePUT /{activityId}/resumePUT /{activityId}/endPUT /{activityId}/close-unused-couponPUT /{activityId}/settlePUT /{activityId}/cancel /activity client:merchant:marketing-activity:* 当前商户活动维护和状态流转
平台活动报名 GET /pagePOST /apply /platform/activity-participation client:merchant:marketing-activity-scope:* 当前商户查看平台活动报名记录并提交报名
商户活动范围 GET /pageGET /{relId}POSTPUT /{relId}DELETE /{relId} /activity-shop-rel/activity-sku-rel client:merchant:marketing-activity-scope:* 维护商户活动参与店铺和 SKU
商户优惠券 GET /pageGET /{couponId}POSTPUT /{couponId}DELETE /{couponId} /coupon-group/coupon client:merchant:marketing-coupon*:* 维护商户券组和商户券
商户券策略 GET /pagePOSTPUT /{strategyId}DELETE /{strategyId}POST /coupon-pool/{poolId}/grant /coupon-strategy/coupon-strategy-target/coupon-pool client:merchant:marketing-coupon*:* 维护用券策略、券池和商户发券
商户券记录 GET /pageGET /{recordId} /coupon-issue/coupon-use/coupon-allocation client:merchant:marketing-coupon-*:query 查询商户券发放、使用和分摊记录
商户预算 GET /pageGET /{poolId}POSTPUT /{poolId}DELETE /{poolId}POST /{poolId}/accountingPOST /{poolId}/rechargePOST /{poolId}/return-remainingPOST /{poolId}/post-settlement-adjust /budget-pool client:merchant:marketing-budget:* 商户活动预算池维护、充值、退回和调账
商户预算流水 GET /pageGET /{transactionId} /budget-transaction client:merchant:marketing-budget-transaction:query 查询商户预算流水
商户活动价 GET /pageGET /{strategyId}POSTPUT /{strategyId}DELETE /{strategyId} /price-strategy client:merchant:marketing-price:* 维护商户活动价格策略
商户活动价记录 GET /pageGET /{recordId} /price-allocation/platform-price-cost-confirm client:merchant:marketing-*:query 查询活动价分摊和平台活动价成本确认
商户成本与补贴 GET /pageGET /{id} /cost-report/subsidy-confirm/subsidy-confirm-action/subsidy-advance client:merchant:marketing-*:query 查询活动成本日报、补贴确认和结算推进记录

商户端典型调用链:

  1. 商户创建活动:POST /api/v1/merchant/marketing/activity
  2. 维护活动参与店铺和 SKU:POST /activity-shop-relPOST /activity-sku-rel
  3. 如参与平台活动,提交报名:POST /platform/activity-participation/apply,等待平台审核通过。
  4. 配置商户券、券池和用券策略,或配置商户活动价。
  5. 创建预算池并充值:POST /budget-poolPOST /budget-pool/{poolId}/recharge
  6. 启动商户活动:PUT /activity/{activityId}/start
  7. 活动中查看发券记录、用券记录、活动价分摊、预算流水和成本日报。
  8. 活动结束后查看补贴确认、补贴动作和结算推进记录。

商户端访问控制:

控制点 说明
活动归属 查询详情和修改活动时会校验活动的 merchantAccountId
店铺归属 创建活动和活动价时会校验店铺是否允许当前商户营销
预算归属 预算池、预算流水、充值、退回和调账必须属于当前商户
记录归属 用券记录、成本日报、补贴确认和结算推进只能查看当前商户数据
平台活动价成本确认 商户只能维护自己相关的平台活动价成本确认记录

消费者端

基础路径:/api/v1/user/personal/coupon-wallet。后端 Controller:PersonalCouponWalletController

接口名称 方法 路径 权限标识 主要用途
我的卡券钱包 GET /api/v1/user/personal/coupon-wallet client:user:coupon-wallet:query 查询或创建当前个人账户卡券钱包
我的卡券 GET /item/pageGET /item/{walletItemId} /api/v1/user/personal/coupon-wallet client:user:coupon-wallet:item:query 查询个人卡券列表和详情
卡券流水 GET /log/pageGET /log/{logId} /api/v1/user/personal/coupon-wallet client:user:coupon-wallet:log:query 查询卡券领取、锁定、使用、释放和过期流水
可领取优惠券 GET /claimable/platform/pageGET /claimable/merchant/page /api/v1/user/personal/coupon-wallet client:user:coupon-wallet:claimable 查询可领取平台券和商户券
领取优惠券 POST /claim/platform/{couponPoolId}POST /claim/merchant/{couponPoolId} /api/v1/user/personal/coupon-wallet client:user:coupon-wallet:claim 领取平台券和商户券

消费者端查询口径:

查询 筛选口径
可领取平台券 活动有效、券池在发放时间内、券池数量未超限、用户未超过领取限制、券适用范围满足查询条件
可领取商户券 在平台券条件基础上,还需要满足商户和店铺范围
我的卡券 按当前个人账户筛选,不允许跨个人账户查看
卡券流水 按当前个人账户筛选,可用于展示领取、锁定、使用、释放、过期和退回过程

领取接口请求体可为空。传入 MarketingCouponClaimRequest.requestNo 时可用于幂等追踪,前端建议在重复点击和网络重试场景传入稳定请求号。

订单优惠接口

基础路径:/api/v1/personal/order。后端 Controller:PersonalOrderTransactionController

接口名称 方法 路径 主要用途
购物车订单可用券查询 POST /api/v1/personal/order/cart/available-coupon 根据购物车订单试算结果查询可用优惠券
单商品订单可用券查询 POST /api/v1/personal/order/available-coupon 根据单商品订单试算结果查询可用优惠券
购物车带券下单 POST /api/v1/personal/order/cart/create 创建购物车订单并锁定所选优惠券
单商品带券下单 POST /api/v1/personal/order/create 创建单商品订单并锁定所选优惠券
订单支付用券 POST /api/v1/personal/order/{orderId}/payment 支付前校验锁券,支付成功后标记优惠券已使用

订单优惠请求字段:

接口 字段 说明
购物车预览、购物车创建 cartItemIdscartItems 指定购物车项,cartItems.quantity 可临时调整下单数量
购物车预览、购物车创建 accountAddressId 参与运费和可用券门槛计算
购物车预览、购物车创建 platformCouponWalletItemId 本单使用的平台券钱包项 ID
购物车预览、购物车创建 merchantCouponWalletItems[].merchantShopId 商户券所属店铺
购物车预览、购物车创建 merchantCouponWalletItems[].walletItemId 商户券钱包项 ID
单商品预览、单商品创建 skuIdquantityaccountAddressId 指定 SKU、数量和地址
单商品预览、单商品创建 platformCouponWalletItemIdmerchantCouponWalletItems 与购物车用券字段一致

订单优惠返回字段:

字段 说明
totalPrice 商品原总金额
totalDiscountPrice 商品价格策略或活动价优惠
couponDiscountAmount 优惠券优惠金额
platformCouponAmount 平台承担优惠金额
merchantCouponAmount 商户承担优惠金额
totalPayPrice 用户最终应付金额
orderSubs 按店铺聚合的子单试算结果
orderSubItems[].productCurrentPrice 当前价格快照,包含活动价、运费和营销快照

联调用券顺序建议:

  1. 调用订单预览接口,不传优惠券,拿到基础金额和店铺拆单结果。
  2. 调用可用券查询接口,展示平台券和商户券。
  3. 用户选择优惠券后,再调用预览接口,传入所选券,展示优惠后金额。
  4. 用户确认下单,调用创建接口,后端锁定优惠券。
  5. 用户支付,调用支付接口,后端校验锁券并标记已使用。
  6. 若取消或支付失败,重新查询卡券钱包,确认卡券状态和流水是否恢复或释放。

错误处理关注点:

场景 前端表现建议
所选卡券不存在或不属于当前用户 提示优惠券不可用,并引导重新选择
卡券已过期、已锁定或已使用 清空本地选择,重新拉取可用券
商户券店铺不匹配 提示该优惠券不适用于当前店铺
优惠券金额超过可优惠金额 以后端返回金额为准,不在前端自行截断
支付前锁券校验失败 提示订单优惠已失效,返回订单确认页重新试算

营销接口

端别 接口名称 方法 路径 权限标识 主要用途 主要调用端 后端 Controller
shared Banner GET /listGET /pageGET /{bannerId}POSTPUTDELETE /api/v1/market/banner *:market:banner:* Banner 维护和展示查询 adminclient BannerController
shared Banner 分组 GET /listGET /pageGET /{bannerGroupId}GET /market-code/{marketCode}POSTPUTDELETEPOST /{bannerGroupId}/add-bannersDELETE /{bannerGroupId}/del-banners /api/v1/market/banner/group *:market:banner:group:* Banner 分组和绑定 adminclient BannerGroupController
shared 广告位 GET /listGET /pageGET /{advertiseId}POSTPUTDELETE /api/v1/market/advertise *:market:advertise:* 广告位维护和查询 adminclient AdvertiseController
shared 广告位分组 GET /listGET /pageGET /{advertiseGroupId}GET /market-code/{marketCode}POSTPUTDELETEPOST /{advertiseGroupId}/add-advertisesDELETE /{advertiseGroupId}/del-advertises /api/v1/market/advertise/group *:market:advertise:group:* 广告分组和绑定 adminclient AdvertiseGroupController
shared 公告 GET /listGET /pageGET /{id}POSTPUTPUT /{id}/publishPUT /{id}/unpublishPUT /{id}/stickyDELETE /api/v1/message/announcement *:message:announcement:* 公告维护、发布、置顶和展示 adminclient MessageAnnouncementController

消息接口

端别 接口名称 方法 路径 权限标识 主要用途 主要调用端 后端 Controller
admin 消息模板 GET /listGET /pageGET /{templateId}POSTPUTDELETE /api/v1/message/template admin:message:template:* 消息模板维护 admin MessageTemplateController
admin 消息内容 GET /listGET /pageGET /{contentId}POSTPUTDELETE /api/v1/message/content admin:message:content:* 消息内容维护 admin MessageContentController
admin 消息路由规则 GET /listGET /pageGET /{ruleId}POSTPUTDELETE /api/v1/message/route-rule admin:message:route-rule:* 消息接收和路由规则 admin MessageRouteRuleController
admin 消息订阅 GET /listGET /pageGET /{subscriptionId}POSTPUTDELETE /api/v1/message/subscription admin:message:subscription:* 订阅配置管理 admin MessageSubscriptionController
admin 消息偏好 GET /listGET /pageGET /{preferenceId}POSTPUTDELETE /api/v1/message/preference admin:message:preference:* 用户消息偏好管理 admin MessagePreferenceController
admin 站内信 GET /listGET /pageGET /{inboxId}PUT /{inboxId}/readDELETE /api/v1/message/inbox admin:message:inbox:* 平台站内信管理 admin MessageInboxController
admin 派发计划 GET /listGET /pageGET /{planId}POSTPUTDELETEPUT /{planId}/startPUT /{planId}/stop /api/v1/message/dispatch-plan admin:message:dispatch-plan:* 消息派发计划 admin MessageDispatchPlanController
admin 派发日志 GET /listGET /pageGET /{logId} /api/v1/message/dispatch-log admin:message:dispatch-log:* 消息派发记录 admin MessageDispatchLogController
admin 消息统计 GETGET /sceneGET /channel /api/v1/message/statistics admin:message:statistics:* 消息统计分析 admin MessageStatisticsController
admin 待办管理 GET /listGET /pageGET /{todoId}POSTPUTDELETE /api/v1/message/todo admin:message:todo:* 平台待办管理 admin MessageTodoController
client 个人消息 GET /pageGET /unread-countGET /{messageInboxId}PUT /{messageInboxId}/readPUT /batch/readPUT /read-allPUT /{messageInboxId}/pinPUT /batch/pinPUT /{messageInboxId}/unpinPUT /batch/unpinPUT /{messageInboxId}/importantPUT /batch/importantPUT /{messageInboxId}/unimportantPUT /batch/unimportantDELETE /{messageInboxId}PUT /batch/delete /api/v1/personal/message client:personal:message:* 消费者站内信 client PersonalMessageController
client 个人消息订阅 POST /sku/{skuId}/arrivalDELETE /sku/{skuId}/arrivalGET /sku/{skuId}/arrival/statusPOST /sku/{skuId}/price-dropDELETE /sku/{skuId}/price-dropGET /sku/{skuId}/price-drop/statusPOST /shop/{shopId}/new-productDELETE /shop/{shopId}/new-productGET /shop/{shopId}/new-product/statusGET /page /api/v1/personal/message/subscription client:personal:message:subscription:* SKU 到货、SKU 降价、店铺上新订阅和订阅分页 client PersonalMessageSubscriptionController
client 个人消息偏好 GET /scenePUT /scene /api/v1/personal/message/preference client:personal:message:preference:* 个人消息偏好 client PersonalMessagePreferenceController
client 个人待办 GET /pageGET /pending-countGET /{todoId}PUT /{todoId}/startPUT /{todoId}/completePUT /{todoId}/cancel /api/v1/personal/todo client:personal:todo:* 消费者待办 client PersonalTodoController
client 商户消息 GET /pageGET /unread-countGET /{messageInboxId}PUT /{messageInboxId}/readPUT /batch/readPUT /read-allPUT /{messageInboxId}/pinPUT /batch/pinPUT /{messageInboxId}/unpinPUT /batch/unpinPUT /{messageInboxId}/importantPUT /batch/importantPUT /{messageInboxId}/unimportantPUT /batch/unimportantDELETE /{messageInboxId}PUT /batch/delete /api/v1/merchant/message client:merchant:message:* 商户站内信 ops MerchantMessageController
client 商户消息偏好 GET /scenePUT /scene /api/v1/merchant/message/preference client:merchant:message:preference:* 商户消息偏好 ops MerchantMessagePreferenceController
client 商户待办 GET /pageGET /pending-countGET /{todoId}PUT /{todoId}/startPUT /{todoId}/completePUT /{todoId}/cancel /api/v1/merchant/todo client:merchant:todo:* 商户待办 ops MerchantTodoController
client 员工消息 GET /pageGET /unread-countGET /{messageInboxId}PUT /{messageInboxId}/readPUT /batch/readPUT /read-allPUT /{messageInboxId}/pinPUT /batch/pinPUT /{messageInboxId}/unpinPUT /batch/unpinPUT /{messageInboxId}/importantPUT /batch/importantPUT /{messageInboxId}/unimportantPUT /batch/unimportantDELETE /{messageInboxId}PUT /batch/delete /api/v1/employee/message client:employee:message:* 员工站内信 ops EmployeeMessageController
client 员工消息偏好 GET /scenePUT /scene /api/v1/employee/message/preference client:employee:message:preference:* 员工消息偏好 ops EmployeeMessagePreferenceController
client 员工待办 GET /pageGET /pending-countGET /{todoId}PUT /{todoId}/startPUT /{todoId}/completePUT /{todoId}/cancel /api/v1/employee/todo client:employee:todo:* 员工待办 ops EmployeeTodoController

前端封装

  • admin/src/api/announcementApi.tsmessageApi.tsnoticeApi.tsoperation.tsmarketingApi.tsadminResourceRegistry.ts
  • client/api/index.jsbannermessagemessagePreferencemessageSubscriptiontodoannouncementcouponWallet 分组。

营销中心当前管理端通过 MarketingResourcesMarketingService 和泛资源页面承接标准列表、详情、新增、修改、删除和业务动作;商户营销路径使用 apiNamespace = client,需要走客户端入口。

维护注意事项

  • 营销活动中心的接口数量较多,管理端标准资源优先走泛资源配置;非标准动作应显式配置动作路径、方法、确认文案和请求体字段。
  • 平台券、商户券、活动价和原价格策略可能同时存在,最终金额必须以后端试算结果为准。
  • 券池库存、预算余额和卡券状态都可能被并发请求改变,创建订单和支付前必须重新以后端校验为准。
  • 商户端接口必须保持当前商户账号隔离,列表接口即使带查询参数也不应放宽商户范围。
  • 补贴确认和结算推进是运营动作,需要保留操作人、操作时间、业务单号和备注。
  • Banner 和广告位需要区分分组、投放位置和启停状态,避免前端拿到无效资源。
  • 公告发布、取消发布和置顶是业务动作,建议保留操作日志。
  • 消息模板变更不应影响已发送消息的历史内容展示。
  • 订阅和偏好应优先尊重用户设置,强提醒类消息需要单独定义。个人消息订阅不是简单场景开关,当前按 SKU 到货、SKU 降价、店铺上新三个目标类型独立维护。
  • 待办必须有明确处理状态,避免同一事项在多个角色下长期悬挂。