抖音
  1. 营销算价
抖音
  • 简介
  • 签名算法
  • 接口调用凭证
    • 经营能力调用凭证
      • BusinessToken 生成
      • BusinessToken 刷新
      • 经营能力当前状态查询
    • 非用户授权调用凭证
      • 获取应用授权调用凭证
      • getAccessToken
    • 用户授权调用凭证
      • 获取用户授权调用凭证
      • 刷新用户授权调用凭证
      • 刷新授权调用凭证
  • 登录
    • code2Session
      POST
  • 小程序码与小程序链接
    • Schema 链接
      • 生成SchemaV2
      • 查询SchemaV2
      • 查询Schema配额V2
    • Link链接
      • 生成 Link V2
      • 查询 Link 配额V2
      • 查询 Link V2
    • 二维码
      • 生成QRCodeV2
  • 私域经营
    • 私信管理
      • IM主动授权webhook
      • 主动发送私信
    • 群聊管理
      • 粉丝群webhook
        • 用户加群申请 webhook
        • 用户加群webhook
      • 查询群信息
      • 设置进群问候语&群公告
      • 创建粉丝群
      • 取消进群问候语&群公告配置
      • 变更用户入群申请状态
      • 查询用户剩余建群额度
      • 查询群主所在群的用户入群申请状态
    • 经营工具
      • 小程序引导卡片
        • 创建/更新小程序引导卡片模板
        • 查询小程序引导卡片模板
        • 删除小程序引导卡片模板
      • 图片上传
  • 线索组建
    • 创建线索组件
    • 查询已创建的线索组件
    • 更新线索组件
    • 删除线索组件
  • 视频能力
    • 视频数据查询
      • 查询特定视频的视频数据
    • 近 30 天用户视频数据
      • 获取视频基础数据
      • 获取视频点赞数据
      • 获取视频评论数据
      • 获取视频播放数据
      • 获取视频分享数据
    • 视频评论数据
      • 置顶评论
      • 评论回复列表
      • 评论列表
      • 回复视频评论
    • videoid转换itemid
    • itemid转换encryptid
  • 搜索能力
    • 创建抖音搜索直达子服务
    • 查询已创建的抖音搜索直达子服务列表
    • 删除抖音搜索直达子服务
    • 校验是否有搜索直达服务的创建权限
  • 电商
    • 注册小程序积分阈值
    • 注册小程序预览图
    • 查询订单的定制完成状态
    • 定制类小程序开发者注册信息
    • 退会
  • 生活服务
    • 店铺接入
      • 商铺同步
      • 查询店铺
      • 获取抖音POI ID
      • 店铺匹配任务结果查询
      • 店铺匹配状态查询
      • 提交门店匹配任务
      • 查询全部店铺信息接口(天级别请求5次)
      • 查询店铺全部信息任务返回内容
    • 商品库接入
      • (老版本)SKU同步
      • (老版本)sku拉取(该接口由接入方实现)
      • (老版本)多门店SPU同步
      • (老版本)多门店SPU状态同步
      • (老版本)多门店SPU库存同步
      • (老版本)多门店SPU信息查询
      • 创建/修改团购商品
      • 免审修改商品
      • 上下架商品
      • 同步库存
      • 查询商品模板
      • 查询商品草稿数据
      • 查询商品线上数据
      • 查询商品线上数据列表
      • 查询商品草稿数据列表
      • 用于创建多 SKU 商品。
      • 查询商品品类
    • 端内消息同步
      • 订单同步
    • poi数据接入
      • 获取POI基础数据
      • POI用户数据
      • POI服务基础数据
      • POI服务成交用户数据
      • POI热度榜
      • POI认领列表
    • poi基础能力
      • 通过高德POI ID获取抖音POI ID
    • 优惠卷接入
      • 优惠券同步
      • 优惠券更新
    • CPS佣金设置与查询
      • 通用佣金计划查询带货数据
      • 通用佣金计划查询达人带货数据
      • 通用佣金计划查询带货达人列表
      • 通用佣金计划查询达人带货详情
      • 查询通用佣金计划
      • 发布/修改通用佣金计划
      • 修改通用佣金计划状态
      • 发布/修改直播间定向佣金计划
      • 发布/修改短视频定向佣金计划
      • 修改定向佣金计划状态
      • 取消定向佣金计划指定的达人
      • 查询达人的定向佣金计划带货数据
      • 通过商品 ID 查询定向佣金计划
      • 查询定向佣金计划带货汇总数据
  • 用户信息
    • 用户抖音主页数据
      • 获取用户视频情况
      • 获取用户粉丝数
      • 获取用户点赞数
      • 获取用户评论数
      • 获取用户分享数
      • 获取用户主页访问数
  • 分享
    • 拍抖音任务
      • 拍抖音任务变更推送
      • 创建任务
      • 查询用户任务进度
    • 拍抖音互动任务
      • 拍抖音互动任务变更推送
      • 创建任务
      • 查询用户任务进度
    • 分享任务
      • 创建任务
      • 查询用户任务进度
  • 客服
    • CustomerServiceUrl
  • 小程序卷
    • 「小程序券」直播玩法接入指南
    • 小程序券API列表
    • 更新日志
    • 用户卷管理
      • 查询用户可用券信息
      • 用户领券结果回调通知
      • 用户撤销核销券
      • 用户手机号授权结果回调通知
      • 用户核销券
    • 主播授权管理
      • 查询主播发券配置信息
      • 修改主播发券权限状态
      • 更新主播发券库存上限
      • 主播发券权限配置
    • 卷模版管理
      • 查询授权用户发放的活动信息
      • 创建券模板
      • 修改券模板
      • 删除券模板
      • 修改券模板库存
      • 修改券模板状态
      • 查询券模板发放统计数据
      • 查询券模板
      • 查询对账单
    • 接口发放管理
      • 创建开发者接口发券活动
      • 开发者接口发券
      • 删除开发者接口发券活动
  • 交易系统
    • 通用交易系统
      • 通用参数
      • 进件
        • 接口进件
          • 图片上传
          • 发起进件
          • 进件查询
        • 获取进件页面链接
          • 开发者获取小程序收款商户/合作方进件页面
          • 服务商获取小程序收款商户进件页面
          • 服务商获取服务商进件页面
          • 服务商获取合作方进件页面
      • 标签
        • 查询标签组信息
      • 订单
        • 查询CPS信息
        • 查询订单信息
        • 支付结果回调
      • 退款
        • 发起退款
        • 查询退款
        • 同步退款审核结果
        • 退款申请回调扩展点
        • 退款结果通知
      • 履约
        • 推送履约状态
      • 结算
        • 发起分账
        • 查询分账
        • 通知分账结果
      • 提现
        • 接口提现
          • 商户余额查询
          • 商户提现
          • 商户提现结果查询
        • 获取提现页面链接
          • 开发者获取小程序收款商户/合作方提现页面
          • 服务商获取小程序收款商户提现页面
          • 服务商获取服务商提现页面
          • 服务商获取合作方提现页面
      • 获取对账单
        • 获取资金账单
        • 获取交易账单
    • 生活服务交易系统(金融合板)
      • 通用参数
      • 错误码和返回码
      • 查询接口
        • 查询订单信息
        • 查询券状态信息
        • 查询 CPS 信息
      • 预下单
        • 预下单扩展点
        • 开发者发起下单
      • 营销算价
        • 营销算价扩展点介绍
        • 查询营销算价扩展点
      • 支付
        • 支付结果通知
      • 核销
        • 抖音码
          • 验券准备
          • 验券
          • 撤销核销
          • 券码核销通知
          • 撤销核销通知
        • 三方码
          • 推送核销状态
          • 撤销核销
      • 分账
        • 查询分账
      • 退货退款
        • 开发者发起退款
        • 同步退款审核结果
        • 查询退款
        • 退款扩展点
        • 退款结果通知
    • 生活服务交易系统(账号融合版)
      • 错误码和返回码
      • 通用参数
      • 预约
        • 创建预约单
        • 预约接单结果回调
        • 商家取消预约
        • 用户取消预约
        • 查询预约单信息
        • 预约接单超时回调
        • 预约取消/完成通知
      • 查询接口
        • 查询订单信息
        • 查询券状态信息
        • 查询CPS信息
      • 预下单
        • 预下单回调
        • 关闭订单
        • 发起下单
      • 营销算价
        • 营销算价扩展点介绍
        • 查询营销信息扩展点
        • 算价扩展点
        • 营销查询算价二合一
      • 支付
        • 通知支付结果
      • 核销
        • 抖音码
          • 验券准备
          • 验券
        • 三方码
          • 推送核销状态
        • 核销工具
          • 查询用户券列表
          • 查询订单可用门店
          • 券核销消息通知
          • 撤销核销消息通知
          • 设置商家展示信息
          • 查询商家配置文案
          • 设置订单详情页按钮白名单接口
          • 设置小程序跳转path
      • 分账
        • 发起分账
        • 查询分账
        • 通知分账结果
      • 退货退款
        • 发起退款
        • 同步退款审核结果
        • 查询退款
        • 退款申请回调
        • 通知退款结果
    • 行业交易系统
      • API 调用
        • 通用参数
        • 错误码和返回码
      • 回调设置
        • 设置回调地址
        • 查询回调地址
      • 预下单
        • 查询 CPS 信息
        • 查询订单信息
        • 预下单回调
        • 开发者发起下单
      • 营销算价
        • 营销算价扩展点介绍
        • 查询营销信息扩展点
          POST
        • 设置扩展点
          POST
        • 算价扩展点
          POST
    • 支付
      • 通知支付结果
    • 核销
      • 抖音码
        • 验券准备
        • 验券
        • 查询劵状态信息
      • 三方码
        • 推送核销状态
      • 分账
        • 发起分账
        • 查询分账
        • 通知分账结果
    • 提货退款
      • 开发者发起退款
      • 同步退款审核结果
      • 查询退款
      • 退款申请回调
      • 通知退款结果
  • 内容安全
    • 内容安全检测
    • 图片检测V2
    • 图片检测V3
  • 泛知识
    • 角色系统
      • 错误码
      • 上传材料
      • 代运营服务商帮老师或代运营模式机构入驻
      • 自营机构/服务商入驻
      • 新增角色
      • 查询基础认证资质
      • 更新基础认证资质
      • 查询类目认证资质
      • 更新类目认证资质
      • 添加类目认证资质
      • 获取审核任务详情
      • 小程序绑定角色
      • 小程序解除绑定角色
      • 查询小程序已绑定的角色
      • 角色授权小程序
      • 解除授权小程序
      • 查询授权小程序
      • 更新授权小程序授权信息
      • 查询抖音号绑定、能力授权
      • 新增抖音号绑定、能力授权
      • 解除抖音号绑定、解除能力授权
      • 查询实体ID
      • 查询实体已绑定抖音号列表
    • 课程库
      • 【泛知识】回调通知
      • 【泛知识】课程库 FAQ
      • 【泛知识】错误码
      • 【泛知识】上传课程资源
      • 【泛知识】查询课程资源上传状态
      • 【泛知识】查询资质
      • 【泛知识】添加课程
      • 【泛知识】修改课程
      • 【泛知识】修改课程状态
      • 【泛知识】查询课程
      • 【泛知识】修改课程免审
      • 【泛知识】查询免审课程
      • 【泛知识】修改商品退款规则
      • 【泛知识】查询可选退款规则
      • 【泛知识】查询课程类目信息
  • 担任支付
    • 进件
      • 进件状态回调
      • 发起进件请求
      • 图片上传接口
      • 进件状态查询
    • 支付
      • 支付结果回调
      • 支付常见问题
      • 预下单接口
      • 唤起收银台
      • 支付结果查询
    • 退款
      • 退款结果回调
      • 退款常见问题
      • 发起退款
      • 退款结果查询
    • 结算及分账
      • 收费规则
      • 结算及分账常见问题
      • 自动结算
        • 自动结算接入说明
        • 自动结算结果回调
        • 自动结算结果查询
      • 发起结算及分账
      • 结算及分账结果查询
      • 结算及分账结果回调
      • 可分账余额查询
    • 退分账
      • 发起退分账
      • 查询分账回退结果
    • 提现
      • 商户余额查询
      • 商户提现
      • 商户提现结果查询
      • 商户提现回调
    • 获取对账单
      • 获取交易账单
      • 获取资金账单
    • 接口获取页面链接
      • 进件
        • 开发者获取小程序收款商户/合作方进件页面
        • 服务商获取小程序收款商户进件页面
        • 服务商获取服务商进件页面
        • 服务商获取合作方进件页面
      • 提取
        • 开发者获取小程序收款商户/合作方提现页面
        • 服务商获取小程序收款商户提现页面
        • 服务商获取服务商提现页面
        • 服务商获取合作方提现页面
    • 订单推送
      • 订单同步
  • 评价
    • 获取评价数据
  • 其他
    • 用户登录态签名
    • 抖音开放平台与小程序视频打通能力
      • 抖音开放平台与小程序视频打通能力
      • 视频使用能力能力
    • 开放能力配置接口
      • 开放能力配置接口
      • 配置开放能力实现接口
      • 查询生效中配置接口
    • 解决方案测试实体管理接口
      • 解决方案测试实体管理接口
      • 新增测试实体接口
      • 查询测试实体接口
      • 删除测试实体接口
    • 直播间自定义封面
    • 上传资源
    • 能力申请
    • 查询能力申请状态
  • 订阅消息
    • 查询订阅消息模版库
    • 发送订阅消息
    • 查询小程序的模版列表
    • 添加模板
    • 删除已添加的模版
    • 查询新建订阅消息模板列表
    • 新建订阅消息模板
  • 小程序推广计划
    • 短视频任务
      • 创建任务
        • 小程序任务台能力
        • 创建任务
      • 查询任务台任务投稿视频数据(明细)
      • 查询任务台任务投稿视频数据
      • 查询小程序任务台任务 ID
      • 更新任务状态
      • 重新提交任务基础信息
      • 查询任务详情
      • 更新专属任务达人
      • 查询视频任务相关实时汇总数据
    • 直播间任务
      • 创建直播间任务
      • 更新直播间任务
  • 挂载
    • 自主挂载
      • 获取作者视频列表
      • 自主挂载存量视频绑定锚点
      • 自主挂载存量视频解绑锚点
    • 小程序直播挂载黑白名单管理能力
    • 拍抖音黑白名单管理能力
    • 申请短视频自主挂载能力
    • 查询短视频自主挂载能力申请状态
    • 申请直播自主挂载能力
    • 查询直播自主挂载能力申请状态
    • 申请短视频达人推广挂载能力
    • 查询短视频达人推广挂载能力申请状态
    • 查询直播达人推广挂载能力申请状态
    • 申请直播达人推广挂载能力
    • 短视频/直播自主挂载能力绑定抖音号
    • 获取短视频/直播自主挂载抖音号绑定二维码
    • 查询短视频/直播自主挂载能力绑定抖音号列表
    • 解除短视频/直播自主挂载能力抖音号绑定
    • 挂载权限校验
    • 修改短视频锚点配置
    • 查询短视频锚点配置
    • 查询短视频锚点配置修改记录及状态
    • 图片上传
    • 图片审核状态查询
    • 图片删除
    • 设置全局默认配置
    • 设置指定页面配置
    • 查询全局默认配置
    • 查询指定页面配置
    • 删除指定页面配置
    • 讲解卡动态更新
  • 分发
    • 添加小程序别名
    • 查询小程序别名
    • 修改小程序别名
    • 删除小程序别名
    • 设置小程序搜索标签
    • 查询小程序搜索标签列表
  • 引导关注抖音号
    • 绑定抖音号
    • 获取抖音号绑定二维码
    • 获取绑定抖音号列表
    • 解除抖音号绑定
  • 数据分析
    • 用户分析
      • 行为分析
      • 实时分析
      • 留存分析
      • 来源分析
      • 用户画像
      • 终端分析
      • 页面分析
    • 交易分析
      • 总览分析
      • 流量转化
      • 短视频交易分析
      • 获取直播房间数据
      • 直播数据分析
      • 直播交易分析
      • 商品分析
    • 短视频分析
      • 短视频投稿数据
      • 短视频总览数据
      • 短视频详细数据
      • 流量来源
    • 直播分析
      • 直播间详细数据
        • 接口 1
        • 接口 2
      • 直播间总览数据
      • 主播分析
    • 小房子直播分析
      • 小房子直播间总览数据
      • 小房子直播间详细数据
      • 小房子直播间订单数据
    • 留资分析
      • 组件使用数据
      • 流量来源
      • 组件详细数据
      • 组件使用对比
  • 服务类目
    • 获取已设置的服务类目
  • 直播间能力
    • 查询跳转抖音直播间能力申请状态
    • 申请跳转抖音直播间能力
    • 查询直播间状态组件能力申请状态
    • 申请直播间状态组件能力
  • 抖音开放能力
    • 查询抖音开放能力列表
    • 申请开通抖音开放能力
    • 查询scope配额详情
    • scope申请提额
    • 查询视频关键词列表
    • 新增视频关键词
    • 删除视频关键词
  • 页面结构自定义
    • 查询页面结构自定义能力申请状态
    • 申请页面结构自定义能力
  • 普通二维码绑定
    • 查询普通二维码绑定列表
    • 新增绑定二维码
    • 更新绑定二维码链接
    • 更新绑定二维码状态
    • 删除绑定二维码链接
  • 抖音号绑定
    • 获取抖音号绑定所需的资质模版列表
    • 获取抖音号绑定所需的资质模版信息
    • 输入抖音号绑定
    • 获取抖音号绑定二维码
    • 查询抖音号绑定列表及状态
    • 解除抖音号绑定
  • 流量主
    • 查询流量主开通状态
    • 开通流量主
    • 查询广告位列表
    • 新增广告位
    • 更新广告位状态
    • 查询广告收入
    • 查询广告结算单列表
  • 抖店绑定
    • 绑定抖店开放平台账号
    • 查询绑定的抖店开放平台账号信息
    • 配置抖店开放平台应用
    • 查询配置的抖店开放平台应用信息
    • 获取绑定抖店账号信息
  1. 营销算价

