抖音开放平台Logo
开发者文档
“/”唤起搜索
控制台
  • 行业插件介绍
  • 申请行业插件
  • 使用行业插件
  • 电商插件
  • 短剧插件
  • 生服插件
  • 预下单
  • 支付
  • 营销
  • plugin.computePromotion
  • 预约
  • 逆向交易
  • 生服组件
  • plugin.computePromotion

    收藏
    我的收藏
    基础库 2.74.0.0 开始支持本方法,低版本需做兼容处理,这是一个异步方法。
      •提供开发者查询平台和商家营销信息以及算价的能力
      ◦抖音来客配置营销路径:营销推广 - 营销中心 - 商家活动
      ◦注意:账号融合链路(交易2.0)行业无法使用抖音来客营销
      •特殊说明
      ◦融合预约多sku商品不支持使用营销优惠。
      ◦营销优惠可叠加使用,调用接口时,平台会自动计算用户可叠加最优优惠进行返回,开发者仅需关注CalculationResultInfo结构下返回的营销数据即可。
      ◦开发者测试过程中需使用真机测试,且需保证对应测试人员有对应商品优惠券,否则无法获取营销信息。
      ◦首次获取营销时,needDefaultMarketing必须为true。
      ◦不支持测试商品调用该接口。

    使用限制

    在使用生服插件中的组件和 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
    feeDetailsList
    FeeDetailsInfo
    FeeDetailsInfo 说明见下文
    ​
    否
    存在额外费用比如打包费、配送费、基建费、燃油费、税费、预约加价费时,必传
    2.51.0.0

    FeeDetailsInfo

    属性名
    类型
    默认值
    是否必填
    说明
    最低支持版本
    feeType
    number
    无
    是
    ​
    费用类型
    •1: 配送费
    •2: 包装费
    •18:基建费
    •19:燃油费
    •20:税费
    •22:预约加价费
    2.51.0.0
    ​
    feeAmount
    number
    无
    是
    费用总金额
    2.51.0.0
    feeDiscountAmount
    number
    无
    否
    费用总优惠金额
    2.51.0.0
    ​
    feeDesc
    string
    ​
    否
    费用描述
    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~1000(1000为最大值,以实际返回值为准)
    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:渠道专享价
    6:平台礼金
    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,开发者可以选择两种方式接入营销信息,第一种是接入营销算价二合一拓展点,营销信息由开发者维护,第二种是在抖音来客为商品配置营销信息(仅融合商品支持),二者可以同时存在。