This commit is contained in:
邹宗楠
2024-05-24 09:49:14 +08:00
parent 6afc1582fa
commit ad5f763b56
16 changed files with 1547 additions and 81 deletions

View File

@@ -0,0 +1,482 @@
package mtwmapi
//#region 买赠活动
// BatchCreateBuyGiftsParam 活动创建参数
type BatchCreateBuyGiftsParam struct {
AppSpuCode string `json:"app_spu_code"` // APP方商品id
StartTime int64 `json:"start_time"` // 活动开始时间传10位秒级的时间戳
EndTime int64 `json:"end_time"` // 活动结束时间传10位秒级的时间戳
GiftsType int `json:"gifts_type"` // 赠品类型。取值范围0-非本商品非在售商品1-本商品2-非本商品在售商品
GiftsName string `json:"gifts_name,omitempty"` // 为赠品名称
GiftsAppSpuCode string `json:"gifts_app_spu_code,omitempty"` // 非本商品在售商品id当gifts_type=2时上传。
BuyNum int `json:"buy_num"` // 达到送赠品条件的商品购买数量须上传大于0的正整数
GiftsNum int `json:"gifts_num"` // 达到购买数量时赠送的赠品数量。须上传大于0的为正整数。例如buy_num=2gifts_num=3则代表买2件商品赠送3件赠品。
GiftsCharge float64 `json:"gifts_charge"` // 单个赠品的成本单位是元。此字段信息须大于0最多支持两位小数。注意赠品成本为商家成本不涉及美团成本。
GiftsDayLimit int `json:"gifts_day_limit"` // 当日活动赠品库存字段类型int。须上传大于0的正整数或-1如传-1则表示不限制活动赠品库存。
}
// BatchQueryBuyGiftsAll 活动创建参数
type BatchQueryBuyGiftsAll struct {
ItemId int `json:"item_id"` // 活动id
AppSpuCode string `json:"app_spu_code"` // 活动商品为APP方商品id即商家中台系统里商品的编码spu_code值
AppPoiCode string `json:"app_poi_code"` //
GiftsType int `json:"gifts_type"` // 赠品类型参考值0-非本商品非在售商品1-本商品2-非本商品在售商品。
GiftsName string `json:"gifts_name"` // 赠品名称
GiftsAppSpuCode string `json:"gifts_app_spu_code"` // 赠品的app_spu_code信息非活动本商品的店内在售商品。
StartTime int64 `json:"start_time"` // 开始时间
EndTime int64 `json:"end_time"` // 结束时间
BuyNum int `json:"buy_num"` // 达到送赠品条件的商品购买数量
GiftsNum int `json:"gifts_num"` //
BuyGiftsNum int `json:"buy_gifts_num"` //
GiftsCharge float64 `json:"gifts_charge"` //
GiftsDayLimit int `json:"gifts_day_limit"` // 当日活动赠品库存为大于0的正整数或-1如为-1则表示不限制活动赠品库存。
Status int `json:"status"` // 活动当前的状态参考值2-待生效1-生效0-过期
ItemName string `json:"item_name"` // 活动名称
BuyGiftsModel string `json:"buy_gifts_model"` // 补贴模式,目前仅有“商家进货补贴模式(走结算流程)”模式。
Charge string `json:"charge"` // 成本相关,单位是元。参数包括: giftsCharge赠品成本 giftsPoiCharge商家承担成本 giftsMtCharge美团承担成本。
}
type GiftsChargeObj struct {
GiftsPoiCharge string `json:"giftsPoiCharge"` // 商家成本
GiftsMtCharge int `json:"giftsMtCharge"` // 美团成本
GiftsCharge string `json:"giftsCharge"` // 赠品成本
}
//#endregion
//#region 满减活动
// GetDiscountList 获取满减活动列表
type GetDiscountList struct {
ActDetails []struct {
ActId interface{} `json:"act_id"`
ActPrice float64 `json:"act_price"`
AppFoodCode interface{} `json:"app_food_code"`
AppPoiCode interface{} `json:"app_poi_code"`
AppSpuCode interface{} `json:"app_spu_code"`
DayLimit interface{} `json:"day_limit"`
EndTime interface{} `json:"end_time"`
Name interface{} `json:"name"`
OrderLimit interface{} `json:"order_limit"`
OriginPrice float64 `json:"origin_price"`
Period interface{} `json:"period"`
StartTime interface{} `json:"start_time"`
Status interface{} `json:"status"`
Stock interface{} `json:"stock"`
UserType interface{} `json:"user_type"`
WeeksTime interface{} `json:"weeks_time"`
} `json:"act_details"` // 满减活动详情
ActInfo struct { // 活动信息json格式字符串。
ActIds string `json:"act_ids"`
ActName string `json:"act_name"`
ActType interface{} `json:"act_type"`
AutoDelay interface{} `json:"auto_delay"`
EndTime int64 `json:"end_time"`
StartTime int64 `json:"start_time"`
ExtraInfo struct {
Offset interface{} `json:"offset"`
TotalCount interface{} `json:"total_count"`
Limit interface{} `json:"limit"`
PageNum interface{} `json:"page_num"`
TaskId interface{} `json:"task_id"`
BatchActId int64 `json:"batch_act_id"` // 批次维度活动ID
SkuExtraInfo []struct {
AppSpuCode interface{} `json:"app_spu_code"` // 同入参app_spu_code或app_food_code仅在指定商品满减时返回
SkuId interface{} `json:"sku_id"` // 同入参sku_id
SkuActId interface{} `json:"sku_act_id"` // 商品维度的活动ID
} `json:"sku_extra_info"` // sku维度活动额外信息仅在指定商品满减时返回
PageSize interface{} `json:"page_size"`
} `json:"extraInfo"`
Period interface{} `json:"period"`
Quantity int `json:"quantity"` // 参加指定商品满减活动的商品数,仅适用于指定商品满减活动类型。
Status int `json:"status"` // 活动状态。(1)指定商品满减活动状态2-待生效1-生效0-过期。(2)全店满减活动状态0-待生效1-生效2-过期。
WeeksTime interface{} `json:"weeks_time"`
} `json:"act_info"`
ActRemark string `json:"act_remark"`
AppPoiCode string `json:"app_poi_code"`
}
// CreateDiscountList 创建满减活动(门店/商品)
type CreateDiscountList struct {
AppPoiCode string `json:"app_poi_code"` // APP方门店id
ActInfo string `json:"act_info"` // 活动信息 CreateDisCountActInfo
ActDetails string `json:"act_details"` // 活动详情信息json格式数组。活动满减不能超过5层阶梯。[CreateDiscountActDetails]
AppFoods string `json:"app_foods"` // 活动商品信息为json格式数组此字段仅用于创建指定商品满减活动时上传 [CreateDiscountAppFoods]
}
type CreateDisCountActInfo struct {
ActName string `json:"act_name"` // 活动名字
StartTime int64 `json:"start_time"` // 开始时间
EndTime int64 `json:"end_time"` // 结束时间
ActType int `json:"act_type"` // 活动类型取值范围0-全店满减1-指定商品满减。如此字段不传则默认act_type=1表示指定商品满减类型act_type=0时不可以传app_foods字段。
WeeksTime string `json:"weeks_time"` // 生效活动周期, 1、仅当act_type传0全店满减支持传本参数 2、取值范围及意义1,2,3,4,5,6,7分别表示周一至周日多个星期之间用英文逗号分隔 3、非必传创建时如不传则默认周期为"1,2,3,4,5,6,7"。 4、上传的周期相互不能重复
Period string `json:"period"` // 生效时间段, 1、仅当act_type传0全店满减支持传本参数 2、精确到分钟24小时制格式为HH:MM-HH:MM最多支持上传3个时段多个时段之间用英文逗号分隔 3、每个时段的开始时间必须小于结束时间。传的多个时段不允许有重叠。 4、上传多个时段时必须按时间先后顺序进行上传。每个时段最短为30分钟。 5、非必传创建时如不传则默认时段为"00:00:-23:59"。
AutoDelay int `json:"auto_delay"` // 每次活动到期后自动延期30天传1表示开启。 1、仅当act_type传0全店满减支持传本参数。 2、仅支持传1表示开启每当活动到期时自动延期30天。 3、非必传创建活动时如不传则为关闭状态不自动延期。
}
type CreateDiscountActDetails struct {
OriginPrice int `json:"origin_price"` // 表示满的金额
ActPrice int `json:"act_price"` // 表示减的金额
}
type CreateDiscountAppFoods struct {
AppSpuCode string `json:"app_spu_code"` // PP方商品id即商家中台系统里商品的编码
DayLimit int `json:"day_limit"` // 当日活动商品库存仅支持上传大于0的整数或-1如传-1时则表示不限制商品活动库存。
}
// CreateDiscountResult 创建满减活动返回值结构
type CreateDiscountResult struct {
Data string `json:"data"` // ok
SuccessMsg string `json:"success_msg"` // 活动ID
ExtraInfo []DiscountData `json:"extra_info"` //
ResultCode int `json:"result_code"` // 1-全部操作成功查询到的数据在data字段中2-部分成功成功的数据存储在data字段中失败的数据存在error_list字段中3-全部操作失败失败的数据存在error_list字段中4-请求失败一般为签名或限流问题关注error字段中的具体描述即可
SuccessMap []DiscountData `json:"success_map"` // 成功的集合信息
}
type DiscountData struct {
TaskId string `json:"task_id"` // 当商家使用异步排队方式请求接口时返回商家可使用任务id查询任务进度
TaskDetailLink string `json:"task_detail_link"` // 创建异步排队任务成功,返回任务详情链接,通过浏览器打开链接查看任务处理结果
BatchActId string `json:"batch_act_id"` // 批次维度活动ID
SkuExtraInfo []struct {
SkuActId int64 // 商品维度的活动ID
AppSpuCode string // 同入参app_spu_code
SkuId string // 同入参sku_id
} `json:"sku_extra_info"` // sku维度活动额外信息仅在创建成功时返回仅在指定商品满减时返回
}
//#endregion
//#region 运费满减活动
// ShippingFeeResult 满减运费活动配置
type ShippingFeeResult struct {
ResultCode int `json:"result_code"` // 返回状态码
SuccessList []ShippingFeeDetail `json:"success_list"` // 成功上数据列表
Data []ShippingFeeDetail `json:"data"` // 好像是所有的数据列表
}
// ShippingFeeDetail 运费活动返回详情值
type ShippingFeeDetail struct {
AppPoiCode string `json:"app_poi_code"` // 门店code
ActId int `json:"act_id"` // 活动ID
StartTime int `json:"start_time"` // 开始时间
EndTime int `json:"end_time"` // 结束时间
WeeksTime string `json:"weeks_time"` // 活动周期(周一-周末)
Period string `json:"period"` // 生效时间段,多个时段以英文逗号分隔;如创建活动时此字段未填写,则默认时段为"00:00:-23:59"。
ActDetail []struct {
LimitPrice float64 `json:"limit_price"` // 满减门槛
DiscountPrice float64 `json:"discount_price"` // 减配送费
PoiCharge float64 `json:"poi_charge"` // 门店承担费用
MtCharge float64 `json:"mt_charge"` // 美团承担费用
} `json:"act_detail"` // 活动详情
MaxPrice float64 `json:"max_price"` // 免配送费门槛
ActStatus string `json:"actStatus"` // 活动状态NOT_START=待生效IN_PROGRESS=已生效EXPIRED=已过期APPROVE=待审批FREEZE=冻结中。
}
// ShippingFeeBatchCreate 批量创建阶梯满减活动
type ShippingFeeBatchCreate struct {
AppPoiCode string `json:"app_poi_code"` // 门店code
ActData string `json:"act_data"` // 门店满减运费活动信息json格式数组。(1)同一门店同一时间仅允许参加一个活动。(2)同一门店的生效中+待生效活动最多支持20组。
}
// ShippingFeeBatchCreateActData 活动详情
type ShippingFeeBatchCreateActData struct {
StartTime int `json:"start_time"` // 开始时间
EndTime int `json:"end_time"` // 结束时间
WeeksTime string `json:"weeks_time"` // 活动周期(周一-周末)
Period string `json:"period"` // 生效时间段,多个时段以英文逗号分隔;如创建活动时此字段未填写,则默认时段为"00:00:-23:59"。
MaxPrice float64 `json:"max_price"` // 免配送费门槛
ActDetail []ShippingFeeBatchCreateActDataActDetail `json:"act_detail"` // 活动详情
}
type ShippingFeeBatchCreateActDataActDetail struct {
LimitPrice float64 `json:"limit_price"` // 满减门槛
DiscountPrice float64 `json:"discount_price"` // 减配送费
}
// ShippingResultData 运费满减活动创建返回值
type ShippingResultData struct {
ResultCode int `json:"result_code"` // 返回状态码
SuccessList []ShippingFeeDetail `json:"success_list"` // 成功上数据列表
SuccessMsg []ShippingFeeDetail `json:"success_msg"` // 好像是所有的数据列表
Data string `json:"data"`
Msg string `json:"msg"`
}
//#endregion
//#region 创建X元M件活动
// CreateBundlesActParam 创建X件优惠活动
type CreateBundlesActParam struct {
ActId int64 `json:"act_id"` // 更新时填写,活动ID
// 创建时填写
ActName string `json:"act_name"` // 活动名称
StartTime int `json:"start_time"` // 开始时间
EndTime int `json:"end_time"` // 结束时间
ActPrice float64 `json:"act_price"` // 活动价格
ActNum int `json:"act_num"` // 活动数量(表示“X元M件”中的M)
AppFoods []struct {
AppSpuCode string `json:"app_spu_code"` // 传APP方商品id
DayLimit int `json:"day_limit"` // 商品当日活动库存须传大于0的整数或-1如传-1则表示不限制商品活动库存。
} `json:"app_foods"` // 参加活动的商品信息
}
// BundlesSuccessListDetail 创建X件优惠活动返回值
type BundlesSuccessListDetail struct {
ActId int64 `json:"act_id"` // 活动id
BatchActId int64 `json:"batch_act_id"` // 批次维度活动ID
ActDetails []struct {
Discount float64 `json:"discount"` // 活动折扣表示“X件Y折”中的Y折
ActNum int `json:"act_num"` // 活动数量表示“X件Y折”中的X件
} `json:"act_details"` // 活动优惠信息最多返回3个阶梯只有X件Y折返回该信息
ExtraInfo struct {
BatchActId int64 `json:"batch_act_id"` // 批次维度活动ID
SkuExtraInfo []struct {
SkuActId int64 `json:"sku_act_id"` // 商品维度的活动ID该ID是对act_id的补全
AppSpuCode string `json:"app_spu_code"` // 活动商品传APP方商品id即商家中台系统里商品的编码spu_code值
SkuId string `json:"sku_id"` // 商品规格id本接口暂未支持多规格商品创建活动均返回null
}
} `json:"extraInfo"` // 活动额外信息包括批次和商品维度活动idX件Y折不返回该信息
ActName string `json:"act_name"` // 活动名称
StartTime int `json:"start_time"` // 开始时间
EndTime int `json:"end_time"` // 结束时间
ActRemark string `json:"act_remark"` //活动文案
}
// BundlesSkuSuccessListDetail 查询X件商品优惠活动商品信息返回值
type BundlesSkuSuccessListDetail struct {
AppSpuCode string `json:"app_spu_code"` // 活动商品传APP方商品id即商家中台系统里商品的编码spu_code值
SkuId string `json:"sku_id"` // 商品规格id本接口暂未支持多规格商品创建活动均返回null
DayLimit int `json:"day_limit"` // 商品当日活动库存须为大于0的整数或-1如传-1则表示不限制。
}
//#endregion
//#region 加价购活动
// RepurchaseCreate 创建门店加价购活动
type RepurchaseCreate struct {
// 修改时填写
ActId int64 `json:"act_id"` // 活动ID
// 创建时填写
ActName string `json:"act_name"` // 活动名称
StartTime int `json:"start_time"` // 开始时间
EndTime int `json:"end_time"` // 结束时间
ActPrice float64 `json:"act_price"` // 换购门槛,表示可参加本次换购活动的订单金额门店(不包含运费)
ActRemark string `json:"actRemark"` // 加价换购活动描述
AppFoods []RepurchaseCreateAppFoods `json:"app_foods"` // 参加换购的活动商品数据
}
type RepurchaseCreateAppFoods struct {
AppSpuCode string `json:"app_spu_code"` // 活动商品传APP方商品id
ActPrice float64 `json:"act_price"` // 活动价(单价),表示换购一件此商品需额外支付的价格,单位元;活动价不能大于商品原价
DayLimit int `json:"day_limit"` // 商品当日活动库存须为大于0的整数或-1如传-1则表示不限制。
}
type RepurchaseCreateResult struct {
SkuActId string `json:"sku_act_id"` // 商品维度的活动ID该ID是对act_id的补全
AppSpuCode string `json:"app_spu_code"` // 同入参app_spu_code
SkuId string `json:"sku_id"` // 商品规格id本接口暂未支持多规格商品创建活动均返回null
}
// RepurchaseResult 获取门店加价购活动返回值
type RepurchaseResult struct {
ActId int64 `json:"act_id"` // 活动ID
ActName string `json:"act_name"` // 活动名称
StartTime int `json:"start_time"` // 开始时间
EndTime int `json:"end_time"` // 结束时间
ActPrice float64 `json:"act_price"` // 换购门槛,表示可参加本次换购活动的订单金额门店(不包含运费)
ActRemark string `json:"actRemark"` // 加价换购活动描述
OrderLimitTotal int `json:"order_limit_total"` // 每单可换购的商品总数为大于0的整数或-1如为-1则表示不限制。
ExtraInfo struct {
BatchActId int64 `json:"batch_act_id"` // 批次维度活动ID
SkuExtraInfo []struct {
SkuActId int64 `json:"sku_act_id"` // 商品维度的活动ID
AppSpuCode string `json:"app_spu_code"` // 活动商品传APP方商品id
SkuId interface{} `json:"sku_id"` // 商品规格id本接口暂未支持多规格商品创建活动均返回nu
} `json:"sku_extra_info"` // sku维度活动额外信息
} `json:"extraInfo"` // 活动额外信息包括批次和商品维度活动id
}
//#endregion
//#region 商品券活动
// CreateCouponAct 创建门店优惠券活动
type CreateCouponAct struct {
AppPoiCodes string `json:"app_poi_codes"` // 可使用券的门店id列表多个用英文逗号分隔
CouponName string `json:"coupon_name"` // 券名称不能超过12个字符仅支持汉字、数字和字母。
IsSinglePoi int `json:"is_single_poi"` // 券使用范围是否限制单门店取值范围0-门店通用券1-单门店券。(1)门店通用券如app_poi_codes字段传的门店ABC则A门店领ABC门店通用。(2)单门店券A门店领仅A门店用。
AppSpuCodes string `json:"app_spu_codes"` // 参加活动的商品传APP方商品id即商家中台系统里商品的编码spu_code值。(1)如不同门店内同一商品的app_spu_code不同则视为不同商品多个商品id用英文逗号分隔。(2)当创建按折扣的商品券活动且discount=0时本参数仅支持传一个参加活动的商品
SpuData []CreateCouponActSpuData `json:"spu_data"` // 创建商品券活动支持按照sku维度创建传入spu_data字段。若同时传入spu_data和app_spu_code字段默认以spu_data数据为准进行创建商品券
TakeCouponStartTime int64 `json:"take_coupon_start_time"` // 领券开始时间传10位秒级的时间戳。
TakeCouponEndTime int64 `json:"take_coupon_end_time"` // 领券结束时间传10位秒级的时间戳。
UseCouponStartTime int64 `json:"use_coupon_start_time"` // 用券开始时间传10位秒级的时间戳。
CouponLimitCount int64 `json:"coupon_limit_count"` // 活动期间每个用户领券的最大数量限制范围1~99999999的整数。
Type int `json:"type"` // 商品券类型取值范围1-按活动价格2-按折扣。
ActPriceCouponInfo []GetStoreCouponActSuccessListActPriceCouponInfo `json:"act_price_coupon_info"` // 按活动价格的商品券信息json格式数组。按活动价格的商品券活动最多支持设置三层优惠。
DiscountCouponInfo []GetStoreCouponActSuccessListDiscountCouponInfo `json:"discount_coupon_info"` // 按折扣的商品券信息json格式数组。(1)当discount大于0时折扣商品券活动的优惠信息不能超过三层。(2)当discount等于0时为商品兑换券活动仅支持设置一层。
}
// CreateCouponActSpuData SpuData参数
type CreateCouponActSpuData struct {
AppSpuCode string `json:"app_spu_code"` // APP方商品id
SkuId string `json:"sku_id"` // 是sku唯一标识码字段信息限定长度不能超过40个字符。不允许上传emoji等表情符。
Upc string `json:"upc"` // upc
}
//// CreateActPriceCouponInfo ActPriceCouponInfo 参数
//type CreateActPriceCouponInfo struct {
// FullPrice int `json:"full_price"` // 券使用门槛金额范围是1~999的正整数单位元。
// ReducePrice int `json:"reduce_price"` // 券金额范围是1~999的正整数单位元表示达到使用门槛后可以减的金额
// Stock int `json:"stock"` // 券库存范围1-99999的正整数。(1)当选择单门店券时(is_single_poi=1),该库存指的是每门店的券库存。(2) 当选择门店通用券时(is_single_poi=0),该库存指的是所有门店共享的券库存
// UseType int `json:"user_type"` // 可领券的用户取值范围0-新客&老客1-门店联合新客(原新客,全部可用门店为新客)2-老客; 7-门店新客(当前门店为新客)。如不传此字段则默认为0。
//}
//
//// CreateDiscountCouponInfo DiscountCouponInfo 参数
//type CreateDiscountCouponInfo struct {
// FullPrice int `json:"full_price"` // 券使用门槛金额范围是1~999的正整数单位元。
// Discount float64 `json:"discount"` // 折扣系数需大于0且小于10最多一位小数或传0表示兑换券。当discount=0时则此活动为无门槛商品兑换券活动此时app_spu_codes字段上传的商品数不能大于1个且该商品不可再参加其他优惠活动。
// MaxReducePrice int64 `json:"max_reduce_price"`
// Stock int `json:"stock"` // 券库存范围1-99999的正整数。(1)当选择单门店券时(is_single_poi=1),该库存指的是每门店的券库存。(2) 当选择门店通用券时(is_single_poi=0),该库存指的是所有门店共享的券库存
// UseType int `json:"user_type"` // 可领券的用户取值范围0-新客&老客1-门店联合新客(原新客,全部可用门店为新客)2-老客; 7-门店新客(当前门店为新客)。如不传此字段则默认为0。
//}
// CreateStoreCouponActResult 获取门店优惠券活动
type CreateStoreCouponActResult struct {
AppPoiCodes []string `json:"app_poi_codes"` // 门店ID列表
AppSpuCodes []string `json:"app_spu_codes"` // 成功商品列表
UpcList []string `json:"upc_list"` // 成功商品upc列表
ActId int64 `json:"act_id"` // 活动ID
}
// GetStoreCouponActParam 获取门店商品券活动
type GetStoreCouponActParam struct {
AppPoiCode string `json:"app_poi_code"` // 门店ID
ActStatus int `json:"act_status"` // 活动当前状态,取值范围:-1-全部0-未生效1-已生效2-已结束。
StartTime int64 `json:"start_time"` // 开始时间
EndTime int64 `json:"end_time"` // 结束时间
PageNum int `json:"page_num"` // 页码
PageSize int `json:"page_size"` // 页数
}
// GetStoreCouponActSuccessList 获取门店优惠券返回列表
type GetStoreCouponActSuccessList struct {
ActId int64 `json:"actId"` // 活动id
AppPoiCodes string `json:"app_poi_codes"` // 可使用券的门店列表
CouponName string `json:"coupon_name"` // 券名称
IsSinglePoi int `json:"is_single_poi"` // 券使用范围是否限制单门店参考值0-门店通用券1-单门店券。(1)门店通用券如app_poi_codes字段传的门店ABC则A门店领ABC门店通用。(2)单门店券A门店领仅A门店用。
TakeCouponStartTime int64 `json:"take_coupon_start_time"` // 领券开始时间
TakeCouponEndTime int64 `json:"take_coupon_end_time"` // 领券结束时间
UseCouponStartTime int64 `json:"use_coupon_start_time"` // 用券开始时间
CouponLimitCount int64 `json:"coupon_limit_count"` // 活动期间每个用户领券的最大数量限制范围1~99999999的整数
Type int64 `json:"type"` // 商品券类型参考值1-按活动价格2-按折扣。
//ActPriceCouponInfo []interface{} `json:"act_price_coupon_info"` // 按活动价格的商品券信息json格式数组。按活动价格的商品券活动最多支持设置三层优惠
ActPriceCouponInfo []GetStoreCouponActSuccessListActPriceCouponInfo `json:"-"`
//DiscountCouponInfo []interface{} `json:"discount_coupon_info"` // 按折扣的商品券信息json格式数组。(1)当discount大于0时为折扣商品券活动优惠信息最多三层。(2)当discount等于0时为商品兑换券活动优惠信息仅一层
DiscountCouponInfo []GetStoreCouponActSuccessListDiscountCouponInfo `json:"-"`
}
// GetStoreCouponActSuccessListActPriceCouponInfo ActPriceCouponInfo数据
type GetStoreCouponActSuccessListActPriceCouponInfo struct {
FullPrice int `json:"full_price"` // 券使用门槛金额范围是1~999的正整数单位元。
ReducePrice int `json:"reduce_price"` // 券金额范围是1~999的正整数单位元表示达到使用门槛后可以减的金额。
Stock int `json:"stock"` // 券库存范围1-99999的正整数。(1)当选择单门店券时(is_single_poi=1),该库存指的是每门店的券库存。(2) 当选择门店通用券时(is_single_poi=0),该库存指的是所有门店共享的券库存。
UserType int `json:"user_type"` // 可领券的用户取值范围null或0-新客&老客1-门店联合新客(原新客,全部可用门店为新客)2-老客; 7-门店新客(当前门店为新客)。
}
// GetStoreCouponActSuccessListDiscountCouponInfo DiscountCouponInfo
type GetStoreCouponActSuccessListDiscountCouponInfo struct {
FullPrice int `json:"full_price"` // 券使用门槛金额范围是1~999的正整数单位元。
Discount float64 `json:"discount"` // 折扣系数范围0-10之间最多一位小数或为0表示无门槛商品兑换券活
MaxReducePrice int `json:"max_reduce_price"` // 券最高可减金额,单位元。(1)当discount大于0时为折扣商品券活动优惠信息最多三层。(2)当discount等于0时为商品兑换券活动不支持设置最高可减金额max_reduce_price默认为0。
Stock int `json:"stock"` // 券库存范围1-99999的正整数。(1)当选择单门店券时(is_single_poi=1),该库存指的是每门店的券库存。(2) 当选择门店通用券时(is_single_poi=0),该库存指的是所有门店共享的券库存。
UserType int `json:"user_type"` // 可领券的用户取值范围null或0-新客&老客1-门店联合新客(原新客,全部可用门店为新客)2-老客; 7-门店新客(当前门店为新客)。
}
// CouponActSkuListSuccessList 获取商品券活动商品列表
type CouponActSkuListSuccessList struct {
ActId int `json:"actId"` // 活动ID
AppPoiCodes string `json:"app_poi_codes"` // 门店ID
CouponName string `json:"coupon_name"` // 活动名称
IsSinglePoi int `json:"is_single_poi"` // 券使用范围是否限制单门店参考值0-门店通用券1-单门店券。(1)门店通用券如app_poi_codes字段传的门店ABC则A门店领ABC门店通用。(2)单门店券A门店领仅A门店用。
AppSpuCodes string `json:"app_spu_codes"` // 商品ID
TakeCouponStartTime int64 `json:"take_coupon_start_time"` // 领券开始时间
TakeCouponEndTime int64 `json:"take_coupon_end_time"` // 领券结束时间
UseCouponStartTime int64 `json:"use_coupon_start_time"` // 使用开始时间
CouponLimitCount int64 `json:"coupon_limit_count"` // 用户领券最大数
Type int `json:"type"` // 商品券类型参考值1-按活动价格2-按折扣。
ActPriceCouponInfo []GetStoreCouponActSuccessListActPriceCouponInfo `json:"act_price_coupon_info"` // 按活动价格的商品券信息json格式数组。按活动价格的商品券活动最多支持设置三层优惠。
DiscountCouponInfo []GetStoreCouponActSuccessListDiscountCouponInfo `json:"discount_coupon_info"` // 按折扣的商品券信息json格式数组。(1)当discount大于0时为折扣商品券活动优惠信息最多三层。(2)当discount等于0时为商品兑换券活动优惠信息仅一层。
ActStatus int `json:"act_status"`
AppFoodCodes string `json:"app_food_codes"`
CouponRetailType int `json:"coupon_retail_type"`
IsShare int `json:"is_share"`
SpuData []struct {
AppSpuCode string `json:"app_spu_code"`
SkuId string `json:"sku_id"`
Upc string `json:"upc"`
} `json:"spu_data"`
UseCouponEndTime int `json:"use_coupon_end_time"`
ValidityDays int `json:"validity_days"`
}
//#endregion
//#region 第X件优惠活动
// GetStoreXDiscountSuccessList 第X件优惠返回值
type GetStoreXDiscountSuccessList struct {
ActId int64 `json:"act_id"`
BatchActId string `json:"batch_act_id"` // 批次维度活动ID
StartTime int64 `json:"start_time"` // 开始时间
EndTime int64 `json:"end_time"` // 结束时间
ActName string `json:"act_name"` // 活动名字
ActSettingType int `json:"act_setting_type"` // 1字段描述活动子类型选择。 2取值范围0-第N件X折1-第N件X元。 3活动信息的字段规则根据此字段而变化
ActDetails []GetStoreXDiscountSuccessListActDetails `json:"act_details"` // 1字段描述活动具体信息。 2至少有一阶最多三阶。
ExtraInfo GetStoreXDiscountSuccessListExtraInfo `json:"extra_info"`
}
// GetStoreXDiscountSuccessListActDetails ActDetails
type GetStoreXDiscountSuccessListActDetails struct {
Price string `json:"price"` // 1字段描述活动商品售价 2取值范围0≤X最多支持两位小数。 3此范围当“活动子类型”为1时有效
Discount string `json:"discount"` // 1字段描述活动商品折扣系数。 2取值范围0≤X≤9.99,最多支持两位小数。 3此范围当“活动子类型”为0时有效
Index int `json:"index"` // 1字段描述活动商品件数。 2取值范围N1≤N≤5
}
// GetStoreXDiscountSuccessListExtraInfo ExtraInfo
type GetStoreXDiscountSuccessListExtraInfo struct {
BatchActId int64 `json:"batch_act_id"` // 批次维度活动ID
SkuExtraInfo []struct {
SkuActId int64 `json:"sku_act_id"` // 商品维度的活动ID该ID是对act_id的补全
AppSpuCode string `json:"app_spu_code"` // 同入参app_spu_code
SkuId string `json:"sku_id"` // 商品规格id本接口暂未支持多规格商品创建活动均返回null
} `json:"sku_extra_info"` // sku维度活动额外信息
}
// CreateStoreXDiscountParam 创建地X件优惠活动
type CreateStoreXDiscountParam struct {
ActId int64 `json:"act_id"`
ActName string `json:"act_name"` // 活动名字
StartTime int64 `json:"start_time"` // 开始时间
EndTime int64 `json:"end_time"` // 结束时间
ActSettingType int `json:"act_setting_type"` // 1字段描述活动子类型选择。 2取值范围0-第N件X折1-第N件X元。 3活动信息的字段规则根据此字段而变化
ActDetails []GetStoreXDiscountSuccessListActDetails `json:"act_details"` // 1字段描述活动具体信息。 2至少有一阶最多三阶。
ActProducts []struct {
AppSpuCode string `json:"app_spu_code"` // 原app_food_code字段 1字段描述活动商品编码。 2选择第N件X元时所选商品原价必须大于活动价X。 3仅支持单规格商品参加活动 4商品原价乘活动件数必须大于活动价。 5如填写了活动id输入未在活动中存在的app_spu_code默认为在该活动中新增参加活动的商品。 6如填写了活动id输入已在活动中存在的app_spu_code则认为更新此活动中该商品库存信息。
DayLimit int `json:"day_limit"` // 1字段描述活动商品当日库存。 2格式正整数不大于999999999。 3如当日库存为无限则传-1。
} `json:"act_products"`
}
// CreateStoreXDiscountResult 创建X件优惠返回值
type CreateStoreXDiscountResult struct {
SkuActId int64 `json:"sku_act_id"` // 商品维度的活动ID该ID是对act_id的补全
AppSpuCode string `json:"app_spu_code"` // 同入参app_spu_code
SkuId string `json:"sku_id"` // 商品规格id本接口暂未支持多规格商品创建活动均返回null
}
//#endregion