算价扩展点

开发环境
http://dev-cn.your-api-server.com
开发环境
http://dev-cn.your-api-server.com
POST
/api/v2/query_marketing_info

当用户在模版组件提单页下单时,抖音开平交易系统会携带用户选择营销信息,向开发者的服务发起请求,获取基于用户所选营销信息的算价结果。

基本信息

基本信息
HTTP URL开发者通过扩展点设置接口设置的 calculation_callback 路径
HTTP MethodPOST

msg 字段

名称类型是否必填描述示例值
open_idstring是用户 open_id"123rq0gjhdfoqierug"
goods_calculation_infolist否商品算价信息,仅包含该商品使用的商品维度营销策略[goods1, goods2]
order_calculation_infoobject否订单算价信息,仅包含该订单使用的订单维度营销策略
app_idstring是小程序 id"ttcfdb50e33351"
union_idstring否用户的 UnionID"123jhdfoqieee"
callback_datastring否透传参数

说明:

order_calculation_info 和 goods_calculation_info 的区别是优惠维度不同,举个例子:

  • 星冰乐单品5折券属于商品维度优惠,应该放在goods_calculation_info中
  • 订单满200-20属于订单维度优惠,应该放在order_calculation_info中
名称类型是否必填描述示例值校验逻辑
goods_idstring是商品id"123rfoqierug"非空
quantitynumber是购买数量1须>=0且<50
total_amountnumber是商品总价,单位分10000须大于 0
using_marketingobject(marketing_brief)否营销策略使用信息,仅包含该商品的商品维度优惠信息

