diff --git a/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_create/request/freightTemplate_create_request.go b/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_create/request/freightTemplate_create_request.go index 4e85d58b..abd0dc1c 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_create/request/freightTemplate_create_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_create/request/freightTemplate_create_request.go @@ -2,6 +2,8 @@ package freightTemplate_create_request import ( "encoding/json" + freightTemplate_create_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_create/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type FreightTemplateCreateRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_create/response/freightTemplate_create_response.go b/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_create/response/freightTemplate_create_response.go index a26f3693..0ac7b7a6 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_create/response/freightTemplate_create_response.go +++ b/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_create/response/freightTemplate_create_response.go @@ -1,5 +1,7 @@ package freightTemplate_create_response +import doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" + type FreightTemplateCreateResponse struct { doudian_sdk.BaseDoudianOpApiResponse Data *FreightTemplateCreateData `json:"data"` diff --git a/platformapi/tiktok_shop/sdk-golang/api/shop_bindStoreFreight/request/shop_bindStoreFreight_request.go b/platformapi/tiktok_shop/sdk-golang/api/shop_bindStoreFreight/request/shop_bindStoreFreight_request.go new file mode 100644 index 00000000..e72b08ac --- /dev/null +++ b/platformapi/tiktok_shop/sdk-golang/api/shop_bindStoreFreight/request/shop_bindStoreFreight_request.go @@ -0,0 +1,52 @@ +package shop_bindStoreFreight_request + +import ( + "encoding/json" + shop_bindStoreFreight_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_bindStoreFreight/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" +) + +type ShopBindStoreFreightRequest struct { + doudian_sdk.BaseDoudianOpApiRequest + Param *ShopBindStoreFreightParam +} + +func (c *ShopBindStoreFreightRequest) GetUrlPath() string { + return "/shop/bindStoreFreight" +} + +func New() *ShopBindStoreFreightRequest { + request := &ShopBindStoreFreightRequest{ + Param: &ShopBindStoreFreightParam{}, + } + request.SetConfig(doudian_sdk.GlobalConfig) + request.SetClient(doudian_sdk.DefaultDoudianOpApiClient) + return request + +} + +func (c *ShopBindStoreFreightRequest) Execute(accessToken *doudian_sdk.AccessToken) (*shop_bindStoreFreight_response.ShopBindStoreFreightResponse, error) { + responseJson, err := c.GetClient().Request(c, accessToken) + if err != nil { + return nil, err + } + response := &shop_bindStoreFreight_response.ShopBindStoreFreightResponse{} + _ = json.Unmarshal([]byte(responseJson), response) + return response, nil + +} + +func (c *ShopBindStoreFreightRequest) GetParamObject() interface{} { + return c.Param +} + +func (c *ShopBindStoreFreightRequest) GetParams() *ShopBindStoreFreightParam { + return c.Param +} + +type ShopBindStoreFreightParam struct { + // 门店IDe + StoreId int64 `json:"store_id"` + // 运费模版ID + FreightId int64 `json:"freight_id"` +} diff --git a/platformapi/tiktok_shop/sdk-golang/api/shop_bindStoreFreight/response/shop_bindStoreFreight_response.go b/platformapi/tiktok_shop/sdk-golang/api/shop_bindStoreFreight/response/shop_bindStoreFreight_response.go new file mode 100644 index 00000000..0dc374fd --- /dev/null +++ b/platformapi/tiktok_shop/sdk-golang/api/shop_bindStoreFreight/response/shop_bindStoreFreight_response.go @@ -0,0 +1,12 @@ +package shop_bindStoreFreight_response + +import ( + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" +) + +type ShopBindStoreFreightResponse struct { + doudian_sdk.BaseDoudianOpApiResponse + Data *ShopBindStoreFreightData `json:"data"` +} +type ShopBindStoreFreightData struct { +} diff --git a/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreDetail/request/shop_getStoreDetail_request.go b/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreDetail/request/shop_getStoreDetail_request.go new file mode 100644 index 00000000..2bf1c5b4 --- /dev/null +++ b/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreDetail/request/shop_getStoreDetail_request.go @@ -0,0 +1,56 @@ +package shop_getStoreDetail_request + +import ( + "encoding/json" + shop_getStoreDetail_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreDetail/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" +) + +type ShopGetStoreDetailRequest struct { + doudian_sdk.BaseDoudianOpApiRequest + Param *ShopGetStoreDetailParam +} + +func (c *ShopGetStoreDetailRequest) GetUrlPath() string { + return "/shop/getStoreDetail" +} + +func New() *ShopGetStoreDetailRequest { + request := &ShopGetStoreDetailRequest{ + Param: &ShopGetStoreDetailParam{}, + } + request.SetConfig(doudian_sdk.GlobalConfig) + request.SetClient(doudian_sdk.DefaultDoudianOpApiClient) + return request + +} + +func (c *ShopGetStoreDetailRequest) Execute(accessToken *doudian_sdk.AccessToken) (*shop_getStoreDetail_response.ShopGetStoreDetailResponse, error) { + responseJson, err := c.GetClient().Request(c, accessToken) + if err != nil { + return nil, err + } + response := &shop_getStoreDetail_response.ShopGetStoreDetailResponse{} + _ = json.Unmarshal([]byte(responseJson), response) + return response, nil + +} + +func (c *ShopGetStoreDetailRequest) GetParamObject() interface{} { + return c.Param +} + +func (c *ShopGetStoreDetailRequest) GetParams() *ShopGetStoreDetailParam { + return c.Param +} + +type ShopGetStoreDetailParam struct { + // 门店ID + StoreId int64 `json:"store_id"` + // 是否需要poi审核信息,注:只要审核状态的审核不要传true,需要详细的提交信息时传true + IsNeedPoiAuditInfo bool `json:"is_need_poi_audit_info"` + // 是否需要关联的抖店信息,注:只要shopId不要传true,需要关联店铺名称等信息时传true + IsNeedRelShopUser bool `json:"is_need_rel_shop_user"` + // 是否需要负责人信息 + IsNeedChargeInfo bool `json:"is_need_charge_info"` +} diff --git a/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreDetail/response/shop_getStoreDetail_response.go b/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreDetail/response/shop_getStoreDetail_response.go new file mode 100644 index 00000000..c1234c40 --- /dev/null +++ b/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreDetail/response/shop_getStoreDetail_response.go @@ -0,0 +1,156 @@ +package shop_getStoreDetail_response + +import ( + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" +) + +type ShopGetStoreDetailResponse struct { + doudian_sdk.BaseDoudianOpApiResponse + Data *ShopGetStoreDetailData `json:"data"` +} +type RelShopUser struct { + // 关联店铺ID + Id int64 `json:"id"` + // 店铺名称 + ShopName string `json:"shop_name"` + // 商家负责人 + ShopChargeName string `json:"shop_charge_name"` + // uid + ToutiaoId int64 `json:"toutiao_id"` + // 商业化id + OceanId int64 `json:"ocean_id"` + // 营业状态,0正常营业 1停业整顿 + OperateStatus int32 `json:"operate_status"` + // 业务类型 0二类电商 1放心购 + BizType int32 `json:"biz_type"` + // 资质类型 11个人 41 个体 0企业 + VType int32 `json:"v_type"` + // 店铺类型 0普通,1专营,2专卖,3旗舰 + ShopType int32 `json:"shop_type"` +} +type PoiAuditInfo struct { + // poi审核id + PoiAuditId string `json:"poi_audit_id"` + // poi审核子状态:1审核中;2绑定成功;3驳回 + PoiAuditState int64 `json:"poi_audit_state"` + // 门店ID + StoreId int64 `json:"store_id"` + // 门店名称 + Name string `json:"name"` + // 门店编码 + StoreCode string `json:"store_code"` + // 经度 + Longitude string `json:"longitude"` + // 维度 + Latitude string `json:"latitude"` + // 省 + Province string `json:"province"` + // 市 + City string `json:"city"` + // 区 + District string `json:"district"` + // 详细地址 + Address string `json:"address"` + // 电话 + Contact string `json:"contact"` + // 营业时间 + OpenTime *OpenTime `json:"open_time"` + // 拒绝原因 + RejectReason string `json:"reject_reason"` + // 街道/镇 + Town string `json:"town"` +} +type StoreChargeInfo struct { + // 负责人姓名 + ChargeName string `json:"charge_name"` + // 负责人电话 + ChargeMobile string `json:"charge_mobile"` +} +type StoreDetail struct { + // 门店信息 + Store *Store `json:"store"` + // 关联抖店信息 + RelShopUser *RelShopUser `json:"rel_shop_user"` + // poi审核信息 + PoiAuditInfo *PoiAuditInfo `json:"poi_audit_info"` + // 负责人信息 + StoreChargeInfo *StoreChargeInfo `json:"store_charge_info"` +} +type ShopGetStoreDetailData struct { + // 返回错误码,非0即有错 + RetCode int64 `json:"ret_code"` + // 错误信息 + RetMsg string `json:"ret_msg"` + // 门店信息 + StoreDetail *StoreDetail `json:"store_detail"` +} +type OpenTime struct { + // key:星期(1:周一、2:周二...7:周日)val:时间(多段用空格分隔,例"08:30-11:00 13:00-17:00") + DayMap map[int64]string `json:"day_map"` + // 暂时不使用 + Custom string `json:"custom"` +} +type Store struct { + // 门店ID + StoreId int64 `json:"store_id"` + // 门店名称 + Name string `json:"name"` + // 门店编码 + StoreCode string `json:"store_code"` + // 关联抖店Id + RelShopId int64 `json:"rel_shop_id"` + // poiId + PoiId int64 `json:"poi_id"` + // 经度 + Longitude string `json:"longitude"` + // 维度 + Latitude string `json:"latitude"` + // 省 + Province string `json:"province"` + // 省份code + ProvinceCode string `json:"province_code"` + // 市 + City string `json:"city"` + // 城市code + CityCode string `json:"city_code"` + // 区 + District string `json:"district"` + // 区code + DistrictCode string `json:"district_code"` + // 街道/镇 + Town string `json:"town"` + // 街道/镇code + TownCode string `json:"town_code"` + // 详细地址 + Address string `json:"address"` + // 联系方式 + Contact string `json:"contact"` + // 营业时间 + OpenTime *OpenTime `json:"open_time"` + // 当前时间是否在营业时间中,如果不在则是打烊中 + IsOpenNow bool `json:"is_open_now"` + // 绑定状态 1绑定中;2绑定成功;3:资质验证中;4账户认证中;5正常营业(c端可下单);6暂停营业 + State int64 `json:"state"` + // poi审核子状态:1审核中;2绑定成功;3驳回 + PoiAuditState int64 `json:"poi_audit_state"` + // 资质审核状态:0未提交;1审核中;2审核通过;3驳回 + QualState int64 `json:"qual_state"` + // 账户验证状态:0未提交;1验证中;2通过;3失败 + RemitState int64 `json:"remit_state"` + // 开户状态:0未开户;1已开户 + OpenAccountState int64 `json:"open_account_state"` + // 停业类型:1商家主动操作;2平台处罚 + SuspendType int64 `json:"suspend_type"` + // 绑定成功的时间 + BoundTime int64 `json:"bound_time"` + // 创建时间 + CreateTime int64 `json:"create_time"` + // 更新时间 + UpdateTime int64 `json:"update_time"` + // 资质验证通过时间 + QualPassTime int64 `json:"qual_pass_time"` + // 账户验证通过时间 + RemitPassTime int64 `json:"remit_pass_time"` + // 变成已开户的时间 + OpenAccountTime int64 `json:"open_account_time"` +} diff --git a/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreList/request/shop_getStoreList_request.go b/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreList/request/shop_getStoreList_request.go new file mode 100644 index 00000000..11aa0e76 --- /dev/null +++ b/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreList/request/shop_getStoreList_request.go @@ -0,0 +1,84 @@ +package shop_getStoreList_request + +import ( + "encoding/json" + shop_getStoreList_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreList/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" +) + +type ShopGetStoreListRequest struct { + doudian_sdk.BaseDoudianOpApiRequest + Param *ShopGetStoreListParam +} + +func (c *ShopGetStoreListRequest) GetUrlPath() string { + return "/shop/getStoreList" +} + +func New() *ShopGetStoreListRequest { + request := &ShopGetStoreListRequest{ + Param: &ShopGetStoreListParam{}, + } + request.SetConfig(doudian_sdk.GlobalConfig) + request.SetClient(doudian_sdk.DefaultDoudianOpApiClient) + return request + +} + +func (c *ShopGetStoreListRequest) Execute(accessToken *doudian_sdk.AccessToken) (*shop_getStoreList_response.ShopGetStoreListResponse, error) { + responseJson, err := c.GetClient().Request(c, accessToken) + if err != nil { + return nil, err + } + response := &shop_getStoreList_response.ShopGetStoreListResponse{} + _ = json.Unmarshal([]byte(responseJson), response) + return response, nil + +} + +func (c *ShopGetStoreListRequest) GetParamObject() interface{} { + return c.Param +} + +func (c *ShopGetStoreListRequest) GetParams() *ShopGetStoreListParam { + return c.Param +} + +type ShopGetStoreListParam struct { + // 门店名称集合,不支持模糊 + StoreNameList []string `json:"store_name_list"` + // 门店id集合,用于查询门店信息 + StoreIdList []int64 `json:"store_id_list"` + // 门店编码,开发者自定义 + StoreCodeList []string `json:"store_code_list"` + // 绑定状态,1绑定中;2绑定成功;3:资质验证中;4账户认证中;5正常营业(c端可下单) + State int64 `json:"state"` + // poi审核状态:0无提审;1审核中;2审核成功;3驳回 + PoiAuditState []int64 `json:"poi_audit_state"` + // 省 + Province string `json:"province"` + // 市 + City string `json:"city"` + // 区 + District string `json:"district"` + // 门店poiId集合 + PoiIdList []int64 `json:"poi_id_list"` + // 门店名称,支持模糊查询 + NameFuzzy string `json:"name_fuzzy"` + // 门店编码,支持模糊查询 + StoreCodeFuzzy string `json:"store_code_fuzzy"` + // 资质审核状态,0未提交;1审核中;2审核通过;3驳回 + QualState int64 `json:"qual_state"` + // 账户验证状态,0未提交;1验证中;2通过;3失败 + RemitState int64 `json:"remit_state"` + // 开户状态:0未开户;1已开户 + OpenAccountState int64 `json:"open_account_state"` + // 是否需要poi审核信息,注:只要审核状态的审核不要传true,需要详细的提交信息时传true + IsNeedPoiAuditInfo bool `json:"is_need_poi_audit_info"` + // 是否需要关联的抖店信息,注:只要shopId不要传true,需要关联店铺名称等信息时传true + IsNeedRelShopUser bool `json:"is_need_rel_shop_user"` + // 第几页(从0开始) + Page int64 `json:"page"` + // 每页条数 + PageSize int64 `json:"page_size"` +} diff --git a/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreList/response/shop_getStoreList_response.go b/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreList/response/shop_getStoreList_response.go new file mode 100644 index 00000000..172f32dc --- /dev/null +++ b/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreList/response/shop_getStoreList_response.go @@ -0,0 +1,162 @@ +package shop_getStoreList_response + +import ( + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" +) + +type ShopGetStoreListResponse struct { + doudian_sdk.BaseDoudianOpApiResponse + Data *ShopGetStoreListData `json:"data"` +} +type OpenTime_4_4 struct { + // 与getStoreDetail接口返回一致 + DayMap map[int64]string `json:"day_map"` + // 与getStoreDetail接口返回一致 + Custom string `json:"custom"` +} +type PoiAuditInfo struct { + // 与getStoreDetail接口返回一致 + PoiAuditId string `json:"poi_audit_id"` + // 与getStoreDetail接口返回一致 + PoiAuditState int64 `json:"poi_audit_state"` + // 与getStoreDetail接口返回一致 + StoreId int64 `json:"store_id"` + // 与getStoreDetail接口返回一致 + Name string `json:"name"` + // 与getStoreDetail接口返回一致 + StoreCode string `json:"store_code"` + // 与getStoreDetail接口返回一致 + Longitude string `json:"longitude"` + // 与getStoreDetail接口返回一致 + Latitude string `json:"latitude"` + // 与getStoreDetail接口返回一致 + Province string `json:"province"` + // 与getStoreDetail接口返回一致 + City string `json:"city"` + // 与getStoreDetail接口返回一致 + District string `json:"district"` + // 与getStoreDetail接口返回一致 + Address string `json:"address"` + // 与getStoreDetail接口返回一致 + Contact string `json:"contact"` + // 与getStoreDetail接口返回一致 + OpenTime *OpenTime_4_4 `json:"open_time"` + // 与getStoreDetail接口返回一致 + RejectReason string `json:"reject_reason"` + // 与getStoreDetail接口返回一致 + Town string `json:"town"` +} +type StoreChargeInfo struct { + // 与getStoreDetail接口返回一致 + ChargeName string `json:"charge_name"` + // 与getStoreDetail接口返回一致 + ChargeMobile string `json:"charge_mobile"` +} +type StoreDetailListItem struct { + // 与getStoreDetail接口返回一致 + Store *Store `json:"store"` + // 与getStoreDetail接口返回一致 + RelShopUser *RelShopUser `json:"rel_shop_user"` + // 与getStoreDetail接口返回一致 + PoiAuditInfo *PoiAuditInfo `json:"poi_audit_info"` + // 与getStoreDetail接口返回一致 + StoreChargeInfo *StoreChargeInfo `json:"store_charge_info"` +} +type ShopGetStoreListData struct { + // 返回错误码 + RetCode int64 `json:"ret_code"` + // 返回信息 + RetMsg string `json:"ret_msg"` + // 总数 + Total int64 `json:"total"` + // 与getStoreDetail接口返回一致 + StoreDetailList []StoreDetailListItem `json:"store_detail_list"` +} +type OpenTime struct { + // 与getStoreDetail接口返回一致 + DayMap map[int64]string `json:"day_map"` +} +type Store struct { + // 与getStoreDetail接口返回一致 + StoreId int64 `json:"store_id"` + // 与getStoreDetail接口返回一致 + Name string `json:"name"` + // 与getStoreDetail接口返回一致 + StoreCode string `json:"store_code"` + // 与getStoreDetail接口返回一致 + RelShopId int64 `json:"rel_shop_id"` + // 与getStoreDetail接口返回一致 + PoiId int64 `json:"poi_id"` + // 与getStoreDetail接口返回一致 + Longitude string `json:"longitude"` + // 与getStoreDetail接口返回一致 + Latitude string `json:"latitude"` + // 与getStoreDetail接口返回一致 + Province string `json:"province"` + // 与getStoreDetail接口返回一致 + ProvinceCode string `json:"province_code"` + // 与getStoreDetail接口返回一致 + City string `json:"city"` + // 与getStoreDetail接口返回一致 + CityCode string `json:"city_code"` + // 与getStoreDetail接口返回一致 + District string `json:"district"` + // 与getStoreDetail接口返回一致 + DistrictCode string `json:"district_code"` + // 与getStoreDetail接口返回一致 + Town string `json:"town"` + // 与getStoreDetail接口返回一致 + TownCode string `json:"town_code"` + // 与getStoreDetail接口返回一致 + Address string `json:"address"` + // 与getStoreDetail接口返回一致 + Contact string `json:"contact"` + // 与getStoreDetail接口返回一致 + OpenTime *OpenTime `json:"open_time"` + // 与getStoreDetail接口返回一致 + IsOpenNow bool `json:"is_open_now"` + // 与getStoreDetail接口返回一致 + State int64 `json:"state"` + // 与getStoreDetail接口返回一致 + PoiAuditState int64 `json:"poi_audit_state"` + // 与getStoreDetail接口返回一致 + QualState int64 `json:"qual_state"` + // 与getStoreDetail接口返回一致 + RemitState int64 `json:"remit_state"` + // 与getStoreDetail接口返回一致 + OpenAccountState int64 `json:"open_account_state"` + // 与getStoreDetail接口返回一致 + SuspendType int64 `json:"suspend_type"` + // 与getStoreDetail接口返回一致 + BoundTime int64 `json:"bound_time"` + // 与getStoreDetail接口返回一致 + CreateTime int64 `json:"create_time"` + // 与getStoreDetail接口返回一致 + UpdateTime int64 `json:"update_time"` + // 与getStoreDetail接口返回一致 + QualPassTime int64 `json:"qual_pass_time"` + // 与getStoreDetail接口返回一致 + RemitPassTime int64 `json:"remit_pass_time"` + // 与getStoreDetail接口返回一致 + OpenAccountTime int64 `json:"open_account_time"` +} +type RelShopUser struct { + // 与getStoreDetail接口返回一致 + Id int64 `json:"id"` + // 与getStoreDetail接口返回一致 + ShopName string `json:"shop_name"` + // 与getStoreDetail接口返回一致 + ShopChargeName string `json:"shop_charge_name"` + // 与getStoreDetail接口返回一致 + ToutiaoId int64 `json:"toutiao_id"` + // 与getStoreDetail接口返回一致 + OceanId int64 `json:"ocean_id"` + // 与getStoreDetail接口返回一致 + OperateStatus int32 `json:"operate_status"` + // 与getStoreDetail接口返回一致 + BizType int32 `json:"biz_type"` + // 与getStoreDetail接口返回一致 + VType int32 `json:"v_type"` + // 与getStoreDetail接口返回一致 + ShopType int32 `json:"shop_type"` +} diff --git a/platformapi/tiktok_shop/sdk-golang/api/warehouse_bindFences/request/warehouse_bindFences_request.go b/platformapi/tiktok_shop/sdk-golang/api/warehouse_bindFences/request/warehouse_bindFences_request.go new file mode 100644 index 00000000..368177f4 --- /dev/null +++ b/platformapi/tiktok_shop/sdk-golang/api/warehouse_bindFences/request/warehouse_bindFences_request.go @@ -0,0 +1,56 @@ +package warehouse_bindFences_request + +import ( + "doudian.com/open/sdk_golang/api/warehouse_bindFences/response" + "doudian.com/open/sdk_golang/core" + "encoding/json" +) + +type WarehouseBindFencesRequest struct { + doudian_sdk.BaseDoudianOpApiRequest + Param *WarehouseBindFencesParam +} +func (c *WarehouseBindFencesRequest) GetUrlPath() string{ + return "/warehouse/bindFences" +} + + +func New() *WarehouseBindFencesRequest{ + request := &WarehouseBindFencesRequest{ + Param: &WarehouseBindFencesParam{}, + } + request.SetConfig(doudian_sdk.GlobalConfig) + request.SetClient(doudian_sdk.DefaultDoudianOpApiClient) + return request + +} + + +func (c *WarehouseBindFencesRequest) Execute(accessToken *doudian_sdk.AccessToken) (*warehouse_bindFences_response.WarehouseBindFencesResponse, error){ + responseJson, err := c.GetClient().Request(c, accessToken) + if err != nil { + return nil, err + } + response := &warehouse_bindFences_response.WarehouseBindFencesResponse{} + _ = json.Unmarshal([]byte(responseJson), response) + return response, nil + +} + + +func (c *WarehouseBindFencesRequest) GetParamObject() interface{}{ + return c.Param +} + + +func (c *WarehouseBindFencesRequest) GetParams() *WarehouseBindFencesParam{ + return c.Param +} + + +type WarehouseBindFencesParam struct { + // 外部仓id + OutWarehouseId string `json:"out_warehouse_id"` + // 外部电子围栏id列表 + OutFenceIds []string `json:"out_fence_ids"` +} diff --git a/platformapi/tiktok_shop/sdk-golang/api/warehouse_bindFences/response/warehouse_bindFences_response.go b/platformapi/tiktok_shop/sdk-golang/api/warehouse_bindFences/response/warehouse_bindFences_response.go new file mode 100644 index 00000000..3f2b8171 --- /dev/null +++ b/platformapi/tiktok_shop/sdk-golang/api/warehouse_bindFences/response/warehouse_bindFences_response.go @@ -0,0 +1,12 @@ +package warehouse_bindFences_response + +import ( + "doudian.com/open/sdk_golang/core" +) + +type WarehouseBindFencesResponse struct { + doudian_sdk.BaseDoudianOpApiResponse + Data *WarehouseBindFencesData `json:"data"` +} +type WarehouseBindFencesData struct { +} diff --git a/platformapi/tiktok_shop/sdk-golang/api/warehouse_bindFencesByStore/request/warehouse_bindFencesByStore_request.go b/platformapi/tiktok_shop/sdk-golang/api/warehouse_bindFencesByStore/request/warehouse_bindFencesByStore_request.go new file mode 100644 index 00000000..db96cc68 --- /dev/null +++ b/platformapi/tiktok_shop/sdk-golang/api/warehouse_bindFencesByStore/request/warehouse_bindFencesByStore_request.go @@ -0,0 +1,52 @@ +package warehouse_bindFencesByStore_request + +import ( + "encoding/json" + warehouse_bindFencesByStore_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/warehouse_bindFencesByStore/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" +) + +type WarehouseBindFencesByStoreRequest struct { + doudian_sdk.BaseDoudianOpApiRequest + Param *WarehouseBindFencesByStoreParam +} + +func (c *WarehouseBindFencesByStoreRequest) GetUrlPath() string { + return "/warehouse/bindFencesByStore" +} + +func New() *WarehouseBindFencesByStoreRequest { + request := &WarehouseBindFencesByStoreRequest{ + Param: &WarehouseBindFencesByStoreParam{}, + } + request.SetConfig(doudian_sdk.GlobalConfig) + request.SetClient(doudian_sdk.DefaultDoudianOpApiClient) + return request + +} + +func (c *WarehouseBindFencesByStoreRequest) Execute(accessToken *doudian_sdk.AccessToken) (*warehouse_bindFencesByStore_response.WarehouseBindFencesByStoreResponse, error) { + responseJson, err := c.GetClient().Request(c, accessToken) + if err != nil { + return nil, err + } + response := &warehouse_bindFencesByStore_response.WarehouseBindFencesByStoreResponse{} + _ = json.Unmarshal([]byte(responseJson), response) + return response, nil + +} + +func (c *WarehouseBindFencesByStoreRequest) GetParamObject() interface{} { + return c.Param +} + +func (c *WarehouseBindFencesByStoreRequest) GetParams() *WarehouseBindFencesByStoreParam { + return c.Param +} + +type WarehouseBindFencesByStoreParam struct { + // 门店id + StoreId int64 `json:"store_id"` + // 要添加的外部围栏id列表 + AddOutFenceIds []string `json:"add_out_fence_ids"` +} diff --git a/platformapi/tiktok_shop/sdk-golang/api/warehouse_bindFencesByStore/response/warehouse_bindFencesByStore_response.go b/platformapi/tiktok_shop/sdk-golang/api/warehouse_bindFencesByStore/response/warehouse_bindFencesByStore_response.go new file mode 100644 index 00000000..5049f6a4 --- /dev/null +++ b/platformapi/tiktok_shop/sdk-golang/api/warehouse_bindFencesByStore/response/warehouse_bindFencesByStore_response.go @@ -0,0 +1,12 @@ +package warehouse_bindFencesByStore_response + +import ( + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" +) + +type WarehouseBindFencesByStoreResponse struct { + doudian_sdk.BaseDoudianOpApiResponse + Data *WarehouseBindFencesByStoreData `json:"data"` +} +type WarehouseBindFencesByStoreData struct { +} diff --git a/platformapi/tiktok_shop/sdk-golang/api/warehouse_bindStore/request/warehouse_bindStore_request.go b/platformapi/tiktok_shop/sdk-golang/api/warehouse_bindStore/request/warehouse_bindStore_request.go new file mode 100644 index 00000000..5153ec33 --- /dev/null +++ b/platformapi/tiktok_shop/sdk-golang/api/warehouse_bindStore/request/warehouse_bindStore_request.go @@ -0,0 +1,52 @@ +package warehouse_bindStore_request + +import ( + "encoding/json" + warehouse_bindStore_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/warehouse_bindStore/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" +) + +type WarehouseBindStoreRequest struct { + doudian_sdk.BaseDoudianOpApiRequest + Param *WarehouseBindStoreParam +} + +func (c *WarehouseBindStoreRequest) GetUrlPath() string { + return "/warehouse/bindStore" +} + +func New() *WarehouseBindStoreRequest { + request := &WarehouseBindStoreRequest{ + Param: &WarehouseBindStoreParam{}, + } + request.SetConfig(doudian_sdk.GlobalConfig) + request.SetClient(doudian_sdk.DefaultDoudianOpApiClient) + return request + +} + +func (c *WarehouseBindStoreRequest) Execute(accessToken *doudian_sdk.AccessToken) (*warehouse_bindStore_response.WarehouseBindStoreResponse, error) { + responseJson, err := c.GetClient().Request(c, accessToken) + if err != nil { + return nil, err + } + response := &warehouse_bindStore_response.WarehouseBindStoreResponse{} + _ = json.Unmarshal([]byte(responseJson), response) + return response, nil + +} + +func (c *WarehouseBindStoreRequest) GetParamObject() interface{} { + return c.Param +} + +func (c *WarehouseBindStoreRequest) GetParams() *WarehouseBindStoreParam { + return c.Param +} + +type WarehouseBindStoreParam struct { + // 要添加的门店id列表 + StoreIds []int64 `json:"store_ids"` + // 外部仓id列表 + OutWarehouseId string `json:"out_warehouse_id"` +} diff --git a/platformapi/tiktok_shop/sdk-golang/api/warehouse_bindStore/response/warehouse_bindStore_response.go b/platformapi/tiktok_shop/sdk-golang/api/warehouse_bindStore/response/warehouse_bindStore_response.go new file mode 100644 index 00000000..95116809 --- /dev/null +++ b/platformapi/tiktok_shop/sdk-golang/api/warehouse_bindStore/response/warehouse_bindStore_response.go @@ -0,0 +1,12 @@ +package warehouse_bindStore_response + +import ( + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" +) + +type WarehouseBindStoreResponse struct { + doudian_sdk.BaseDoudianOpApiResponse + Data *WarehouseBindStoreData `json:"data"` +} +type WarehouseBindStoreData struct { +} diff --git a/platformapi/tiktok_shop/sdk-golang/api/warehouse_create/request/warehouse_create_request.go b/platformapi/tiktok_shop/sdk-golang/api/warehouse_create/request/warehouse_create_request.go index af2e660a..3b5722fe 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/warehouse_create/request/warehouse_create_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/warehouse_create/request/warehouse_create_request.go @@ -2,6 +2,8 @@ package warehouse_create_request import ( "encoding/json" + warehouse_create_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/warehouse_create/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type WarehouseCreateRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/warehouse_createBatch/request/warehouse_createBatch_request.go b/platformapi/tiktok_shop/sdk-golang/api/warehouse_createBatch/request/warehouse_createBatch_request.go index a93d4f1c..ef4e684e 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/warehouse_createBatch/request/warehouse_createBatch_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/warehouse_createBatch/request/warehouse_createBatch_request.go @@ -2,6 +2,8 @@ package warehouse_createBatch_request import ( "encoding/json" + warehouse_createBatch_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/warehouse_createBatch/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type WarehouseCreateBatchRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/warehouse_createFence/request/warehouse_createFence_request.go b/platformapi/tiktok_shop/sdk-golang/api/warehouse_createFence/request/warehouse_createFence_request.go new file mode 100644 index 00000000..d9af8320 --- /dev/null +++ b/platformapi/tiktok_shop/sdk-golang/api/warehouse_createFence/request/warehouse_createFence_request.go @@ -0,0 +1,106 @@ +package warehouse_createFence_request + +import ( + "encoding/json" + warehouse_createFence_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/warehouse_createFence/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" +) + +type WarehouseCreateFenceRequest struct { + doudian_sdk.BaseDoudianOpApiRequest + Param *WarehouseCreateFenceParam +} + +func (c *WarehouseCreateFenceRequest) GetUrlPath() string { + return "/warehouse/createFence" +} + +func New() *WarehouseCreateFenceRequest { + request := &WarehouseCreateFenceRequest{ + Param: &WarehouseCreateFenceParam{}, + } + request.SetConfig(doudian_sdk.GlobalConfig) + request.SetClient(doudian_sdk.DefaultDoudianOpApiClient) + return request + +} + +func (c *WarehouseCreateFenceRequest) Execute(accessToken *doudian_sdk.AccessToken) (*warehouse_createFence_response.WarehouseCreateFenceResponse, error) { + responseJson, err := c.GetClient().Request(c, accessToken) + if err != nil { + return nil, err + } + response := &warehouse_createFence_response.WarehouseCreateFenceResponse{} + _ = json.Unmarshal([]byte(responseJson), response) + return response, nil + +} + +func (c *WarehouseCreateFenceRequest) GetParamObject() interface{} { + return c.Param +} + +func (c *WarehouseCreateFenceRequest) GetParams() *WarehouseCreateFenceParam { + return c.Param +} + +type WarehouseCreateFenceParam struct { + // 围栏信息 + FenceInfo *FenceInfo `json:"fence_info"` +} +type Center struct { + // 经度 + Longitude float64 `json:"longitude"` + // 纬度 + Latitude float64 `json:"latitude"` +} +type VerticesItem struct { + // 经度 + Longitude float64 `json:"longitude"` + // 纬度 + Latitude float64 `json:"latitude"` +} +type Outer struct { + // 经纬度列表,外圈为逆时针 + Vertices []VerticesItem `json:"vertices"` +} +type PolygonNew struct { + // 带洞多边形的外圈数据 + Outer *Outer `json:"outer"` + // 带洞多边形的内圈数据,空表示普通多边形 + Inner []InnerItem `json:"inner"` +} +type MultiPolygonsItem struct { + // 带洞多边形的外圈数据 + Outer *Outer `json:"outer"` + // 带洞多边形的内圈数据,空表示普通多边形 + Inner []InnerItem `json:"inner"` +} +type FenceInfo struct { + // 外部围栏id,必传 + OutFenceId string `json:"out_fence_id"` + // 形状 1. 圆 使用circular 2:多边形,使用polygon 3:带洞多边形(兼容普通多边形),使用polygon_new 4:多个多边形,兼容带洞和不带洞,使用multi_polygons + Shape int32 `json:"shape"` + // 形状为圆的经纬度信息,对应shape=1 + Circular *Circular `json:"circular"` + // 普通多边形 ,对应shape=2 + Polygon *Polygon `json:"polygon"` + // 带洞多边形,可兼容普通多边形 ,对应shape=3 + PolygonNew *PolygonNew `json:"polygon_new"` + // 多个多边形 ,对应shape=4 + MultiPolygons []MultiPolygonsItem `json:"multi_polygons"` +} +type Circular struct { + // 圆的中心经纬度 + Center *Center `json:"center"` + // 半径,单位 米 + Radius float64 `json:"radius"` +} +type Polygon struct { + // 多边形顶点的经纬度:逆时针 + Vertices []VerticesItem `json:"vertices"` +} +type InnerItem struct { + // 经纬度列表,内圈为顺时针 + Vertices []VerticesItem `json:"vertices"` +} diff --git a/platformapi/tiktok_shop/sdk-golang/api/warehouse_createFence/response/warehouse_createFence_response.go b/platformapi/tiktok_shop/sdk-golang/api/warehouse_createFence/response/warehouse_createFence_response.go new file mode 100644 index 00000000..febdc918 --- /dev/null +++ b/platformapi/tiktok_shop/sdk-golang/api/warehouse_createFence/response/warehouse_createFence_response.go @@ -0,0 +1,14 @@ +package warehouse_createFence_response + +import ( + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" +) + +type WarehouseCreateFenceResponse struct { + doudian_sdk.BaseDoudianOpApiResponse + Data *WarehouseCreateFenceData `json:"data"` +} +type WarehouseCreateFenceData struct { + // 内部围栏id + FenceId string `json:"fence_id"` +} diff --git a/platformapi/tiktok_shop/tiktok_api/store.go b/platformapi/tiktok_shop/tiktok_api/store.go index f31c97e2..60f0075c 100644 --- a/platformapi/tiktok_shop/tiktok_api/store.go +++ b/platformapi/tiktok_shop/tiktok_api/store.go @@ -4,23 +4,50 @@ import ( "errors" address_create_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/address_create/request" address_create_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/address_create/response" + address_list_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/address_list/request" + address_list_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/address_list/response" + freightTemplate_create_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_create/request" + freightTemplate_create_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_create/response" shop_batchCreateStore_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_batchCreateStore/request" shop_batchCreateStore_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_batchCreateStore/response" + shop_bindStoreFreight_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_bindStoreFreight/request" + shop_bindStoreFreight_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_bindStoreFreight/response" shop_bindStoreSaleLimit_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_bindStoreSaleLimit/request" shop_bindStoreSaleLimit_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_bindStoreSaleLimit/response" shop_editStore_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_editStore/request" shop_editStore_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_editStore/response" + shop_getStoreDetail_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreDetail/request" + shop_getStoreDetail_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreDetail/response" + shop_getStoreList_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreList/request" + shop_getStoreList_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreList/response" shop_storeSuspend_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_storeSuspend/request" shop_storeSuspend_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_storeSuspend/response" shop_unsuspendStore_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_unsuspendStore/request" shop_unsuspendStore_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_unsuspendStore/response" trade_createTradeLimitTemplate_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/trade_createTradeLimitTemplate/request" trade_createTradeLimitTemplate_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/trade_createTradeLimitTemplate/response" + warehouse_bindFencesByStore_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/warehouse_bindFencesByStore/request" + warehouse_bindFencesByStore_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/warehouse_bindFencesByStore/response" + warehouse_bindStore_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/warehouse_bindStore/request" + warehouse_bindStore_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/warehouse_bindStore/response" + warehouse_createBatch_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/warehouse_createBatch/request" + warehouse_createBatch_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/warehouse_createBatch/response" + warehouse_createFence_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/warehouse_createFence/request" + warehouse_createFence_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/warehouse_createFence/response" ) //GetStoreDetail 单个获取门店信息 -func (a *API) GetStoreDetail() { - +func (a *API) GetStoreDetail(param *shop_getStoreDetail_request.ShopGetStoreDetailParam) (*shop_getStoreDetail_response.ShopGetStoreDetailData, error) { + request := shop_getStoreDetail_request.New() + request.Param = param + response, err := request.Execute(AccessToken) + if err != nil { + return nil, err + } + if response.Code != 10000 { + return nil, errors.New(response.SubMsg) + } + return response.Data, err } //BatchCreateStore 批量创建门店 @@ -31,8 +58,8 @@ func (a *API) BatchCreateStore(param *shop_batchCreateStore_request.ShopBatchCre if err != nil { return nil, err } - if response.Code != 1000 { - return nil, errors.New(response.Msg) + if response.Code != 10000 { + return nil, errors.New(response.SubMsg) } return response.Data, nil } @@ -45,8 +72,8 @@ func (a *API) EditStore(param *shop_editStore_request.ShopEditStoreParam) (*shop if err != nil { return nil, err } - if response.Code != 1000 { - return nil, errors.New(response.Msg) + if response.Code != 10000 { + return nil, errors.New(response.SubMsg) } return response.Data, nil } @@ -59,8 +86,8 @@ func (a *API) StoreSuspend(param *shop_storeSuspend_request.ShopStoreSuspendPara if err != nil { return nil, err } - if response.Code != 1000 { - return nil, errors.New(response.Msg) + if response.Code != 10000 { + return nil, errors.New(response.SubMsg) } return response.Data, nil } @@ -73,8 +100,22 @@ func (a *API) UnsuspendStore(param *shop_unsuspendStore_request.ShopUnsuspendSto if err != nil { return nil, err } - if response.Code != 1000 { - return nil, errors.New(response.Msg) + if response.Code != 10000 { + return nil, errors.New(response.SubMsg) + } + return response.Data, nil +} + +//门店列表分页查询 +func (a *API) GetStoreList(param *shop_getStoreList_request.ShopGetStoreListParam) (*shop_getStoreList_response.ShopGetStoreListData, error) { + request := shop_getStoreList_request.New() + request.Param = param + response, err := request.Execute(AccessToken) + if err != nil { + return nil, err + } + if response.Code != 10000 { + return nil, errors.New(response.SubMsg) } return response.Data, nil } @@ -87,8 +128,8 @@ func (a *API) CreateTradeLimitTemplate(param *trade_createTradeLimitTemplate_req if err != nil { return nil, err } - if response.Code != 1000 { - return nil, errors.New(response.Msg) + if response.Code != 10000 { + return nil, errors.New(response.SubMsg) } return response.Data, nil } @@ -101,8 +142,8 @@ func (a *API) BindStoreSaleLimit(param *shop_bindStoreSaleLimit_request.ShopBind if err != nil { return nil, err } - if response.Code != 1000 { - return nil, errors.New(response.Msg) + if response.Code != 10000 { + return nil, errors.New(response.SubMsg) } return response.Data, nil } @@ -115,8 +156,106 @@ func (a *API) AddressCreate(param *address_create_request.AddressCreateParam) (* if err != nil { return nil, err } - if response.Code != 1000 { - return nil, errors.New(response.Msg) + if response.Code != 10000 { + return nil, errors.New(response.SubMsg) + } + return response.Data, nil +} + +//分页获取商家地址列表 +func (a *API) GetAddressList(param *address_list_request.AddressListParam) (*address_list_response.AddressListData, error) { + request := address_list_request.New() + request.Param = param + response, err := request.Execute(AccessToken) + if err != nil { + return nil, err + } + if response.Code != 10000 { + return nil, errors.New(response.SubMsg) + } + return response.Data, nil +} + +// 创建运费模板 +func (a *API) FreightTemplateCreate(param *freightTemplate_create_request.FreightTemplateCreateParam) (*freightTemplate_create_response.FreightTemplateCreateData, error) { + request := freightTemplate_create_request.New() + request.Param = param + response, err := request.Execute(AccessToken) + if err != nil { + return nil, err + } + if response.Code != 10000 { + return nil, errors.New(response.SubMsg) + } + return response.Data, nil +} + +// 门店绑定运费模板 1对1 +func (a *API) BindFreightTemplate(param *shop_bindStoreFreight_request.ShopBindStoreFreightParam) (*shop_bindStoreFreight_response.ShopBindStoreFreightData, error) { + request := shop_bindStoreFreight_request.New() + request.Param = param + response, err := request.Execute(AccessToken) + if err != nil { + return nil, err + } + if response.Code != 10000 { + return nil, errors.New(response.SubMsg) + } + return response.Data, nil +} + +// 批量创建区域仓 +func (a *API) BatchCreateWarehouse(param *warehouse_createBatch_request.WarehouseCreateBatchParam) (*warehouse_createBatch_response.WarehouseCreateBatchData, error) { + request := warehouse_createBatch_request.New() + request.Param = param + response, err := request.Execute(AccessToken) + if err != nil { + return nil, err + } + if response.Code != 10000 { + return nil, errors.New(response.SubMsg) + } + return response.Data, nil +} + +// 仓库绑定门店 +func (a *API) StoreBindWarehouse(param *warehouse_bindStore_request.WarehouseBindStoreParam) (*warehouse_bindStore_response.WarehouseBindStoreData, error) { + request := warehouse_bindStore_request.New() + request.Param = param + response, err := request.Execute(AccessToken) + if err != nil { + return nil, err + } + if response.Code != 10000 { + return nil, errors.New(response.SubMsg) + } + return response.Data, nil +} + +//创建电子围栏 +func (a *API) CreateFence(param *warehouse_createFence_request.WarehouseCreateFenceParam) (*warehouse_createFence_response.WarehouseCreateFenceData, error) { + request := warehouse_createFence_request.New() + request.Param = param + response, err := request.Execute(AccessToken) + if err != nil { + return nil, err + } + if response.Code != 10000 { + return nil, errors.New(response.SubMsg) + } + return response.Data, nil +} + +// 门店绑定电子围栏 +func (a *API) BindFenceByStore(param *warehouse_bindFencesByStore_request.WarehouseBindFencesByStoreParam) (*warehouse_bindFencesByStore_response.WarehouseBindFencesByStoreData, error) { + request := warehouse_bindFencesByStore_request.New() + request.Param = param + response, err := request.Execute(AccessToken) + if err != nil { + return nil, err + } + if response.Code != 10000 { + return nil, errors.New(response.SubMsg) } return response.Data, nil } diff --git a/platformapi/tiktok_shop/tiktok_api/store_callback.go b/platformapi/tiktok_shop/tiktok_api/store_callback.go new file mode 100644 index 00000000..822878a0 --- /dev/null +++ b/platformapi/tiktok_shop/tiktok_api/store_callback.go @@ -0,0 +1,9 @@ +package tiktok_api + +type StoreCallbackResponse struct { + Data string `json:"data"` +} + +// 创建店铺回调信息 +type CallbackCreateStore struct { +} diff --git a/platformapi/tiktok_shop/tiktok_api/store_model.go b/platformapi/tiktok_shop/tiktok_api/store_model.go index 2ddf58cc..ef6afe90 100644 --- a/platformapi/tiktok_shop/tiktok_api/store_model.go +++ b/platformapi/tiktok_shop/tiktok_api/store_model.go @@ -1,7 +1,8 @@ package tiktok_api -const ( +import freightTemplate_create_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_create/request" +const ( //限购模型 TradeLimitModelWeight = 1 //重量 TradeLimitModelQuantity = 2 //数量 @@ -30,6 +31,80 @@ const ( LinkTypePhone = 0 //手机 LinkTypeOrdinary = 1 //普通座机 LinkTypeEnterprise = 2 //企业座机 + + //店铺状态 + StoreStatusOffline = 0 // 暂停营业/下线 + StoreStatusOnline = 1 // 营业中/上线 + StoreStatusChecking = 3 //审核通过后可上线(可能暂时用不上) + + //店铺绑定状态 + StoreStateBinding = 1 //绑定中 + StoreStateSuccessBind = 2 //绑定成功 + StoreStateQualificationChecking = 3 //资质验证中 + StoreStateAccountChecking = 4 //账户认证中 + StoreStateNormalBusiness = 5 //正常营业(c端可下单) + StoreStateSuspendBusiness = 6 //暂停营业 + + //poi审核子状态 Store,PoiAudiInfo 同时使用 + PoiAuditStateChecking = 1 //审核中 + PoiAuditStateSuccessBind = 2 //绑定成功 + PoiAuditStateReject = 3 //驳回 + + //资质审核状态 + QualStateUnsubmitted = 0 //未提交 + QualStateChecking = 1 //审核中 + QualStateCheckingPassed = 2 //审核通过 + QualStateReject = 3 //驳回 + + //账户验证状态 + RemitStateUnsubmitted = 0 //未提交 + RemitStateChecking = 1 //验证中 + RemitStateCheckingPassed = 2 //通过 + RemitStateDefeat = 3 //失败 + + //开户状态 + OpenAccountStateOpen = 1 //已开户 + OpenAccountStateNotOpen = 0 //未开户 + + //停业类型 + SuspendTypeInitiative = 1 //商家主动操作 + SuspendTypePlatformPenalty = 2 //平台处罚 + + //关联抖店信息 RelShopUser + //1 营业状态 + OperateStatusNormalBusiness = 0 //正常营业 + OperateStatusBusinessReorganization = 1 //停业整顿 + //2 业务类型 + BizTypeSecondClassEcommerce = 0 //二级电商 + BizTypeConfidenceBuy = 1 //放心购 + //3 资质类型 + VTypeEnterprise = 0 //企业 + VTypePersonal = 11 //个人 + VTypeIndividual = 41 //个体 + //4 店铺类型 + ShopTypeNormal = 0 //普通 + ShopTypeFranchise = 1 //专营 + ShopTypeMonopoly = 2 //专卖 + ShopTypeFlagShip = 3 //旗舰 + + //运费模板信息 + //计价方式 + CalculateTypeWeight = 1 //按重量 + CalculateTypeNum = 2 //按数量,注:模板类型为1、2、3时,计价类型传2 + //模板类型 + RuleTypeLadderPricing = 0 //阶梯计价 + RuleTypeFlatShipping = 1 //固定运费 + RuleTypeFreeShipping = 2 //卖家包邮 + RuleTypeCashOnDelivery = 3 //货到付款 + //模板规则信息 + IsDefaultYes = 1 //默认计价方式 + IsDefaultNo = 0 //不是默认计价方式 + + //创建围栏信息 + //围栏形状 + ShapeCircular = 3 //圆 + ShapePolygon = 2 //多边形,各点经纬度逆时针传递 + ) //门店信息 @@ -212,3 +287,57 @@ type Address struct { FixedPhone string `json:"fixed_phone"` // 普通座机格式:区号-座机号-分机号(分机号选填)、区号3~4位、座机号7~8位、分机号不超过5位。企业座机:400/800开头不超过10位、95开头在5~8we Remark string `json:"remark"` // 售后备注 } + +// 创建运费模板 +type StoreTempalteReq struct { + Template Template `json:"template"` //运费模板信息 + Columns []Columns `json:"columns"` //运费模板规则 + +} + +//运费模板信息 +type Template struct { + TemplateName string `json:"templateName"` //模板名称 + ProductProvince int64 `json:"productProvince"` //发货省份id + ProductCity int64 `json:"productCity"` //发货城市id + CalculateType int64 `json:"calculateType"` //计价方式-1.按重量 2.按数量;模板类型为1、2、3时,计价类型传2 + TransferType int64 `json:"transferType"` //快递方式-1.快递 目前仅支持1 + RuleType int64 `json:"ruleType"` //模板类型-0:阶梯计价 1:固定运费 2:卖家包邮 3:货到付款 + FixedAmount int64 `json:"fixedAmount"` //固定运费金额(单位:分) 固定运费模板必填 1-9900之间的整数 +} + +//运费模板规则信息; +//每种类型模板可创建的规则类型: 阶梯计价模板-默认规则,普通计价规则,包邮规则,限运规则; +//固定运费模板-包邮规则,限运规则; +//固定运费模板-包邮规则,限运规则; +//包邮模板-限运规则; +//货到付款模板-限运规则 +type Columns struct { + FirstWeight float64 `json:"firstWeight"` //首重(单位:kg) 按重量计价必填 0.1-999.9之间的小数,小数点后一位 + FirstWeightPrice float64 `json:"firstWeightPrice"` //首重价格(单位:元) 按重量计价必填 0.00-30.00之间的小数,小数点后两位 + FirstNum int64 `json:"firstNum"` //首件数量(单位:个) 按数量计价必填 1-999的整数 + FirstNumPrice float64 `json:"firstNumPrice"` //首件价格(单位:元)按数量计价必填 0.00-30.00之间的小数,小数点后两位 + AddWeight float64 `json:"addWeight"` //续重(单位:kg) 按重量计价必填 0.1-999.9之间的小数,小数点后一位 + AddWeightPrice float64 `json:"addWeightPrice"` //续重价格(单位:元) 按重量计价必填 0.00-30.00之间的小数,小数点后两位 + AddNum int64 `json:"addNum"` //续件(单位:个) 按数量计价必填 1-999的整数 + AddNumPrice float64 `json:"addNumPrice"` //续件价格(单位:元) 按数量计价必填 0.00-30.00之间的小数,小数点后两位 + IsDefault int64 `json:"isDefault"` //是否默认计价方式(1:是;0:不是) + IsLimited bool `json:"isLimited"` //是否限运规则 + RuleAddress string `json:"ruleAddress"` //当前规则生效的地址,非默认规则必填。map>>>的json格式,省->市->区->街道,填至选择到的层级即可,仅限售规则支持四级街道 + IsOverFree bool `json:"isOverFree"` //是否包邮规则 + OverWeight float64 `json:"overWeight"` //满xx重量包邮(单位:kg)0.1-10.0之间的小数,小数点后一位 + OverAmount int64 `json:"overAmount"` //满xx金额包邮(单位:分)10-99900的整数 + OverNum int64 `json:"overNum"` //满xx件包邮 1-10之间的整数 + MinSkuAmount int64 `json:"minSkuAmount"` //最小金额限制,单位分,不限制填-1 + MaxSkuAmount int64 `json:"maxSkuAmount"` //最大金额限制,单位分,不限制填-1 + ProvinceInfos []freightTemplate_create_request.ProvinceInfosItem `json:"province_infos"` //当前规则生效的地址 +} + +//当前规则生效的地址,统一以List结构返回,该结构为嵌套结构。 +//对应的json格式为 +//[{"id":"32","children":[{"id":"320500","children":[{"id":"320508","children":[{"id":"320508014"},{"id":"320508004"}]}]}]}] +//注意:返回的为最新的四级地址版本(地址存储升级变更的可能,以最新的返回) +type ProvinceInfosItem struct { + ID int `json:"id"` //地址id,第一级是省份、第二级是城市、第三级是区、第四级是街道 + Children []ProvinceInfosItem `json:"children"` //下一级地址id +}