查询商品模板接口
用于创建商品前查询商品模板信息。
接口信息
attr_key_value_map 的格式
根据「查询商品模板」查出的模板,可以看到该行业该类型下的商品对应的可传的相关属性,技术需要关心的字段主要是以下几个:
- 1.key - 属性主键,attr_key_value_map 的 key 是什么
- 2.is_required - 是否必传
- 3.is_multi - 是否列表,需要和 value_type 组合起来看。例如:
- a.value_type=STRING(表示字符串,具体参见下文),is_multi=true,则表示 value 是一个字符串列表(也就是 list)类型;
- b.value_type=IMAGE(表示图片控件,具体参见下文),is_multi=true,则表示 value 是一个图片控件结构体列表(也就是 list)类型;
- 4.value_type - attr_key_value_map 的 value 类型,枚举可参见后文的表格。
attr_key_value_map 的类型 是 map<string,string>,如果 value_type 为其他值类型需转换为 string
- 5.value_type 为整数/浮点数:转为十进制格式的 string
- 6.value_type 为布尔值:转为"true"或"false"
- 7.value_type 为结构体或结构体列表:需要使用 json 序列化
ID | 枚举值 | 含义 | 说明 | 结构定义(thrift 格式) |
2 | INT64 | 整数 | | i64 |
3 | BOOL | 布尔值 | | bool |
4 | STRING | 字符串 | | string |
6 | DOUBLE | 浮点数 | | double |
100 | IMAGE | 图片控件(ImageStruct) | url、名称 | struct ImageStruct { 1: optional string name 3: optional string url } |
101 | USE_TIME | 使用时间控件(UseTimeStruct) | 全天/仅指定时间可用;时间段(比如12:-14:) | enum UseTimeTypeEnum { ALL_DAY = 1 // 全天可用 SPECIFIC_TIME = 2 // 仅指定时间可用 } struct TimePeriodStruct { 2: required string use_start_time // 开始时间 00:00:00 3: required string use_end_time // 结束时间 00:00:00 4: optional bool end_time_is_next_day // 是否跨天 } struct UseTimeStruct { 1: required UseTimeTypeEnum use_time_type // 1全天可用,2仅指定时间可用 2: optional list<TimePeriodStruct> time_period_list // 时间段 } |
103 | USE_DATE | 可使用日期(UseDateStruct) | 指定日期/指定天数;购买后多少天有效;可用开始时间;可用结束时间; | enum UseDateTypeEnum { SPECIFIC_DATE = 1 // 指定日期 RELATIVE_DATE = 2 // 指定天数 } struct UseDateStruct { 1: required UseDateTypeEnum use_date_type // 1指定日期 2指定天数; 2: optional i32 day_duration // 购买后X天有效,use_date_type=2时有效 3: optional string use_start_date // yyyy-MM-dd 开始日期,use_date_type=1时有效 4: optional string use_end_date // yyyy-MM-dd 结束日期,use_date_type=1时有效 } |
104 | CAN_NO_USE_DATE | 不可使用日期(CanNoUseDateStruct) | 开关;指定周几不可用;指定节假日不可用;指定日期不可用;节假日具体日期 | enum HolidayEnum { NEW_YEAR = 1 // 元旦 SPRING_FESTIVAL = 2 // 春节 TOMB_SWEEPING_DAY = 3 // 清明 MAY_DAY = 4 // 劳动节 DRAGON_BOAT_FESTIVAL = 5 // 端午节 MID_AUTUMN_FESTIVAL = 6 // 中秋节 NATIONAL_DAY = 7 // 国庆节 VALENTINE_DAY = 8 // 情人节 CHRISTMAS = 9 // 圣诞节 } enum DayOfWeekEnum { MONDAY = 1 TUESDAY = 2 WEDNESDAY = 3 THURSDAY = 4 FRIDAY = 5 SATURDAY = 6 SUNDAY = 7 } struct CanNoUseDateStruct { 1: required bool enable // 开关,启用需要为true 2: optional list < DayOfWeekEnum &rt days_of_week // 指定周几不可用 3: optional list < HolidayEnum &rt holidays // 指定节假日不可用 4: optional list < string &rt date_list // yy-MM-dd 指定日期,不可用 5: optional map < HolidayEnum, string &rt holiday_dates // 节假日不可用具体日期,例如:"holiday_dates":{"1":"2021.01.01-2021.01.03","7":"2021.10.01-2021.10.07"} } |
105 | APPOINTMENT | 预约控件(AppointmentStruct) | 是否需要预约;提前X天;提前X小时;第三方预约入口;第三方已预约订单查看入口;需预约日期类型(1-指定周期、2-指定日期);需周几;需预约日期 | enum AheadTimeTypeEnum { DAY = 1 HOUR = 2 MINUTE = 3 } struct AppointmentStruct { 1: optional bool need_appointment // 是否需要预约 2: optional i32 ahead_day_num // 需要提前X天电话预约 3: optional string external_link // 第三方提供预约入口,需要过机审。 4: optional string order_appointment_time_url // 第三方提供的查看已预约订单入口,需要过机审 5: optional AheadTimeTypeEnum ahead_time_type // 提前预约时间类型, need_appointment = true时该字段必填 6: optional i32 ahead_hour_num // 需要提前X小时电话预约 7: optional i32 ahead_minute_num // 需要提前X分钟电话预约 } |
106 | NOTE | 富文本控件(NoteStruct) | 类型(文本/图片);内容 | enum OtherNoteTypeEnum { TEXT = 1 // 文本 IMG = 2 // 图片 } struct NoteStruct { 1: optional OtherNoteTypeEnum note_type 2: optional string content } |
107 | LIMIT_USE_RULE | 限制使用规则控件(LimitUseRuleStruct) | 是否限制、每人单次消费最多使用代金劵张数 | struct LimitUseRuleStruct { 1: required bool is_limit_use // 是否限用 2: optional i32 use_num_per_consume // 每人单次消费最多使用代金劵张数 } |
108 | CUSTOMER_RESERVED_INFO | 用户留资规则控件(CustomerReservedInfoStruct) | 是否留资;可以留电话;可以留姓名;可以留身份证;手机号是否必传;是否每张券都要留资;留资原因 | struct CustomerReservedInfoStruct { 1: required bool allow //是否留资 2: optional bool allow_tel //可以留电话 3: optional bool allow_name // 可以留姓名 4: optional bool allow_identity // 可以留身份证 5: optional bool require_for_tel //手机号是否必传 【默认非必传】 10: optional bool need_for_all // 是否每张券都需要留资 } |
109 | REAL_NAME_INFO | 实名信息控件(RealNameInfoStruct) | 是否实名;场景 | enum RealNameInfoSceneEnum { NAME_AND_TEL = 3 // 出行人姓名与手机号码 ONLY_ONE_INFO = 2 // 仅填写一位游客信息 EVERY_ONE_INFO = 1 // 每张门票都要填写用户信息 } struct RealNameInfoStruct { 1: required bool enable 2: required RealNameInfoSceneEnum scene // 场景(1/2/3) } |
111 | HIGHLIGHT | 商品亮点标签控件(HighlightStruct) | Content、Priority | struct HighlightStruct{ 1: required string Content 2: required i64 Priority } |
112 | FACILITY | 酒店设施控件(FacilityStruct) | value、name、icon | struct FacilityStruct { 1: required string value, // 设施ID 1 - 空调; 2 - 电视; 3 - 阳台; 4 - 窗户; 5 - 独立卫浴; 6 - 浴缸; 7 - 吹风机; 8 - 衣架; 9 - 热水; 10 - 洗衣机; 11 - 基本厨具; 12 - 冰箱; 13 - 免费Wifi; 14 - 电热水壶; 15 - 暖气; 16 - 智能马桶; 17 - 微波炉; 18 - 门禁系统; 19 - 智能门锁; 20 - 私家花园; 21 - 私家泳池; 22 - 观景露台; 23 - 免费停车; 24 - 行李寄存 2: optional string name, // 设施名称,code != -1 时展示name,其他情况下展示code对应的名称。长度不超过6字符 } |
114 | NOTIFICATION | 使用规则控件(NotificationStruct) | 标题;内容 | struct NotificationStruct { 1: required string title, 2: required string content, } |
116 | ADD_BED_RULE | 加床规则控件(AddBedRuleStruct) | 是否支持加床;加床规则(文本) | struct AddBedRuleStruct { 1: required bool can_add_bed (go.tag = 'json:\"can_add_bed\"'), //是否支持加床 2: optional string add_bed_rule (go.tag = 'json:\"add_bed_rule\"'), //加床规则,文本,最多200个 } |
117 | DATE_RULE | 使用日期规则控件(DateRuleStruct) | 指定周几不可用;指定日期不可用;是否节日不可用 | struct UnavailableDateStruct{ 1: optional list < string &rt date_list // yyyy-MM-dd 指定日期,不可用 2: optional list < i64 &rt weekday_list // 1-7对应周一至周日 3: optional bool not_available_on_holidays // 节假日不可用 } struct DateRuleStruct{ 1: optional UnavailableDateStruct unavailable_date } |
118 | BREAKFAST | 加早规则控件(BreakfastRule) | 是否支持加早;加早规则自定义文本 | struct BreakfastRule { 1: required bool can_add_breakfast (go.tag = 'json:\"can_add_breakfast\"'), //是否支持加早 2: optional string add_breakfast_rule (go.tag = 'json:\"add_breakfast_rule\"'), //加早规则,文本,最多200个 } |
121 | COMMODITY | 商品搭配控件(ItemGroupStruct) | 商品组名 总数 选几 菜品 - 菜名 - 单价 - 总数 - 单位 | struct ItemStruct { 1: required string name // 菜名 2: required i64 price // 价格 3: required i32 count // 总数 4: optional string unit // 单位 } struct ItemGroupStruct { 1: required string group_name // 商品组名 2: optional i32 total_count // 总数 3: required i32 option_count // 选几 4: required list item_list // 菜品 } |
122 | LIMIT_RULE | 限制购买规则控件(LimitRuleStruct) | 是否限购;每人最多购买X张 | struct LimitRuleStruct { 1: required bool is_limit // 是否限购 2: optional i32 total_buy_num // 每人最多购买X张 } |
123 | PREORDER_RULE | 预约规则(PreOrderRuleStruct) | time_type必须传2 其中: time_type传了1 必须传soonest_order_time或latest_order_time(即传其中之一即可); time_type传了2 必须传soonest_order_sec_offset或latest_order_sec_offset(即传其中之一即可); same_day_order_time生效需要can_full_day_order传false | struct PreOrderRuleStruct { 1: required i64 time_type // 1-绝对时间 2-提前时间 2: optional i64 soonest_order_time // 最早预约时间 3: optional i64 soonest_order_sec_offset // 最早预约提前时间(单位:秒) 4: optional i64 latest_order_time // 最晚预约时间 5: optional i64 latest_order_sec_offset // 最晚预约提前时间(单位:秒) 6: optional string start_time // 开始销售时间 e.g.: 08:00:00 7: optional string end_time // 结束销售时间 e.g.: 19:00:00 8: optional bool can_full_day_order // 当日是否全天可约 9: optional i64 same_day_order_time // 当日预约提前时间(单位:秒). i.e. 20:00点前预约,值为 72000 } |
126 | CUSTOM_POLICY | 自定义规则控件(CustomPolicyStruct) | 自定义规则控件 | struct CustomPolicyStruct { 1: required i64 policy_rule_type // 规则类型 2: optional string policy_value // 规则值 3: optional NoteStruct note //规则描述 } |
127 | CHARGE_POLICY | 费用控件(ChargePolicyStruct) | 加早、加床费用,支持添加费用类型,填写名称、单位和价格,价格支持选择免费 | struct ChargePolicyItem { 1: required string item // 费用项名称 3: required i64 qty //数量 4: required string unit //单位 5: required i64 amount // 金额(分) } |
130 | limit_buy_rule | 限购规则(LimitBuyRuleStruct) | | enum SubjectTypeEnum { UID = 1, // UID CONTACT_TEL = 2, // 联系人手机号 IDCARD = 3, // 身份证 DEVICEID = 4, // 设备ID CONSUMER_TEL = 5, // 消费者手机号(游玩类) } enum RangeTypeEnum { USE_DATE = 1, // 使用日期 ORDER_DATE = 2, // 下单日期 LIFE_LONG = 3, // 终身 ORDER = 4, // 订单 } struct LimitRuleItem { 1: required SubjectTypeEnum subject_type // 限购主体 2: required RangeTypeEnum range_type // 限购范围 3: required i32 limit_num // 限购数量 4: required string unit // 限购单位 } // 限制购买规则 struct LimitBuyRuleStruct { 1: required bool enable_limit, // 是否启用限制购买 2: optional list<limitruleitem> rule_list // 限购规则 } |
133 | APPLICATION_SCOPE | 适用范围(ApplicationScopeStruct) | | enum ApplicationScopeTypeEnum { ALL = 1, // 全场适用 ONLY_SPECIAL = 2, // 仅特殊消费适用 EXCLUDE_SPECIAL = 3, // 排除特殊消费 } struct ApplicationScopeStruct { 1: required ApplicationScopeTypeEnum application_scope_type, // 适用范围类型 2: optional string special_consumption_desc, // 特殊消费描述 } |
136 | SALE_SPECS | 销售规格(SaleSpecsStruct) | | /******销售规格*****/ struct SaleSpecsStruct { 1: required list<salespec> sale_specs } struct SaleSpec { 1: optional string spec_key 2: required string spec_name 3: required string spec_value 4: optional i32 sequence } |
139 | ORDER_SETTLE_RULE | 结算规则(OrderSettleRuleStruct) | | enum OrderSettleTypeEnum { BY_ORDER = 1, // 整单结算 BY_TIMES = 2, // 按使用次数结算 } type OrderSettleRuleStruct struct { 1: required OrderSettleTypeEnum order_settle_type // 结算类型 } |
145 | PLAY_DAYS_AVAILABLE | 可游玩天数(PlayDaysAvailableStruct) | allow_the_same_day 为 false,specific_time 字段必填 | enum CommonTimeTypeEnum{ Minute = 1, // 分钟 Hour = 2, // 小时 Day = 3, // 天 } // 通用时长控件 struct CommonTimeStruct{ 1: required i32 time // 时长 2: required CommonTimeTypeEnum time_type // 时间单位 } struct PlayDaysAvailableStruct{ 1: optional bool allow_the_same_day // 仅当日有效 2: optional CommonTimeStruct specific_time // 指定日期起天数 } |
146 | TICKETS_RULE | 票务规则(TicketsRuleStruct) | | // 券码类型 enum CodeSourceType { SYSTEM = 1 // 抖音码 THIRD = 2 // 三方码 THIRD_RESERVE = 3 // 预导码 } // 凭证方式枚举 enum VoucherMethodEnum{ IdCard = 1 // 身份 证号码 No = 2 // 券号 Code = 3 // 券码 } // 票务规则(TicketsRuleStruct) struct TicketsRuleStruct{ 1: required list<vouchermethodenum> voucher_method // 凭证方式 2: optional CodeSourceType code_source_type // 券码类型 3: optional string code_service_provider // 券码服务商账号 4: optional string voucher_copy_description // 凭证文案说明 } |
174 | ATTACH_ITEM_DETAIL | 附赠项目 | | // 附赠项目 struct AttachItemDetailStruct { 1: optional list<AttachItem> attach_item_list // 附赠项目明细列表 } struct AttachItem { 1: string item_name // 项目名称 2: i32 item_count // 项目份数 3: i32 item_total_price // 总价值 } |
176 | DOUYIN_MOVIE_LIMIT | 电影适用影片字段 | | type DouyinMovieLimitStruct struct { LimitType CommonLimitTypeEnum MovieList []*DouyinMovieInfoStruct } const ( CommonLimitTypeEnum_Unlimited CommonLimitTypeEnum = 1 //不限制影片 CommonLimitTypeEnum_LimitedAvailable CommonLimitTypeEnum = 2 //限制影片可用 CommonLimitTypeEnum_LimitedNotAvailable CommonLimitTypeEnum = 3 //限制影片不可用 ) type DouyinMovieInfoStruct struct { MovieName string //电影名称 ChineseMovieCode *string //专资码 } |
177 | QUALIFICATION_INFO | 商品资质信息类型(qualification_identity) | | type QualificationIdentityEnum int64 const ( // 营业性演出准予许可证 QualificationIdentityEnum_Organizer QualificationIdentityEnum = 1 // 演出主办方授权书 QualificationIdentityEnum_TicketAagent QualificationIdentityEnum = 2 ) 配合资质ID使用: "key": "host_approval_qual","name": "主办批文资质" "key": "ticket_agent_qual","name": "票务代理资质" 对应资质中心查询的资质的枚举: 主办方资质要传“营业性演出准予许可决定” 5006 票务代理资质要传 “营业性演出准予许可决定” 5006 和 “演出主办方授权书” 5005 |
9 | BREAK_RULES_DEPOSIT | 违章押金(break_rules_deposit) | 单位固定为"元",demo如下: {"num":1,"unit":"元"} | // 通用数量(带单位)控件(CommonQuantityStruct) struct CommonQuantityStruct { 1: required string num // 数值 2: required string unit // 单位 }(assembly_type = '9') 单位固定"元" |
7 | APPLICABLE_MODELS | 适用车型(applicable_models) | demo:{"key":6,"value":"皮卡"} | / 通用枚举控件 value必须非空字符串 // key等于0时为用户自定义,value也必须非空字符串 struct CommonEnumStruct{ 1: required i64 key 2: required string value } 1:全车型 2:轿车 3:SUV/MPV 4:7座SUV 5:5座SUV 6:皮卡 7:仅MPV 8:仅SUV 9:仅油车 10:仅电车 |
备注
/** 预约方式 */ enum BookingType { ONLINE = 1 // 线上预约 BOTH = 2 // 可线上/线下预约 THIRD = 3 // 第三方预约 MERCHANT = 4 // 商家端预约 } /**提供发票方式*/ enum BillPolicyTypeEnum{ //商家提供 MERCHANT = 1 //商家提供 //平台提供 PLATFORM = 2 //平台提供 //服务商提供 SUPPLIER = 3 //服务商提供 //旅行社提供 TRAVELAGENCY = 4 //旅行社提供 // 酒店提供 HOTEL = 5 // 酒店提供 // 景区提供 SCENICAREA = 6 // 景区提供 }