order_calculation_info 结构说明

名称类型是否必填描述示例值校验逻辑
using_marketingobject(marketing_brief)否营销策略使用信息,仅包含该订单的订单维度优惠信息
total_amountnumber是商品总价,单位分10000须大于 0

注意:marketing_brief 结构说明见查询营销信息拓展点接口中 marketing_brief 说明。

请求示例

  • 这个请求表达的含义是:用户(123rq0gjhdfoqierug)准备购买1份商品(7116845279713691692),订单原始金额100分,使用商品维度优惠信息有:活动(activity_id_2_fen_MOCK_和activity_id_1_fen_MOCK_),优惠券(coupon_id_90_fen_MOCK_);无订单维度优惠信息;请返回算价结果

{

"open_id": "123rq0gjhdfoqierug",

"app_id": "ttxxxxxxxx",

"goods_calculation_info": [

{

​ "goods_id": "7116845279713691692",

​ "quantity": 1,

​ "total_amount": 100,

​ "using_marketing": {

​ "activity_ids": ["activity_id_2_fen_MOCK_", "activity_id_1_fen_MOCK_"],

​ "coupon_ids": ["coupon_id_90_fen_MOCK_"],

​ "membership_ids": [],

​ "score_info": []

​ }

}

],

"order_calculation_info": {

"total_amount": 100,

"using_marketing": {

​ "activity_ids": [],

​ "coupon_ids": [],

​ "membership_ids": [],

​ "score_info": []

}

}

}

