This commit is contained in:
邹宗楠
2022-10-11 10:34:01 +08:00
parent c7aa575338
commit a60d4cd2d3
5 changed files with 291 additions and 0 deletions

View File

@@ -96,6 +96,7 @@ type DelayRule struct {
// 特殊日期延迟发货时间下单结束时间,时间戳,单位秒
EndTime int64 `json:"end_time"`
}
type ProductEditV2Param struct {
// 商品ID
ProductId int64 `json:"product_id"`
@@ -228,3 +229,9 @@ type ProductEditV2Param struct {
// 限售模板ID
SaleLimitId int64 `json:"sale_limit_id"`
}
type ProductEditV2Param2 struct {
// 商品ID
ProductId int64 `json:"product_id"`
Commit bool `json:"commit"`
}

View File

@@ -0,0 +1,239 @@
package product_editV2_commit_request
import (
"encoding/json"
product_editV2_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_editV2/response"
doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core"
)
type ProductEditV2Request struct {
doudian_sdk.BaseDoudianOpApiRequest
Param *ProductEditV2Param2
}
func (c *ProductEditV2Request) GetUrlPath() string {
return "/product/editV2"
}
func New() *ProductEditV2Request {
request := &ProductEditV2Request{
Param: &ProductEditV2Param2{},
}
request.SetConfig(doudian_sdk.GlobalConfig)
request.SetClient(doudian_sdk.DefaultDoudianOpApiClient)
return request
}
func (c *ProductEditV2Request) Execute(accessToken *doudian_sdk.AccessToken) (*product_editV2_response.ProductEditV2Response, error) {
responseJson, err := c.GetClient().Request(c, accessToken)
if err != nil {
return nil, err
}
response := &product_editV2_response.ProductEditV2Response{}
_ = json.Unmarshal([]byte(responseJson), response)
return response, nil
}
func (c *ProductEditV2Request) GetParamObject() interface{} {
return c.Param
}
func (c *ProductEditV2Request) GetParams() *ProductEditV2Param2 {
return c.Param
}
type ProductEditV2Param2 struct {
// 商品ID
ProductId int64 `json:"product_id"`
Commit bool `json:"commit"`
}
//
//
//type QualityAttachmentsItem struct {
// // 1-图片2-pdf
// MediaType int64 `json:"media_type"`
// // 凭证url
// Url string `json:"url"`
//}
//type QualityListItem struct {
// // 资质key
// QualityKey string `json:"quality_key"`
// // 资质名称
// QualityName string `json:"quality_name"`
// // 资质
// QualityAttachments []QualityAttachmentsItem `json:"quality_attachments"`
//}
//type PoiResource struct {
// // 有效时间段从领取日开始计算优先级高于ValidStart-ValidEnd
// ValidDays int64 `json:"valid_days"`
// // 卡券有效开始时间,秒单位时间戳
// ValidStart int64 `json:"valid_start"`
// // 卡券有效截止时间,秒单位时间戳
// ValidEnd int64 `json:"valid_end"`
// // 客服电话
// ServiceNum string `json:"service_num"`
// // 领取须知
// Notification string `json:"notification"`
// // 平台产生券码: 1 ; 合作方api实时传入的券码: 4
// CodeType int64 `json:"code_type"`
// // 券码总量0/-1表示不限制平台券时须\u003e0
// Count int64 `json:"count"`
// // 0-不支持二次兑换1-支持二次兑换
// CouponSecondExchange int64 `json:"couponSecondExchange"`
// // 可核销总次数
// TotalCanUseCount int32 `json:"total_can_use_count"`
// // 兑换链接
// Link string `json:"link"`
// // 券码使用条件
// Condition string `json:"condition"`
// // 数组当前只支持一个元素且只可为 1或2其中 1 表示随时退+过期自动退2 表示不支持退
// CouponReturnMethods []int64 `json:"coupon_return_methods"`
//}
//type DelayRule struct {
// // 是否开启特殊日期延迟发货
// Enable bool `json:"enable"`
// // 1 时间点2 时间范围
// ConfigType int32 `json:"config_type"`
// // 特殊日期延迟发货时间最晚发货时间时间戳单位秒当config_type=1时传时间戳代表最晚x发货当config_type=2时传天数代表延迟x天发货
// ConfigValue int64 `json:"config_value"`
// // 特殊日期延迟发货时间下单开始时间,时间戳,单位秒
// StartTime int64 `json:"start_time"`
// // 特殊日期延迟发货时间下单结束时间,时间戳,单位秒
// EndTime int64 `json:"end_time"`
//}
//
//type ProductEditV2Param struct {
// // 商品ID
// ProductId int64 `json:"product_id"`
// // 0-普通3-虚拟6玉石闪购7云闪购
// ProductType int64 `json:"product_type"`
// // 叶子类目ID通过/shop/getShopCategory接口获取
// CategoryLeafId int64 `json:"category_leaf_id"`
// // 属性名称|属性值 之间用|分隔, 多组之间用^分开
// ProductFormat string `json:"product_format"`
// // 商品名称最多60个字符(30个汉字)不能含emoj表情
// Name string `json:"name"`
// // 商家推荐语不能含emoj表情
// RecommendRemark string `json:"recommend_remark"`
// // 商品轮播图,多张图片用 \"|\" 分开第一张图为主图最多5张至少600x600大小不超过1M 注:\"pic\"、\"description\"、\"spec_pic\"这三个字段里的传入的图片数量总和不得超过50张。
// Pic string `json:"pic"`
// // 商品轮播图,多张图片用 \"|\" 分开第一张图为主图最多5张至少600x600大小不超过1M 注:\"pic\"、\"description\"、\"spec_pic\"这三个字段里的传入的图片数量总和不得超过50张。
// Description string `json:"description"`
// // 已废弃支付方式0货到付款 1在线支付2货到付款+在线支付
// PayType int64 `json:"pay_type"`
// // 海南免税生效。 0:离岛免税、1:邮寄、2:离岛自提+邮寄
// DeliveryMethod int32 `json:"delivery_method"`
// // 海南免税:海关限购分类编码
// CdfCategory string `json:"cdf_category"`
// // 1 减库存类型1-拍下减库存 2-付款减库存
// ReduceType int64 `json:"reduce_type"`
// // 同店商品推荐为空表示使用系统推荐多个product_id使用“|”分开
// AssocIds string `json:"assoc_ids"`
// // 运费模板id传0表示包邮通过/freightTemplate/list接口获取
// FreightId int64 `json:"freight_id"`
// // 重量
// Weight float64 `json:"weight"`
// // 重量单位0-kg, 1-g
// WeightUnit int64 `json:"weight_unit"`
// // delivery_delay_day 承诺发货时间,单位是天,不传则默认为2天。现货发货(presell_type=0)和阶梯发货模式(presell_type=2)时必填支持传入9999 、1、 2 分别表示当日发、次日发、48小时发具体支持传入的参数范围/product/getProductUpdateRule
// DeliveryDelayDay int64 `json:"delivery_delay_day"`
// // 发货模式0-现货发货1-预售发货2-阶梯发货默认0
// PresellType int64 `json:"presell_type"`
// // 全款预售模式时的发货时间/阶梯模式下阶梯发货时间,具体支持传入的参数范围/product/getProductUpdateRule
// PresellDelay int64 `json:"presell_delay"`
// // 预售结束时间格式2020-02-21 18:54:27最多支持设置距离当前30天
// PresellEndTime string `json:"presell_end_time"`
// // 是否支持7天无理由0不支持1支持2支持拆封后不支持
// Supply7dayReturn int64 `json:"supply_7day_return"`
// // 客服电话号码
// Mobile string `json:"mobile"`
// // false仅保存true保存+提审
// Commit bool `json:"commit"`
// // 品牌id (请求店铺授权品牌接口获取) (效果即为商品详情页面中的品牌字段)
// BrandId int64 `json:"brand_id"`
// // 商家可见备注
// Remark string `json:"remark"`
// // 外部product_id
// OutProductId int64 `json:"out_product_id"`
// // 资质信息,可通过/product/qualificationConfig获取
// QualityList []QualityListItem `json:"quality_list"`
// // 如果不填,则规格名为各级规格名用 \"-\" 自动生成
// SpecName string `json:"spec_name"`
// // 店铺通用规格,能被同类商品通用。多规格用^分隔,规格与规格值用|分隔,多个规格值用,分隔。如果创建或编辑现货+预售商品或新预售商品时,须包含发货时效,如:颜色|黑色,白色,黄色^尺码|S,M,L^发货时效|5天内发货,15天内发货
// Specs string `json:"specs"`
// // sku详情数量应该等于规格1规格2规格3sku数量和规格组合数必须一致 sku不可售时库存可设置为0。 delivery_infos为SKU物流信息info_value为字符串类型示例"12"info_type填weightinfo_unit支持mg,g,kg
// SpecPrices string `json:"spec_prices"`
// // 如颜色-尺寸, 颜色就是主规格, 颜色如黑,白,黄,它们图片url以逗号分隔 注:\"pic\"、\"description\"、\"spec_pic\"这三个字段里的传入的图片数量总和不得超过50张。
// SpecPic string `json:"spec_pic"`
// // 每个用户每次下单限购件数
// MaximumPerOrder int64 `json:"maximum_per_order"`
// // 每个用户累计限购件数
// LimitPerBuyer int64 `json:"limit_per_buyer"`
// // 每个用户每次下单至少购买的件数
// MinimumPerOrder int64 `json:"minimum_per_order"`
// // 通过/product/getCatePropertyV2获取 格式:{"property_id":[{"value":value,"name":"property_name","diy_type":0}]}, name的类型是stringvalue和diy_type的类型是number
// ProductFormatNew string `json:"product_format_new"`
// // spu id
// SpuId int64 `json:"spu_id"`
// // 可预约发货天数
// AppointDeliveryDay int64 `json:"appoint_delivery_day"`
// // third_url
// ThirdUrl string `json:"third_url"`
// // extra
// Extra string `json:"extra"`
// // src
// Src string `json:"src"`
// // 外部product id
// OuterProductId string `json:"outer_product_id"`
// // standard_brand_id通过/brand/list获取无品牌id则传596120136
// StandardBrandId int64 `json:"standard_brand_id"`
// // 卡券类型需要传true
// NeedCheckOut bool `json:"need_check_out"`
// // 卡券信息
// PoiResource *PoiResource `json:"poi_resource"`
// // 使用qualityList覆盖当前商品资质qualityList传空代表清空
// ForceUseQualityList bool `json:"force_use_quality_list"`
// // 汽车Vin码
// CarVinCode string `json:"car_vin_code"`
// // 0全款预售1sku预售2现货+预售 3新预售
// PresellConfigLevel int64 `json:"presell_config_level"`
// // 充值模式
// NeedRechargeMode bool `json:"need_recharge_mode"`
// // 多账号模板
// AccountTemplateId string `json:"account_template_id"`
// // 全款预售和sku预售时传递其他不传 0 预售结束后发货 1支付完成后发货
// PresellDeliveryType int64 `json:"presell_delivery_type"`
// // 白底图url(仅素材中心url有效)
// WhiteBackGroundPicUrl string `json:"white_back_ground_pic_url"`
// // 3:4长图url(仅素材中心url有效)
// LongPicUrl string `json:"long_pic_url"`
// // 售后服务参数,key:value格式 supply_day_return_selector(7天无理由选项)N天-政策代号N只支持7和15 supply_red_ass_return红屁屁无忧0不支持1支持 supply_allergy_return过敏无忧,仅跨境可选0不支持1支持 damaged_order_return坏损包退0不支持1支持 support_allergy_returnV2过敏包退境内可选0不支持1支持
// AfterSaleService map[string]string `json:"after_sale_service"`
// // 售卖方式;0:全渠道手售卖,1:仅指定直播间售卖
// SellChannel []int64 `json:"sell_channel"`
// // 审核通过后上架售卖时间配置:0-立即上架售卖 1-放入仓库
// StartSaleType int64 `json:"start_sale_type"`
// // 特殊日期延迟发货规则
// DelayRule *DelayRule `json:"delay_rule"`
// // 主图视频ID可以先通过https://op.jinritemai.com/docs/api-docs/69/1617接口上传视频获取审核通过的视频素材ID进行传入
// MaterialVideoId string `json:"material_video_id"`
// // 提取方式新字段,推荐使用。"0": 普通商品-使用物流发货, "1": 虚拟商品-无需物流与电子交易凭证, "2": 虚拟商品-使用电子交易凭证, "3": 虚拟商品-充值直连
// PickupMethod string `json:"pickup_method"`
// // 尺码模板ID
// SizeInfoTemplateId int64 `json:"size_info_template_id"`
// // 外部商品url
// SubstituteGoodsUrl string `json:"substitute_goods_url"`
// // 销售渠道类型可选onlineOnly纯电商仅在线上售卖或sameAsOffline专柜同款线上线下都有售卖云零售商家https://fxg.jinritemai.com/ffa/merchant-growth/cloud-retail可以设置
// SaleChannelType string `json:"sale_channel_type"`
// // 通过/product/getRecommendName接口推荐的商品标题前缀注意系统根据类目属性生成前缀字符串时末尾有一个空格
// NamePrefix string `json:"name_prefix"`
// // 门店ID
// StoreId int64 `json:"store_id"`
// // 主商品ID
// MainProductId int64 `json:"main_product_id"`
// // 限售模板ID
// SaleLimitId int64 `json:"sale_limit_id"`
//}

View File

@@ -0,0 +1,10 @@
package product_editV2_commit_request
import doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core"
type ProductEditV2Response struct {
doudian_sdk.BaseDoudianOpApiResponse
Data *ProductEditV2Data `json:"data"`
}
type ProductEditV2Data struct {
}

View File

@@ -9,6 +9,7 @@ import (
product_detail_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_detail/request"
product_detail_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_detail/response"
product_editV2_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_editV2/request"
product_editV2_commit_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_editV2_commit/request"
product_getCatePropertyV2_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_getCatePropertyV2/request"
product_getCatePropertyV2_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_getCatePropertyV2/response"
product_listV2_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_listV2/request"
@@ -147,6 +148,21 @@ func (a *API) EditStoreCommodity(sku *product_editV2_request.ProductEditV2Param)
return nil
}
// EditStoreCommodityCommit 上架商品
func (a *API) EditStoreCommodityCommit(sku *product_editV2_commit_request.ProductEditV2Param2) error {
request := product_editV2_commit_request.New()
request.Param = sku
result, err := request.Execute(a.accessTokenObj)
if err != nil {
return err
}
if result.Code != RequestSuccessCode {
return errors.New(result.SubMsg)
}
return nil
}
// DeleteStoreCommodity 删除商品
func (a *API) DeleteStoreCommodity(productId int64) error {
request := product_del_request.New()

View File

@@ -6,6 +6,7 @@ import (
"git.rosy.net.cn/baseapi"
product_addV2_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_addV2/request"
product_editV2_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_editV2/request"
product_editV2_commit_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_editV2_commit/request"
sku_editPrice_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/sku_editPrice/request"
sku_syncStock_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/sku_syncStock/request"
"git.rosy.net.cn/baseapi/utils"
@@ -257,6 +258,7 @@ func TestEiduPrice(t *testing.T) {
fmt.Println(err)
}
// s上架1
func TestEditStoreCommodity(t *testing.T) {
token := `{"access_token":"a1746210-a8a3-4497-a87b-09d1f10dbb95","expires_in":1665652230,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接专用店","refresh_token":"c1cf8d88-0983-4f2a-b969-3746fae6b0cd","authority_id":""}`
a := New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", token)
@@ -265,3 +267,20 @@ func TestEditStoreCommodity(t *testing.T) {
Commit: true,
})
}
// 上架2
func TestEditStoreCommodity2(t *testing.T) {
token := `{"access_token":"a1746210-a8a3-4497-a87b-09d1f10dbb95","expires_in":1665652230,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接专用店","refresh_token":"c1cf8d88-0983-4f2a-b969-3746fae6b0cd","authority_id":""}`
a := New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", token)
a.EditStoreCommodityCommit(&product_editV2_commit_request.ProductEditV2Param2{
ProductId: 3576377564144516403,
Commit: true,
})
}
// 下架
func TestProductSetOffline(t *testing.T) {
token := `{"access_token":"a1746210-a8a3-4497-a87b-09d1f10dbb95","expires_in":1665652230,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接专用店","refresh_token":"c1cf8d88-0983-4f2a-b969-3746fae6b0cd","authority_id":""}`
a := New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", token)
a.ProductSetOffline(3576377564144516403)
}