抖音开放平台Logo
开发者文档
“/”唤起搜索
控制台

plugin.computePromotion

收藏
我的收藏
基础库 2.74.0.0 开始支持本方法,低版本需做兼容处理,这是一个异步方法。
提供开发者查询平台和商家营销信息以及算价的能力

使用限制

在使用生服插件中的组件和 API 前,需要对行业插件有一个基本了解,可以参考文档:行业插件介绍,然后按照以下步骤及顺序使用生服插件中的能力:
1.参考 申请行业插件 完成插件的申请,注意只有小程序拥有生服类目资质才可见申请入口;
2.参考 使用行业插件 进行能力的调用;
行业插件在抖音 App 版本 31.8.0 及以上,小程序基础库版本 3.4x.0.0 及以上时支持。

语法

plugin.computePromotion(options)

参数说明

options

属性名
类型
默认值
必填
说明
最低支持版本
goodsMarketingInfo
GoodsMarketingInfo[]
GoodsMarketingInfo 说明见下文
商品维度使用的营销 + 商品信息
2.51.0.0
orderMarketingInfo
OrderMarketingInfo
订单维度使用的营销
2.51.0.0
needDefaultMarketing
boolean
是否需要返回默认选中营销
2.51.0.0
callbackData
string
开发者透传字段
2.51.0.0
success
Function
接口调用成功的回调函数
2.51.0.0
fail
Function
接口调用失败的回调函数
2.51.0.0
complete
Function
接口调用结束的回调函数(调用成功、失败都会执行)
2.51.0.0

GoodsMarketingInfo

属性名
类型
默认值
必填
说明
最低支持版本
goodsId
string
商品 id
2.51.0.0
skuId
string
sku 商品id
2.51.0.0
quantity
number
购买数量
2.51.0.0
totalAmount
number
商品总价,单位【分】
2.51.0.0
selectedMarketing
MarketingBundle
MarketingBundle 说明见下文
商品维度选中的营销
2.51.0.0

OrderMarketingInfo

属性名
类型
默认值
必填
说明
最低支持版本
totalAmount
number
订单总金额,单位【分】
2.51.0.0
selectedMarketing
MarketingBundle
MarketingBundle 说明见下文
订单维度选中的营销
2.51.0.0

MarketingBundle

属性名
类型
默认值
必填
说明
最低支持版本
couponInfo
CouponInfo[]
CouponInfo 说明见下文
优惠券信息
2.51.0.0
scoreInfo
ScoreInfo[]
ScoreInfo 说明见下文
积分信息
2.51.0.0
activityInfo
ActivityInfo[]
ActivityInfo 说明见下文
活动信息
2.51.0.0

CouponInfo

属性名
类型
默认值
必填
说明
最低支持版本
id
string
优惠券 id
2.51.0.0
code
string
优惠券编码
2.51.0.0
type
number
优惠券类型
    1:立减券
    2:满减券
    3:折扣券
2.51.0.0
name
string
优惠券名称
2.51.0.0
rule
string
使用规则描述
2.51.0.0
startTime
number
有效起始时间戳
2.51.0.0
endTime
number
有效结束时间戳
2.51.0.0
receiveTime
number
领取时间戳
2.51.0.0
discountAmount
number
优惠金额,单位 分
2.51.0.0
deductPercentage
number
折扣百分比, 0~100
2.51.0.0
denyReasons
string[]
优惠券不可用原因
2.51.0.0
detailUrl
string
优惠券详情跳转链接
2.51.0.0
kind
number
营销类别
    1:商家
    2:平台
2.51.0.0
creatorType
number
创建人类型
    1:抖音平台
    2:抖音来客—商家
    3:小程序商家
2.51.0.0
marketingExtend
object
透传字段
2.51.0.0

ScoreInfo

属性名
类型
默认值
必填
说明
最低支持版本
id
string
积分 id
2.51.0.0
value
number
积分值
2.51.0.0
name
string
积分名称
2.51.0.0
kind
number
营销类别
    1:商家
    2:平台
2.51.0.0
creatorType
number
创建人类型
    1:抖音平台
    2:抖音来客—商家
    3:小程序商家
2.51.0.0
marketingExtend
object
透传字段
2.51.0.0

ActivityInfo

属性名
类型
默认值
必填
说明
最低支持版本
id
string
活动 id
2.51.0.0
name
string
活动名称
2.51.0.0
type
number
1:秒杀
2:运费立减
3:立减
4:会员专享价
5:渠道专享价
2.51.0.0
rule
string
活动规则
2.51.0.0
startTime
number
活动开始时间戳
2.51.0.0
endTime
number
活动结束时间戳
2.51.0.0
kind
number
营销类别
    1:商家
    2:平台
2.51.0.0
creatorType
number
创建人类型
    1:抖音平台
    2:抖音来客—商家
    3:小程序商家
2.51.0.0
marketingExtend
object
透传字段
2.51.0.0

回调成功

object类型
属性名
类型
说明
goodsMarketingList
GoodsMarketing[]
GoodsMarketing 说明见下文
商品维度营销信息
orderMarketing
OrderMarketing
OrderMarketing 说明见下文
订单维度营销信息
calculationResult
CalculationResultInfo
CalculationResultInfo 说明见下文
算价结果

GoodsMarketing

属性名
类型
默认值
必填
说明
goodsId
string
商品id
skuId
string
sku_id
quantity
number
商品数量
totalAmount
number
商品总价,单位[分]
availableMarketing
MarketingBundle
MarketingBundle 说明见上文
商品维度可用营销策略
unavailableMarketing
MarketingBundle
MarketingBundle 说明见上文
商品维度不可用营销策略