说明:

1、订单原价total_amount,订单总优惠total_discount_amount

    • total_amount = sum(goods_calculation_result_info.total_amount) = sum(item_calculation_result_info.total_amount)
    • total_discount_amount=order_total_discount_amount + goods_total_discount_amount,订单总优惠金额=商品维度的优惠金额+订单维度的优惠金额
    • total_discount_amount = sum(goods_calculation_result_info.total_discount_amount) = sum(item_calculation_result_info.total_discount_amount)

2、calculation_type表示算价类型,即计算优惠分摊的类型

    • calculation_type=1,开发者将优惠分摊到goods层,只需返回order_calculation_result_info,goods_calculation_result_info,交易系统会按均摊逻辑帮开发者计算到item层
    • calculation_type=2,开发者将优惠分摊到item层,需返回order_calculation_result_info,goods_calculation_result_info,item_calculation_result_info

3、order_calculation_result_info,goods_calculation_result_info,item_calculation_result_info表达的是优惠分摊逻辑。order, goods, item代表订单的三层结构,order有N个goods,每个goods有M个item(M是购买的份数),item表示单份商品。订单总优惠金额 = order层的优惠明细聚合 = goods层的优惠明细聚合 = item层的优惠明细聚合

4、举个例子,一笔订单购买2杯奶茶,总价100元,使用80-10活动优惠和星冰乐单品立减5元优惠券,实付金额85元,表达分摊的逻辑如下

    • 订单总优惠金额 total_discount_amount =1500,单位[分]
    • order层,order_calculation_result_info,order_total_discount_amount=1000,goods_total_discount_amount=500
    • goods层,goods_calculation_result_info数组长度为1,goods_calculation_result_info[0].total_discount_amount=1500
    • item层,item_calculation_result_info数组长度为2,items[0].total_discount_amount=750,items[1].total_discount_amount=750

order_calculation_result 结构说明

说明:

  • 整个订单实际优惠金 total_discount_amount = order_total_discount_amount + goods_total_discount_amount。

  • 营销明细按照 discount_range 的聚合结果必须和 order_total_discount_amount/goods_total_discount_amount 一致。

    • order_total_discount_amount = sum(discount_range=1的marketing_detail.discount_amount)
    • goods_total_discount_amount = sum(discount_range=2的marketing_detail.discount_amount)
名称类型是否必填描述示例值校验逻辑
order_total_discount_amountnumber是订单维度总优惠金额,单位分,如订单满减5000须大于等于 0
goods_total_discount_amountnumber是商品维度总优惠金额,单位分,如咖啡第二杯半价1000须大于等于 0
marketing_detail_infolist否营销明细,包含该订单的订单维度和商品维度所有优惠信息[detail1, detail2]有重复检验,id + type +subtype 必须唯一

goods_calculation_result 元素结构说明

说明:

  • 商品 total_discount_amount 和营销明细聚合结果必须一致。

    • total_discount_amount = sum(marketing_detail.discount_amount)
  • 所有商品的 total_amount/total_discount_amount 聚合结果必须和订单总total_amount/total_discount_amount 一致。

    • total_amount = sum(goods.total_amount)
    • total_discount_amount = sum(goods.total_discount_amount)
  • 所有商品营销明细的聚合结果必须和订单营销明细一致(主要聚合 total_discount_amount 和 value)

    • 例如,对于优惠券A:order层的marketing_detailA.discount_amount = sum(goods层的marketing_detailA.discount_amount)
    • order_total_discount_amount = sum(discount_range=1的marketing_detail.discount_amount)
    • goods_total_discount_amount = sum(discount_range=2的marketing_detail.discount_amount)
名称类型是否必填描述示例值校验逻辑
goods_idstring是商品id"123jherug"非空
quantitynumber是购买数量1>0 且<= 50
total_amountnumber是商品总价,单位分10000> 0
total_discount_amountnumber是该商品总优惠金额,该商品的实付金额 = total_amount - total_discount_amount5000>=0 且 <= total_amount
marketing_detail_infolist否营销明细,包含该商品使用的订单维度和商品维度所有优惠信息[detail1, detail2]有重复检验,id + type + subtype 必须唯一

item_calculation_result 元素结构说明

说明:

  • item表示单份商品

  • 仅当 calculation_type = 2 时会校验 item 算价结果。calculation_type=1时,系统会用默认均摊逻辑帮开发者计算item层的优惠分摊。

  • item total_discount_amount 和营销明细聚合结果必须一致。

    • total_discount_amount = sum(marketing_detail.discount_amount)
  • 某个商品下的所有 item 的 total_amount/total_discount_amount 聚合结果必须和商品总 total_amount/total_discount_amount 一致。

  • item营销明细的聚合结果必须和商品营销明细一致(主要聚合 total_discount_amount 和 value)

    • 例如,对于优惠券A:goods层的marketing_detailA.discount_amount = sum(item层的marketing_detailA.discount_amount)
名称类型是否必填描述示例值校验逻辑
goods_idstring是商品id"123oerug"非空
total_amountnumber是item原价,单位分10000>0
total_discount_amountnumber是item总优惠金额,该item的实付金额 = total_amount - total_discount_amount5000>= 0且<= total_amount
marketing_detail_infolist否营销明细,包含该 item 订单维度和商品维度的所有优惠信息[detail1, detail2]有重复检验,id + type + subtype 必须唯一

MarketingDetail 结构说明

说明:

  • 当 value 不为 0 的时候,discount_amount 不能为 0(即不允许消耗积分却没有折扣)。

  • marketing_detail_info在order,goods,item三个层级都有,区别是它表示某个营销项在这一层级分摊的优惠金额。比如一笔订单购买2杯奶茶,总价100元,使用优惠券A满100-10元,实付90元。优惠券A会出现在3个层级的marketing_detail_info里

      • 在order层,detailA.discount_amount=1000,单位[分]
      • 在goods层,detailA.discount_amount=1000,
      • 在item层,由于优惠分摊到两份商品上,detailA1.discount_amount=500,detailA2.discount_amount=500
  • 对于某个具体的优惠券,它出现在3个层级的优惠明细里,除了value和discount_amount由于分摊具体的值会不一样,其他属性值都是一样的

  • discount_range,表示优惠的维度,举个例子

    • 星冰乐单品5折券属于商品维度优惠,discount_range=2
    • 订单满200-20属于订单维度优惠,discount_range=1