OrderMarketing

属性名
类型
默认值
必填
说明
totalAmount
number
订单总金额,单位[分]
availableMarketing
MarketingBundle
MarketingBundle 说明见上文
订单维度可用营销策略
unavailableMarketing
MarketingBundle
MarketingBundle 说明见上文
订单维度不可用营销策略

CalculationResultInfo

属性名
类型
默认值
必填
说明
calculationType
number
算价维度类型
1 - 订单维度
2 - 单商品维度
totalAmount
number
订单总价格,单位: 分
totalDiscountAmount
number
订单总优惠价格,单位:分
订单最终价格 = totalAmount - totalDiscountAmount
goodsCalculationResultInfo
GoodsCalculationResInfo[]
GoodsCalculationResInfo 说明见下文
当前订单的商品维度算价结果信息
orderCalculationResultInfo
OrderCalculationResInfo
OrderCalculationResInfo说明见下文
当前订单的全部算价结果信息
itemCalculationResultInfo
ItemCalculationResInfo[]
ItemCalculationResInfo说明见下文
当前订单的item单维度算价结果信息

GoodsCalculationResInfo

属性名
类型
默认值
必填
说明
goodsId
string
商品id
skuId
string
skuId
quantity
number
购买数量
totalAmount
number
商品总价,单位[分]
totalDiscountAmount
number
该商品总优惠金额
该商品的实付金额=total_amount-discount_amount
marketingDetailInfo
MarketingDetail[]
营销明细

OrderCalculationResInfo

属性名
类型
默认值
必填
说明
goodsTotalDiscountAmount
number
商品维度总优惠金额,单位: 分
整个订单的优惠金额 = order_total_discount_amount + goods_total_discount_amount
orderTotalDiscountAmount
number
订单维度总优惠金额,单位: 分
marketingDetailInfo
MarketingDetail[]
营销明细

ItemCalculationResInfo

属性名
类型
默认值
必填
说明
goodsId
string
商品id
skuId
string
sku_id
totalAmount
number
商品总价,单位:分
totalDiscountAmount
number
该商品总优惠金额,该商品的实付金额=total_amount-discount_amount
marketingDetailInfo
MarketingDetail[]
营销明细

MarketingDetail

属性名
类型
默认值
必填
说明
id
string
营销id(用户身份id,优惠券id,积分id或者活动id)
type
number
营销类型,1: 用户身份 2: 优惠券 3: 积分 4: 活动 5: 卡(暂不支持)
discountAmount
number
该营销策略优惠金额,单位: 分
title
string
营销名称
note
string
营销备注
subtype
string
子营销类型
value
number
营销分值,某些类型的营销会有,积分和discount_amount有一定的关系
discountRange
number
营销适用维度:1 - 订单维度 2 - 商品维度
code
string
优惠券编码
kind
number
营销类别
    1:商家
    2:平台
creatorType
number
创建人类型
    1:抖音平台
    2:抖音来客—商家
    3:小程序商家
marketingExtend
object
透传字段

回调失败

参数类型为 object,属性如下:
属性名
类型
说明
errNo
string
错误码
errMsg
string
错误信息提示
errLogId
string
当请求失败时会提供该数据,可供服务端排查问题

代码示例

初次请求

const plugin = tt.requirePlugin('tta5a3d31e3aecfb9b11'); plugin.computePromotion({ goodsMarketingInfo: [{ goodsId: "7186645863265994756", quantity: 3, totalAmount: 600 }], needDefaultMarketing: true, // 需要返回默认优惠 });

切换选中营销后的请求

const plugin = tt.requirePlugin('tta5a3d31e3aecfb9b11'); plugin.computePromotion({ goodsMarketingInfo: [{ goodsId: "7186645863265994756", quantity: 3, totalAmount: 600, selectedMarketing: { // 选中的营销 activityInfo: [{ creatorType: 3, endTime: 4071052800000, id: "activity_id_5_fen_MOCK_", kind: 1, marketingExtend: {}, name: "满 0.10 减 0.05 元的满减活动", rule: "满 0.10 减 0.05 元的满减活动", startTime: 4070793600000 }]scoreInfo: [], couponInfo: [{ code: "7254455688511064122", creatorType: 1, detailUrl: "优惠券详情跳转链接", discountAmount: 1, endTime: 4071052800000, id: "7254452546054390528", kind: 2, marketingExtend: {}, name: "立减 0.01 元的平台优惠券", receiveTime: 4070793601000, rule: "立减 0.01 元的平台优惠券", startTime: 4070793600000, type: 2 }, { code: "7254457650912675899", creatorType: 2, detailUrl: "优惠券详情跳转链接", discountAmount: 40, endTime: 4071052800000, id: "7254456545570768911", kind: 1, marketingExtend: {}, name: "商家满减券", receiveTime: 4070793601000, rule: "商家满减券", startTime: 4070793600000, type: 2 }], } }], orderMarketingInfo: { totalAmount: 600, selectedMarketing: { activityInfo: [], scoreInfo: [], couponInfo: [] } }, needDefaultMarketing: false, // 不需要返回默认优惠 });

Bug & Tip

    Tip:IDE 目前由于登录态原因可能不支持调试,调试 JSAPI 请以预览扫码的小程序调试结果为准;
    Tip:使用此 API,开发者可以选择两种方式接入营销信息,第一种是接入营销算价二合一拓展点,营销信息由开发者维护,第二种是在抖音来客为商品配置营销信息(仅融合商品支持),二者可以同时存在。