名称类型是否必填描述示例值校验逻辑
idstring是营销 id(用户身份 id,优惠券 id,积分 id 或者活动 id)”ioejfioa"非空, <=64字节
typenumber是营销类型, 1:用户身份 2:优惠券 3:积分 4:活动2
discount_amountnumber是该营销策略优惠金额,单位分3000须大于 0
titlestring是营销名称"满 50 减 10 元优惠券"非空, <=64字节
notestring是营销备注"该优惠券仅在部分门店使用"非空,<=256字节
subtypestring否子营销类型礼品卡、满减券非空时须<=64字节
valuenumber否营销分值,某些类型的营销会有,积分和 discount_amount 有一定的关系积分、卡的值 消耗一定积分,换取一定优惠非空时须大于等于 0
discount_rangenumber是营销适用维度: 1:订单维度 2:商品维度1
codestring否优惠券编码"49dkjg04jf04kg"优惠券类型必填
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location --request POST 'http://dev-cn.your-api-server.com/api/v2/query_marketing_info?timestamp=1345678901234&nonce=iuy987q4htafreqw' \
--header 'Signature: irqy39487t092h3fiqufheiufhqyt9q' \
--header 'Content-Type: application/json' \
--data-raw '{
    "version": 2.0,
    "type": "calculate_price",
    "msg": "{\"open_id\":\"123rq0gjhdfoqierug\",\"app_id\":\"ttxxxxxxxx\",\"goods_calculation_info\":[{\"goods_id\":\"7116845279713691692\",\"quantity\":1,\"total_amount\":100,\"using_marketing\":{\"activity_ids\":[\"activity_id_2_fen_MOCK_\",\"activity_id_1_fen_MOCK_\"],\"coupon_ids\":[\"coupon_id_90_fen_MOCK_\"],\"membership_ids\":[],\"score_info\":[]}}],\"order_calculation_info\":{\"total_amount\":100,\"using_marketing\":{\"activity_ids\":[],\"coupon_ids\":[],\"membership_ids\":[],\"score_info\":[]}}}"
}'
响应示例响应示例
200 - 成功示例
{
  "err_no": 0,
  "err_tips": "success",
  "data": {
    "calculation_type": 1,
    "goods_calculation_result_info": [
      {
        "goods_id": "7116845279713691692",
        "quantity": 1,
        "total_amount": 100,
        "total_discount_amount": 93,
        "marketing_detail_info": [
          {
            "id": "activity_id_2_fen_MOCK_",
            "type": 4,
            "discount_amount": 2,
            "title": "[活动] 满 0.20 减 0.02 元",
            "note": "活动优惠",
            "discount_range": 2,
            "subtype": "商家侧子营销类型默认值"
          },
          {
            "id": "activity_id_1_fen_MOCK_",
            "type": 4,
            "discount_amount": 1,
            "title": "[活动] 满 0.10 减 0.01 元",
            "note": "活动优惠",
            "discount_range": 2,
            "subtype": "商家侧子营销类型默认值"
          },
          {
            "id": "coupon_id_90_fen_MOCK_",
            "type": 2,
            "discount_amount": 90,
            "title": "[券] 满 0.91 减 0.90 元",
            "note": "用券优惠",
            "discount_range": 2,
            "subtype": "商家侧子营销类型默认值",
            "code": "coupon_id_90_fen_MOCK_"
          }
        ],
        "sku_id": null
      }
    ],
    "order_calculation_result_info": {
      "order_total_discount_amount": 0,
      "goods_total_discount_amount": 93,
      "marketing_detail_info": [
        {
          "id": "activity_id_2_fen_MOCK_",
          "type": 4,
          "discount_amount": 2,
          "title": "[活动] 满 0.20 减 0.02 元",
          "note": "活动优惠",
          "discount_range": 2,
          "subtype": "商家侧子营销类型默认值"
        },
        {
          "id": "activity_id_1_fen_MOCK_",
          "type": 4,
          "discount_amount": 1,
          "title": "[活动] 满 0.10 减 0.01 元",
          "note": "活动优惠",
          "discount_range": 2,
          "subtype": "商家侧子营销类型默认值"
        },
        {
          "id": "coupon_id_90_fen_MOCK_",
          "type": 2,
          "discount_amount": 90,
          "title": "[券] 满 0.91 减 0.90 元",
          "note": "用券优惠",
          "discount_range": 2,
          "subtype": "商家侧子营销类型默认值",
          "code": "coupon_id_90_fen_MOCK_"
        }
      ]
    },
    "item_calculation_result_info": [],
    "total_amount": 100,
    "total_discount_amount": 93
  }
}

请求参数

Query 参数
timestamp
string 
必需
示例值:
1345678901234
nonce
string 
必需
示例值:
iuy987q4htafreqw
Header 参数
Content-Type
string 
必需
示例值:
application/json
Signature
string 
必需
示例值:
irqy39487t092h3fiqufheiufhqyt9q
Body 参数application/json
version
integer 
必需
固定值: 2.0。 callback 版本,用于开发者识别回调参数的变更
type
string 
必需
枚举值: pre_create_order 预下单回调 pre_create_refund 预退款回调 query_marketing_info 查询营销信息 calculate_price 算价回调
msg
string 
必需

当用户在模版组件提单页下单时,抖音开平交易系统会携带用户选择营销信息,向开发者的服务发起请求,获取基于用户所选营销信息的算价结果。 ## 基本信息 | 基本信息 | | | --------------- | ------------------------------------------------------------ | | HTTP URL | 开发者通过扩展点设置接口设置的 calculation_callback 路径 | | HTTP Method | POST | ### msg 字段 | 名称 | 类型 | 是否必填 | 描述 | 示例值 | | ---------------------- | ------------ | ------------ | ---------------------------------------------------- | -------------------- | | open_id | string | 是 | 用户 open_id | "123rq0gjhdfoqierug" | | goods_calculation_info | list | 否 | 商品算价信息,仅包含该商品使用的商品维度营销策略 | [goods1, goods2] | | order_calculation_info | object | 否 | 订单算价信息,仅包含该订单使用的订单维度营销策略 | | | app_id | string | 是 | 小程序 id | "ttcfdb50e33351" | | union_id | string | 否 | 用户的 UnionID | "123jhdfoqieee" | | callback_data | string | 否 | 透传参数 | | 说明: order_calculation_info 和 goods_calculation_info 的区别是优惠维度不同,举个例子: - 星冰乐单品5折券属于商品维度优惠,应该放在goods_calculation_info中 - 订单满200-20属于订单维度优惠,应该放在order_calculation_info中 | 名称 | 类型 | 是否必填 | 描述 | 示例值 | 校验逻辑 | | --------------- | ----------------------- | ------------ | ---------------------------------------------------- | -------------- | ------------ | | goods_id | string | 是 | 商品id | "123rfoqierug" | 非空 | | quantity | number | 是 | 购买数量 | 1 | 须>=0且<50 | | total_amount | number | 是 | 商品总价,单位分 | 10000 | 须大于 0 | | using_marketing | object(marketing_brief) | 否 | 营销策略使用信息,仅包含该商品的商品维度优惠信息 | | | #### order_calculation_info 结构说明 | 名称 | 类型 | 是否必填 | 描述 | 示例值 | 校验逻辑 | | --------------- | ----------------------- | ------------ | ---------------------------------------------------- | ---------- | ------------ | | using_marketing | object(marketing_brief) | 否 | 营销策略使用信息,仅包含该订单的订单维度优惠信息 | | | | total_amount | number | 是 | 商品总价,单位分 | 10000 | 须大于 0 | 注意:marketing_brief 结构说明见查询营销信息拓展点接口中 marketing_brief 说明。 ## 请求示例 - 这个请求表达的含义是:用户(123rq0gjhdfoqierug)准备购买1份商品(7116845279713691692),订单原始金额100分,使用商品维度优惠信息有:活动(activity_id_2_fen_MOCK_和activity_id_1_fen_MOCK_),优惠券(coupon_id_90_fen_MOCK_);无订单维度优惠信息;请返回算价结果 { "open_id": "123rq0gjhdfoqierug", "app_id": "ttxxxxxxxx", "goods_calculation_info": [ { ​ "goods_id": "7116845279713691692", ​ "quantity": 1, ​ "total_amount": 100, ​ "using_marketing": { ​ "activity_ids": ["activity_id_2_fen_MOCK_", "activity_id_1_fen_MOCK_"], ​ "coupon_ids": ["coupon_id_90_fen_MOCK_"], ​ "membership_ids": [], ​ "score_info": [] ​ } } ], "order_calculation_info": { "total_amount": 100, "using_marketing": { ​ "activity_ids": [], ​ "coupon_ids": [], ​ "membership_ids": [], ​ "score_info": [] } } } 说明: 1、订单原价total_amount,订单总优惠total_discount_amount - - total_amount = sum(goods_calculation_result_info.total_amount) = sum(item_calculation_result_info.total_amount) - total_discount_amount=order_total_discount_amount + goods_total_discount_amount,订单总优惠金额=商品维度的优惠金额+订单维度的优惠金额 - total_discount_amount = sum(goods_calculation_result_info.total_discount_amount) = sum(item_calculation_result_info.total_discount_amount) 2、calculation_type表示算价类型,即计算优惠分摊的类型 - - calculation_type=1,开发者将优惠分摊到goods层,只需返回order_calculation_result_info,goods_calculation_result_info,交易系统会按均摊逻辑帮开发者计算到item层 - calculation_type=2,开发者将优惠分摊到item层,需返回order_calculation_result_info,goods_calculation_result_info,item_calculation_result_info 3、order_calculation_result_info,goods_calculation_result_info,item_calculation_result_info表达的是优惠分摊逻辑。order, goods, item代表订单的三层结构,order有N个goods,每个goods有M个item(M是购买的份数),item表示单份商品。订单总优惠金额 = order层的优惠明细聚合 = goods层的优惠明细聚合 = item层的优惠明细聚合 4、举个例子,一笔订单购买2杯奶茶,总价100元,使用80-10活动优惠和星冰乐单品立减5元优惠券,实付金额85元,表达分摊的逻辑如下 - - 订单总优惠金额 total_discount_amount =1500,单位[分] - order层,order_calculation_result_info,order_total_discount_amount=1000,goods_total_discount_amount=500 - goods层,goods_calculation_result_info数组长度为1,goods_calculation_result_info[0].total_discount_amount=1500 - item层,item_calculation_result_info数组长度为2,items[0].total_discount_amount=750,items[1].total_discount_amount=750 ### order_calculation_result 结构说明 说明: - 整个订单实际优惠金 total_discount_amount = order_total_discount_amount + goods_total_discount_amount。 - 营销明细按照 discount_range 的聚合结果必须和 order_total_discount_amount/goods_total_discount_amount 一致。 - - order_total_discount_amount = sum(discount_range=1的marketing_detail.discount_amount) - goods_total_discount_amount = sum(discount_range=2的marketing_detail.discount_amount) | 名称 | 类型 | 是否必填 | 描述 | 示例值 | 校验逻辑 | | --------------------------- | ------------ | ------------ | ---------------------------------------------------- | ------------------ | --------------------------------------- | | order_total_discount_amount | number | 是 | 订单维度总优惠金额,单位分,如订单满减 | 5000 | 须大于等于 0 | | goods_total_discount_amount | number | 是 | 商品维度总优惠金额,单位分,如咖啡第二杯半价 | 1000 | 须大于等于 0 | | marketing_detail_info | list | 否 | 营销明细,包含该订单的订单维度和商品维度所有优惠信息 | [detail1, detail2] | 有重复检验,id + type +subtype 必须唯一 | ### goods_calculation_result 元素结构说明 说明: - 商品 total_discount_amount 和营销明细聚合结果必须一致。 - - total_discount_amount = sum(marketing_detail.discount_amount) - 所有商品的 total_amount/total_discount_amount 聚合结果必须和订单总total_amount/total_discount_amount 一致。 - - total_amount = sum(goods.total_amount) - total_discount_amount = sum(goods.total_discount_amount) - 所有商品营销明细的聚合结果必须和订单营销明细一致(主要聚合 total_discount_amount 和 value) - - 例如,对于优惠券A:order层的marketing_detailA.discount_amount = sum(goods层的marketing_detailA.discount_amount) - order_total_discount_amount = sum(discount_range=1的marketing_detail.discount_amount) - goods_total_discount_amount = sum(discount_range=2的marketing_detail.discount_amount) | 名称 | 类型 | 是否必填 | 描述 | 示例值 | 校验逻辑 | | --------------------- | --------------------- | ------------ | ------------------------------------------------------------ | ------------------ | ---------------------------------------- | | goods_id | string | 是 | 商品id | "123jherug" | 非空 | | quantity | number | 是 | 购买数量 | 1 | >0 且<= 50 | | total_amount | number | 是 | 商品总价,单位分 | 10000 | > 0 | | total_discount_amount | number | 是 | 该商品总优惠金额,该商品的实付金额 = total_amount - total_discount_amount | 5000 | >=0 且 <= total_amount | | marketing_detail_info | list | 否 | 营销明细,包含该商品使用的订单维度和商品维度所有优惠信息 | [detail1, detail2] | 有重复检验,id + type + subtype 必须唯一 | ### item_calculation_result 元素结构说明 说明: - item表示单份商品 - 仅当 calculation_type = 2 时会校验 item 算价结果。calculation_type=1时,系统会用默认均摊逻辑帮开发者计算item层的优惠分摊。 - item total_discount_amount 和营销明细聚合结果必须一致。 - - total_discount_amount = sum(marketing_detail.discount_amount) - 某个商品下的所有 item 的 total_amount/total_discount_amount 聚合结果必须和商品总 total_amount/total_discount_amount 一致。 - item营销明细的聚合结果必须和商品营销明细一致(主要聚合 total_discount_amount 和 value) - - 例如,对于优惠券A:goods层的marketing_detailA.discount_amount = sum(item层的marketing_detailA.discount_amount) | 名称 | 类型 | 是否必填 | 描述 | 示例值 | 校验逻辑 | | --------------------- | --------------------- | ------------ | ------------------------------------------------------------ | ------------------ | ---------------------------------------- | | goods_id | string | 是 | 商品id | "123oerug" | 非空 | | total_amount | number | 是 | item原价,单位分 | 10000 | >0 | | total_discount_amount | number | 是 | item总优惠金额,该item的实付金额 = total_amount - total_discount_amount | 5000 | >= 0且<= total_amount | | marketing_detail_info | list | 否 | 营销明细,包含该 item 订单维度和商品维度的所有优惠信息 | [detail1, detail2] | 有重复检验,id + type + subtype 必须唯一 | ### MarketingDetail 结构说明 说明: - 当 value 不为 0 的时候,discount_amount 不能为 0(即不允许消耗积分却没有折扣)。 - marketing_detail_info在order,goods,item三个层级都有,区别是它表示某个营销项在这一层级分摊的优惠金额。比如一笔订单购买2杯奶茶,总价100元,使用优惠券A满100-10元,实付90元。优惠券A会出现在3个层级的marketing_detail_info里 - - - 在order层,detailA.discount_amount=1000,单位[分] - 在goods层,detailA.discount_amount=1000, - 在item层,由于优惠分摊到两份商品上,detailA1.discount_amount=500,detailA2.discount_amount=500 - 对于某个具体的优惠券,它出现在3个层级的优惠明细里,除了value和discount_amount由于分摊具体的值会不一样,其他属性值都是一样的 - discount_range,表示优惠的维度,举个例子 - - 星冰乐单品5折券属于商品维度优惠,discount_range=2 - 订单满200-20属于订单维度优惠,discount_range=1 | 名称 | 类型 | 是否必填 | 描述 | 示例值 | 校验逻辑 | | --------------- | -------- | ------------ | ------------------------------------------------------------ | --------------------------------------- | ------------------ | | id | string | 是 | 营销 id(用户身份 id,优惠券 id,积分 id 或者活动 id) | ”ioejfioa" | 非空, <=64字节 | | type | number | 是 | 营销类型, 1:用户身份 2:优惠券 3:积分 4:活动 | 2 | | | discount_amount | number | 是 | 该营销策略优惠金额,单位分 | 3000 | 须大于 0 | | title | string | 是 | 营销名称 | "满 50 减 10 元优惠券" | 非空, <=64字节 | | note | string | 是 | 营销备注 | "该优惠券仅在部分门店使用" | 非空,<=256字节 | | subtype | string | 否 | 子营销类型 | 礼品卡、满减券 | 非空时须<=64字节 | | value | number | 否 | 营销分值,某些类型的营销会有,积分和 discount_amount 有一定的关系 | 积分、卡的值 消耗一定积分,换取一定优惠 | 非空时须大于等于 0 | | discount_range | number | 是 | 营销适用维度: 1:订单维度 2:商品维度 | 1 | | | code | string | 否 | 优惠券编码 | "49dkjg04jf04kg" | 优惠券类型必填 |

示例

返回响应

🟢200成功
application/json
Body
err_no
integer 
必需
错误码,0 代表成功
err_tips
string 
错误提示信息
必需
data
object 
必需
算价拓展点返回的信息
calculation_type
integer 
必需
算价类型 1:计算到goods层 2:计算到item层
goods_calculation_result_info
array [object {6}] 
必需
goods层算价结果信息
order_calculation_result_info
object 
必需
order层算价结果信息
item_calculation_result_info
array[string]
可选
item层算价结果信息
total_amount
integer 
必需
订单总价格,单位: 分
total_discount_amount
integer 
必需
订单总优惠价格,单位分,订单最终价格 = total_amount - total_discount_amount
🟠400请求有误
上一页
设置扩展点
下一页
通知支付结果
Built with