From 31a3dce31b265c59fd4e9fa25ccf26a198fa0da4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Fri, 30 Sep 2022 16:15:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=96=E5=BA=97api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- platformapi/jdapi/jdapi_test.go | 4 +- platformapi/jdapi/order_test.go | 7 + platformapi/mtwmapi/callback.go | 6 +- platformapi/mtwmapi/mtwmapi_test.go | 4 +- platformapi/mtwmapi/poi_test.go | 6 +- .../afterSale_applyMarketAfterSale_request.go | 60 ++ ...afterSale_applyMarketAfterSale_response.go | 14 + .../afterSale_buyerExchangeConfirm_request.go | 62 ++ ...afterSale_buyerExchangeConfirm_response.go | 9 + .../afterSale_rejectReasonCodeList_request.go | 2 + .../request/freightTemplate_create_request.go | 2 + .../request/freightTemplate_detail_request.go | 2 + .../request/freightTemplate_list_request.go | 2 + .../request/freightTemplate_update_request.go | 2 + .../logistics_appendSubOrder_request.go | 2 + .../request/logistics_cancelOrder_request.go | 2 + .../logistics_createSFOrder_request.go | 2 + .../logistics_customTemplateList_request.go | 2 + .../logistics_deliveryNotice_request.go | 2 + .../request/logistics_getOutRange_request.go | 2 + .../request/logistics_getShopKey_request.go | 2 + .../logistics_listShopNetsite_request.go | 2 + .../logistics_newCreateOrder_request.go | 2 + .../logistics_queryPackageRoute_request.go | 2 + .../logistics_registerPackageRoute_request.go | 2 + .../request/logistics_templateList_request.go | 2 + .../logistics_trackNoRouteDetail_request.go | 2 + .../request/logistics_updateOrder_request.go | 2 + .../request/logistics_waybillApply_request.go | 2 + .../material_batchUploadImageSync_request.go | 2 + .../material_batchUploadImageSync_response.go | 2 + .../material_batchUploadVideoAsync_request.go | 2 + .../request/material_createFolder_request.go | 2 + .../material_createFolder_response.go | 2 + .../request/material_deleteFolder_request.go | 2 + .../material_deleteMaterial_request.go | 2 + .../request/material_easyShuttle_request.go | 2 + .../request/material_editMaterial_request.go | 2 + .../request/material_getFolderInfo_request.go | 2 + .../request/material_get_cap_info_request.go | 2 + .../request/material_mGetPlayInfo_request.go | 2 + ...material_moveFolderToRecycleBin_request.go | 2 + ...terial_moveMaterialToRecycleBin_request.go | 2 + .../material_queryMaterialDetail_request.go | 2 + .../request/material_recoverFolder_request.go | 2 + .../material_recoverMaterial_request.go | 2 + .../request/material_searchFolder_request.go | 2 + .../material_searchMaterial_request.go | 2 + .../material_uploadImageSync_request.go | 2 + .../material_uploadVideoAsync_request.go | 2 + .../order_AddressAppliedSwitch_request.go | 2 + .../request/order_BatchSearchIndex_request.go | 2 + .../request/order_addOrderRemark_request.go | 2 + .../request/order_addSerialNumber_request.go | 2 + .../order_addresSwitchConfig_request.go | 2 + .../request/order_batchSensitive_request.go | 2 + .../request/order_getSearchIndex_request.go | 2 + .../request/order_getServiceList_request.go | 6 +- .../request/order_logisticsAdd_request.go | 2 + .../response/order_logisticsAdd_response.go | 2 + .../order_logisticsAddMultiPack_request.go | 2 + .../order_logisticsAddSinglePack_request.go | 2 + .../order_logisticsCompanyList_request.go | 2 + .../response/order_review_response.go | 2 + .../response/order_serviceDetail_response.go | 12 +- .../order_updateOrderAmount_request.go | 2 + .../order_updateOrderAmount_response.go | 2 + .../request/order_updatePostAmount_request.go | 3 +- .../order_updatePostAmount_response.go | 2 + .../product_CategoryDimList_request.go | 2 + .../product_CategoryDimList_response.go | 2 + .../product_GetRecommendCategory_request.go | 2 + .../request/product_addCbProduct_request.go | 2 + .../response/product_addCbProduct_response.go | 2 + .../request/product_addV2_request.go | 2 + .../response/product_addV2_response.go | 2 + ...oduct_createComponentTemplateV2_request.go | 2 + ...oduct_datchDelComponentTemplate_request.go | 2 + .../request/product_del_request.go | 2 + .../response/product_del_response.go | 2 + .../request/product_detail_request.go | 2 + .../response/product_detail_response.go | 2 + .../request/product_editBuyerLimit_request.go | 4 +- .../request/product_editCbProduct_request.go | 2 + .../product_editComponentTemplate_request.go | 2 + .../request/product_editV2_request.go | 2 + .../response/product_editV2_response.go | 2 + .../product_getCatePropertyV2_request.go | 2 + .../product_getCatePropertyV2_response.go | 2 + .../product_getComponentTemplate_request.go | 2 + .../product_getRecommendName_request.go | 2 + .../request/product_listV2_request.go | 2 + .../response/product_listV2_response.go | 2 + .../product_qualificationConfig_request.go | 2 + .../request/product_qualityDetail_request.go | 2 + .../request/product_qualityTask_request.go | 2 + .../request/product_setOffline_request.go | 2 + .../response/product_setOffline_response.go | 2 + .../request/promise_deliveryList_request.go | 2 + .../request/promise_setSkuShipTime_request.go | 2 + ...y_batchReportOrderSecurityEvent_request.go | 2 + .../response/shop_getShopCategory_response.go | 9 +- .../request/shop_getStoreFreight_request.go | 50 ++ .../response/shop_getStoreFreight_response.go | 20 + .../sku_list/response/sku_list_response.go | 2 + .../request/sku_syncStockBatch_request.go | 2 + .../response/sku_syncStockBatch_response.go | 4 + .../request/sms_sign_apply_list_request.go | 2 + .../request/sms_sign_apply_revoke_request.go | 2 + .../sms_template_apply_list_request.go | 2 + .../sms_template_apply_list_response.go | 2 + .../request/sms_template_delete_request.go | 2 + .../response/sms_template_delete_response.go | 2 + .../request/sms_template_revoke_request.go | 2 + .../request/sms_template_search_request.go | 2 + .../spu_getKeyPropertyByCid_request.go | 2 + .../request/spu_getSpuInfoBySpuId_request.go | 2 + .../spu_queryBookNameByISBN_request.go | 2 + .../request/warehouse_createBatch_request.go | 2 + .../sdk-golang/core/doudian_op_spi_config.go | 4 +- platformapi/tiktok_shop/tiktok_api/api.go | 59 +- .../tiktok_api/create_store_test.go | 62 +- platformapi/tiktok_shop/tiktok_api/order.go | 672 +++++++++++++++--- .../tiktok_shop/tiktok_api/order_type.go | 198 +++--- .../tiktok_api/order_type_const.go | 128 +++- .../tiktok_shop/tiktok_api/order_utils.go | 62 +- platformapi/tiktok_shop/tiktok_api/sku.go | 187 ++++- .../tiktok_shop/tiktok_api/sku_param.go | 34 + .../tiktok_shop/tiktok_api/sku_test.go | 214 ++++++ .../tiktok_shop/tiktok_api/sku_type.go | 44 +- .../tiktok_shop/tiktok_api/sku_warehouse.go | 67 ++ .../tiktok_api/sku_warehouse_test.go | 46 ++ platformapi/tiktok_shop/tiktok_api/store.go | 30 +- .../tiktok_shop/tiktok_api/store_liulei.go | 3 + 134 files changed, 2002 insertions(+), 292 deletions(-) create mode 100644 platformapi/tiktok_shop/sdk-golang/api/afterSale_ApplyMarketAfterSale/request/afterSale_applyMarketAfterSale_request.go create mode 100644 platformapi/tiktok_shop/sdk-golang/api/afterSale_ApplyMarketAfterSale/response/afterSale_applyMarketAfterSale_response.go create mode 100644 platformapi/tiktok_shop/sdk-golang/api/afterSale_buyerExchangeConfirm/request/afterSale_buyerExchangeConfirm_request.go create mode 100644 platformapi/tiktok_shop/sdk-golang/api/afterSale_buyerExchangeConfirm/response/afterSale_buyerExchangeConfirm_response.go create mode 100644 platformapi/tiktok_shop/sdk-golang/api/shop_getStoreFreight/request/shop_getStoreFreight_request.go create mode 100644 platformapi/tiktok_shop/sdk-golang/api/shop_getStoreFreight/response/shop_getStoreFreight_response.go create mode 100644 platformapi/tiktok_shop/tiktok_api/sku_param.go create mode 100644 platformapi/tiktok_shop/tiktok_api/sku_test.go create mode 100644 platformapi/tiktok_shop/tiktok_api/sku_warehouse.go create mode 100644 platformapi/tiktok_shop/tiktok_api/sku_warehouse_test.go create mode 100644 platformapi/tiktok_shop/tiktok_api/store_liulei.go diff --git a/platformapi/jdapi/jdapi_test.go b/platformapi/jdapi/jdapi_test.go index 4455f4a8..73e51955 100644 --- a/platformapi/jdapi/jdapi_test.go +++ b/platformapi/jdapi/jdapi_test.go @@ -23,11 +23,11 @@ func init() { // sandbox // api = New("594ab45a-9a73-4a43-82b0-a64cbd55d883", "06692746f7224695ad4788ce340bc854", "d6b42a35a7414a5490d811654d745c84") // prod - //api = New("ff428cd2-a900-492e-a34e-5f86112fdb55", "21b627c23ea04c69b64b48d0b361213e", "51cd27a748e64c829b4b7f83f4844610") + api = New("73e2e9f6-b21e-4dcd-8c92-71e4e100b07e", "21b627c23ea04c69b64b48d0b361213e", "51cd27a748e64c829b4b7f83f4844610") // 天天果园 //api = New("c45e6510-00ba-4be2-977e-bcb9c9792cc7", "5d5577a2506f41b8b4ec520ba83490f5", "0b01b9eeb15b41dab1c3d05d95c17a26") // 京东果园 - api = New("b1138139-9610-4b80-9a63-a63da4773885", "5d5577a2506f41b8b4ec520ba83490f5", "0b01b9eeb15b41dab1c3d05d95c17a26") + //api = New("b1138139-9610-4b80-9a63-a63da4773885", "5d5577a2506f41b8b4ec520ba83490f5", "0b01b9eeb15b41dab1c3d05d95c17a26") //prod zs // api = New("6f8d3290-0120-4ad7-8b53-943c67c84f3f", "789279b9ae814ba091ac52815566b54d", "5d668cd227644637bb0fd73ed8118ec8") diff --git a/platformapi/jdapi/order_test.go b/platformapi/jdapi/order_test.go index 07b26943..bb2d7a84 100644 --- a/platformapi/jdapi/order_test.go +++ b/platformapi/jdapi/order_test.go @@ -1,6 +1,7 @@ package jdapi import ( + "fmt" "testing" "git.rosy.net.cn/baseapi/utils" @@ -21,6 +22,12 @@ func TestQuerySingleOrder(t *testing.T) { //} } +func TestPickUp(t *testing.T) { + detile, err := api.OrderJDZBSelfDelivery("2223127747000074", "刘磊") + fmt.Println("detail===", detile) + fmt.Println("detail===", err) +} + func TestOrderQuery(t *testing.T) { jdParams := map[string]interface{}{ "orderId": "813344594000041", diff --git a/platformapi/mtwmapi/callback.go b/platformapi/mtwmapi/callback.go index c9a6b0c5..90f227da 100644 --- a/platformapi/mtwmapi/callback.go +++ b/platformapi/mtwmapi/callback.go @@ -26,9 +26,9 @@ const ( MsgTypeOrderCanceled = "orderCanceled" MsgTypeUserUrgeOrder = "userUrgeOrder" MsgTypePrivateNumberDowngrade = "numberDowngrade" - MsgTypeOrderModified = "orderModified" // 这个不是订单调整,是订单信息(地址、联系人等)变化后推送的消息 - MsgTypeOrderRefund = "orderRefund" - MsgTypeOrderPartialRefund = "orderPartialRefund" + MsgTypeOrderModified = "orderModified" // 这个不是订单调整,是订单信息(地址、联系人等)变化后推送的消息 + MsgTypeOrderRefund = "orderRefund" // 订单退款 + MsgTypeOrderPartialRefund = "orderPartialRefund" // /订单部分退款 MsgTypeOrderFinishedPickup = "orderFinishedPickup" MsgTypeStoreStatusChanged = "storeStatusChanged" diff --git a/platformapi/mtwmapi/mtwmapi_test.go b/platformapi/mtwmapi/mtwmapi_test.go index fe2e63f1..440f537a 100644 --- a/platformapi/mtwmapi/mtwmapi_test.go +++ b/platformapi/mtwmapi/mtwmapi_test.go @@ -19,10 +19,10 @@ func init() { baseapi.Init(sugarLogger) // 菜市 - api = New("589", "a81eb3df418d83d6a1a4b7c572156d2f", "", "") + //api = New("589", "a81eb3df418d83d6a1a4b7c572156d2f", "", "") // 果园 - //api = New("4123", "df2c88338b85f830cebce2a9eab56628", "", "") + api = New("4123", "df2c88338b85f830cebce2a9eab56628", "", "") //商超 //api = New("5873", "41c479790a76f86326f89e8048964739", "", "token_kWP3yV8ei6reTseKnsxDJA") //token_nH_IlcWQKAkZBqklwItNRw diff --git a/platformapi/mtwmapi/poi_test.go b/platformapi/mtwmapi/poi_test.go index 90c201ac..c1571c66 100644 --- a/platformapi/mtwmapi/poi_test.go +++ b/platformapi/mtwmapi/poi_test.go @@ -1,6 +1,7 @@ package mtwmapi import ( + "fmt" "testing" "git.rosy.net.cn/baseapi/utils" @@ -42,8 +43,9 @@ func TestPoiSave(t *testing.T) { //} poiParams := map[string]interface{}{} //utils.FilterMapNilMembers(utils.Struct2FlatMap(result[0])) - poiParams["name"] = "京西果园·果切·水果捞(宝山店)" - api.PoiSave("9202094", poiParams) + poiParams["name"] = "京西果园·果切·水果捞(金碧园店)" + err := api.PoiSave("9410009", poiParams) + fmt.Println(err) } func TestPoiTagList(t *testing.T) { diff --git a/platformapi/tiktok_shop/sdk-golang/api/afterSale_ApplyMarketAfterSale/request/afterSale_applyMarketAfterSale_request.go b/platformapi/tiktok_shop/sdk-golang/api/afterSale_ApplyMarketAfterSale/request/afterSale_applyMarketAfterSale_request.go new file mode 100644 index 00000000..96075f7b --- /dev/null +++ b/platformapi/tiktok_shop/sdk-golang/api/afterSale_ApplyMarketAfterSale/request/afterSale_applyMarketAfterSale_request.go @@ -0,0 +1,60 @@ +package afterSale_applyMarketAfterSale_request + +import ( + "encoding/json" + afterSale_applyMarketAfterSale_respone "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/afterSale_ApplyMarketAfterSale/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" +) + +type AfterSaleApplyMarketAfterSaleRequest struct { + doudian_sdk.BaseDoudianOpApiRequest + Param *AfterSaleApplyMarketAfterSaleParam +} + +func (c *AfterSaleApplyMarketAfterSaleRequest) GetUrlPath() string { + return "/afterSale/ApplyMarketAfterSale" +} + +func New() *AfterSaleApplyMarketAfterSaleRequest { + request := &AfterSaleApplyMarketAfterSaleRequest{ + Param: &AfterSaleApplyMarketAfterSaleParam{}, + } + request.SetConfig(doudian_sdk.GlobalConfig) + request.SetClient(doudian_sdk.DefaultDoudianOpApiClient) + return request + +} + +func (c *AfterSaleApplyMarketAfterSaleRequest) Execute(accessToken *doudian_sdk.AccessToken) (*afterSale_applyMarketAfterSale_respone.ApplyMarketAfterSaleResponse, error) { + responseJson, err := c.GetClient().Request(c, accessToken) + if err != nil { + return nil, err + } + response := &afterSale_applyMarketAfterSale_respone.ApplyMarketAfterSaleResponse{} + _ = json.Unmarshal([]byte(responseJson), response) + return response, nil + +} + +func (c *AfterSaleApplyMarketAfterSaleRequest) GetParamObject() interface{} { + return c.Param +} + +func (c *AfterSaleApplyMarketAfterSaleRequest) GetParams() *AfterSaleApplyMarketAfterSaleParam { + return c.Param +} + +type AfterSaleApplyMarketAfterSaleParam struct { + // 订单id + SkuOrderId int64 `json:"sku_order_id"` + // 缺重克数,非缺重场景不传;单位 毫克 + MissGram int `json:"miss_gram"` + // 退款金额,单位分。 只缺重有效,缺货/拒签场景由系统计费算出。 最多不会超过订单金额 + RefundAmount int64 `json:"refund_amount"` + // 退款金额如果传了,就按传的金额退;不传由平台根据件数来分摊计算(特别注只有整单退才会退运费,否则运费不退;缺货暂时不支持按件数退,只能整单退;) + ItemCount int64 `json:"item_count"` + // 售后原因枚举 MissGram = 1缺重,必传克数、金额; MissItem = 2缺货,只支持整单退; RefuseSign = 3 拒收,支持按件数退,必传件数,金额由抖音计算 + AfterSaleReason int32 `json:"after_sale_reason"` + // 门店ID,传了就做检验,不传默认通过,由isv自行保证权限 + StoreId int64 `json:"store_id"` +} diff --git a/platformapi/tiktok_shop/sdk-golang/api/afterSale_ApplyMarketAfterSale/response/afterSale_applyMarketAfterSale_response.go b/platformapi/tiktok_shop/sdk-golang/api/afterSale_ApplyMarketAfterSale/response/afterSale_applyMarketAfterSale_response.go new file mode 100644 index 00000000..de478e96 --- /dev/null +++ b/platformapi/tiktok_shop/sdk-golang/api/afterSale_ApplyMarketAfterSale/response/afterSale_applyMarketAfterSale_response.go @@ -0,0 +1,14 @@ +package afterSale_applyMarketAfterSale_respone + +import ( + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" +) + +type ApplyMarketAfterSaleResponse struct { + doudian_sdk.BaseDoudianOpApiResponse + Data *ApplyMarketAfterSaleData `json:"data"` +} +type ApplyMarketAfterSaleData struct { + // 售后ID + AfterSaleId string `json:"after_sale_id"` +} diff --git a/platformapi/tiktok_shop/sdk-golang/api/afterSale_buyerExchangeConfirm/request/afterSale_buyerExchangeConfirm_request.go b/platformapi/tiktok_shop/sdk-golang/api/afterSale_buyerExchangeConfirm/request/afterSale_buyerExchangeConfirm_request.go new file mode 100644 index 00000000..6dfe366b --- /dev/null +++ b/platformapi/tiktok_shop/sdk-golang/api/afterSale_buyerExchangeConfirm/request/afterSale_buyerExchangeConfirm_request.go @@ -0,0 +1,62 @@ +package afterSale_buyerExchangeConfirm_request + +import ( + "encoding/json" + address_areaList_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/address_areaList/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" +) + +type AfterSaleBuyerExchangeConfirmRequest struct { + doudian_sdk.BaseDoudianOpApiRequest + Param *AfterSaleBuyerExchangeConfirmParam +} + +func (c *AfterSaleBuyerExchangeConfirmRequest) GetUrlPath() string { + return "/afterSale/buyerExchangeConfirm" +} + +func New() *AfterSaleBuyerExchangeConfirmRequest { + request := &AfterSaleBuyerExchangeConfirmRequest{ + Param: &AfterSaleBuyerExchangeConfirmParam{}, + } + request.SetConfig(doudian_sdk.GlobalConfig) + request.SetClient(doudian_sdk.DefaultDoudianOpApiClient) + return request + +} + +func (c *AfterSaleBuyerExchangeConfirmRequest) Execute(accessToken *doudian_sdk.AccessToken) (*address_areaList_response.AddressAreaListResponse, error) { + responseJson, err := c.GetClient().Request(c, accessToken) + if err != nil { + return nil, err + } + response := &address_areaList_response.AddressAreaListResponse{} + _ = json.Unmarshal([]byte(responseJson), response) + return response, nil + +} + +func (c *AfterSaleBuyerExchangeConfirmRequest) GetParamObject() interface{} { + return c.Param +} + +func (c *AfterSaleBuyerExchangeConfirmRequest) GetParams() *AfterSaleBuyerExchangeConfirmParam { + return c.Param +} + +type AfterSaleBuyerExchangeConfirmParam struct { + // 售后的单id + AfterSaleId int64 `json:"aftersale_id"` + // 处理方式: false:确认仓库收到退回货货物并二次发货(或直接退款) true:拒绝 + IsReject bool `json:"is_reject"` + // s_reject为false时,必填,用于指定换货操作行为;换货动作: refund_agree : 同意换货转退款 exchange_agree:同意换货并发货 + Action string `json:"action"` + // is_reject = true 时需要选择拒绝原因;具体各个可选值对应的拒绝原因见下表 + Comment string `json:"comment"` + // 凭证图片,只能传一张 + Evidence []string `json:"evidence"` + // is_reject = false时需要上传物流单号 + LogisticsCode string `json:"logistics_code"` + // is_reject = false时需要上传物流公司编号 ,如圆通为yuantong + CompanyCode string `json:"company_code"` +} diff --git a/platformapi/tiktok_shop/sdk-golang/api/afterSale_buyerExchangeConfirm/response/afterSale_buyerExchangeConfirm_response.go b/platformapi/tiktok_shop/sdk-golang/api/afterSale_buyerExchangeConfirm/response/afterSale_buyerExchangeConfirm_response.go new file mode 100644 index 00000000..33eec36a --- /dev/null +++ b/platformapi/tiktok_shop/sdk-golang/api/afterSale_buyerExchangeConfirm/response/afterSale_buyerExchangeConfirm_response.go @@ -0,0 +1,9 @@ +package address_areaList_response + +import ( + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" +) + +type AfterSaleBuyerExchangeConfirmResponse struct { + doudian_sdk.BaseDoudianOpApiResponse +} diff --git a/platformapi/tiktok_shop/sdk-golang/api/afterSale_rejectReasonCodeList/request/afterSale_rejectReasonCodeList_request.go b/platformapi/tiktok_shop/sdk-golang/api/afterSale_rejectReasonCodeList/request/afterSale_rejectReasonCodeList_request.go index cf9d4209..22c8edd0 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/afterSale_rejectReasonCodeList/request/afterSale_rejectReasonCodeList_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/afterSale_rejectReasonCodeList/request/afterSale_rejectReasonCodeList_request.go @@ -45,4 +45,6 @@ func (c *AfterSaleRejectReasonCodeListRequest) GetParams() *AfterSaleRejectReaso } type AfterSaleRejectReasonCodeListParam struct { + // 备注关联的售后ID + AfterSaleId int64 `json:"after_sale_id"` } 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_detail/request/freightTemplate_detail_request.go b/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_detail/request/freightTemplate_detail_request.go index 2ea6d076..68003b78 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_detail/request/freightTemplate_detail_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_detail/request/freightTemplate_detail_request.go @@ -2,6 +2,8 @@ package freightTemplate_detail_request import ( "encoding/json" + freightTemplate_detail_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_detail/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type FreightTemplateDetailRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_list/request/freightTemplate_list_request.go b/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_list/request/freightTemplate_list_request.go index f153ddde..a2c0d6ce 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_list/request/freightTemplate_list_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_list/request/freightTemplate_list_request.go @@ -2,6 +2,8 @@ package freightTemplate_list_request import ( "encoding/json" + freightTemplate_list_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_list/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type FreightTemplateListRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_update/request/freightTemplate_update_request.go b/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_update/request/freightTemplate_update_request.go index 0ceb9e97..213df94e 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_update/request/freightTemplate_update_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_update/request/freightTemplate_update_request.go @@ -2,6 +2,8 @@ package freightTemplate_update_request import ( "encoding/json" + freightTemplate_update_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_update/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type FreightTemplateUpdateRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/logistics_appendSubOrder/request/logistics_appendSubOrder_request.go b/platformapi/tiktok_shop/sdk-golang/api/logistics_appendSubOrder/request/logistics_appendSubOrder_request.go index 65031417..6d518403 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/logistics_appendSubOrder/request/logistics_appendSubOrder_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/logistics_appendSubOrder/request/logistics_appendSubOrder_request.go @@ -2,6 +2,8 @@ package logistics_appendSubOrder_request import ( "encoding/json" + logistics_appendSubOrder_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/logistics_appendSubOrder/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type LogisticsAppendSubOrderRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/logistics_cancelOrder/request/logistics_cancelOrder_request.go b/platformapi/tiktok_shop/sdk-golang/api/logistics_cancelOrder/request/logistics_cancelOrder_request.go index 3dd2d4df..4afd15fd 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/logistics_cancelOrder/request/logistics_cancelOrder_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/logistics_cancelOrder/request/logistics_cancelOrder_request.go @@ -2,6 +2,8 @@ package logistics_cancelOrder_request import ( "encoding/json" + logistics_cancelOrder_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/logistics_cancelOrder/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type LogisticsCancelOrderRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/logistics_createSFOrder/request/logistics_createSFOrder_request.go b/platformapi/tiktok_shop/sdk-golang/api/logistics_createSFOrder/request/logistics_createSFOrder_request.go index da3ba412..fd0acf4d 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/logistics_createSFOrder/request/logistics_createSFOrder_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/logistics_createSFOrder/request/logistics_createSFOrder_request.go @@ -2,6 +2,8 @@ package logistics_createSFOrder_request import ( "encoding/json" + logistics_createSFOrder_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/logistics_createSFOrder/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type LogisticsCreateSFOrderRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/logistics_customTemplateList/request/logistics_customTemplateList_request.go b/platformapi/tiktok_shop/sdk-golang/api/logistics_customTemplateList/request/logistics_customTemplateList_request.go index fd11debb..2474465c 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/logistics_customTemplateList/request/logistics_customTemplateList_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/logistics_customTemplateList/request/logistics_customTemplateList_request.go @@ -2,6 +2,8 @@ package logistics_customTemplateList_request import ( "encoding/json" + logistics_customTemplateList_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/logistics_customTemplateList/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type LogisticsCustomTemplateListRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/logistics_deliveryNotice/request/logistics_deliveryNotice_request.go b/platformapi/tiktok_shop/sdk-golang/api/logistics_deliveryNotice/request/logistics_deliveryNotice_request.go index 3e6facd5..38e9a104 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/logistics_deliveryNotice/request/logistics_deliveryNotice_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/logistics_deliveryNotice/request/logistics_deliveryNotice_request.go @@ -2,6 +2,8 @@ package logistics_deliveryNotice_request import ( "encoding/json" + logistics_deliveryNotice_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/logistics_deliveryNotice/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type LogisticsDeliveryNoticeRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/logistics_getOutRange/request/logistics_getOutRange_request.go b/platformapi/tiktok_shop/sdk-golang/api/logistics_getOutRange/request/logistics_getOutRange_request.go index 3b4c6eaa..eb014b11 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/logistics_getOutRange/request/logistics_getOutRange_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/logistics_getOutRange/request/logistics_getOutRange_request.go @@ -2,6 +2,8 @@ package logistics_getOutRange_request import ( "encoding/json" + logistics_getOutRange_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/logistics_getOutRange/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type LogisticsGetOutRangeRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/logistics_getShopKey/request/logistics_getShopKey_request.go b/platformapi/tiktok_shop/sdk-golang/api/logistics_getShopKey/request/logistics_getShopKey_request.go index 1076860b..97c6acfd 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/logistics_getShopKey/request/logistics_getShopKey_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/logistics_getShopKey/request/logistics_getShopKey_request.go @@ -2,6 +2,8 @@ package logistics_getShopKey_request import ( "encoding/json" + logistics_getShopKey_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/logistics_getShopKey/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type LogisticsGetShopKeyRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/logistics_listShopNetsite/request/logistics_listShopNetsite_request.go b/platformapi/tiktok_shop/sdk-golang/api/logistics_listShopNetsite/request/logistics_listShopNetsite_request.go index bf42ba2c..bf073999 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/logistics_listShopNetsite/request/logistics_listShopNetsite_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/logistics_listShopNetsite/request/logistics_listShopNetsite_request.go @@ -2,6 +2,8 @@ package logistics_listShopNetsite_request import ( "encoding/json" + logistics_listShopNetsite_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/logistics_listShopNetsite/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type LogisticsListShopNetsiteRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/logistics_newCreateOrder/request/logistics_newCreateOrder_request.go b/platformapi/tiktok_shop/sdk-golang/api/logistics_newCreateOrder/request/logistics_newCreateOrder_request.go index c5a8a63e..1f360420 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/logistics_newCreateOrder/request/logistics_newCreateOrder_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/logistics_newCreateOrder/request/logistics_newCreateOrder_request.go @@ -2,6 +2,8 @@ package logistics_newCreateOrder_request import ( "encoding/json" + logistics_newCreateOrder_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/logistics_newCreateOrder/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type LogisticsNewCreateOrderRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/logistics_queryPackageRoute/request/logistics_queryPackageRoute_request.go b/platformapi/tiktok_shop/sdk-golang/api/logistics_queryPackageRoute/request/logistics_queryPackageRoute_request.go index f73d7753..710712d1 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/logistics_queryPackageRoute/request/logistics_queryPackageRoute_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/logistics_queryPackageRoute/request/logistics_queryPackageRoute_request.go @@ -2,6 +2,8 @@ package logistics_queryPackageRoute_request import ( "encoding/json" + logistics_queryPackageRoute_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/logistics_queryPackageRoute/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type LogisticsQueryPackageRouteRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/logistics_registerPackageRoute/request/logistics_registerPackageRoute_request.go b/platformapi/tiktok_shop/sdk-golang/api/logistics_registerPackageRoute/request/logistics_registerPackageRoute_request.go index 05656992..e2720d0c 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/logistics_registerPackageRoute/request/logistics_registerPackageRoute_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/logistics_registerPackageRoute/request/logistics_registerPackageRoute_request.go @@ -2,6 +2,8 @@ package logistics_registerPackageRoute_request import ( "encoding/json" + logistics_registerPackageRoute_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/logistics_registerPackageRoute/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type LogisticsRegisterPackageRouteRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/logistics_templateList/request/logistics_templateList_request.go b/platformapi/tiktok_shop/sdk-golang/api/logistics_templateList/request/logistics_templateList_request.go index f211df68..c2f9e319 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/logistics_templateList/request/logistics_templateList_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/logistics_templateList/request/logistics_templateList_request.go @@ -2,6 +2,8 @@ package logistics_templateList_request import ( "encoding/json" + logistics_templateList_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/logistics_templateList/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type LogisticsTemplateListRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/logistics_trackNoRouteDetail/request/logistics_trackNoRouteDetail_request.go b/platformapi/tiktok_shop/sdk-golang/api/logistics_trackNoRouteDetail/request/logistics_trackNoRouteDetail_request.go index 10c309f3..8179fb2a 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/logistics_trackNoRouteDetail/request/logistics_trackNoRouteDetail_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/logistics_trackNoRouteDetail/request/logistics_trackNoRouteDetail_request.go @@ -2,6 +2,8 @@ package logistics_trackNoRouteDetail_request import ( "encoding/json" + logistics_trackNoRouteDetail_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/logistics_trackNoRouteDetail/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type LogisticsTrackNoRouteDetailRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/logistics_updateOrder/request/logistics_updateOrder_request.go b/platformapi/tiktok_shop/sdk-golang/api/logistics_updateOrder/request/logistics_updateOrder_request.go index 7b499990..f79f6025 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/logistics_updateOrder/request/logistics_updateOrder_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/logistics_updateOrder/request/logistics_updateOrder_request.go @@ -2,6 +2,8 @@ package logistics_updateOrder_request import ( "encoding/json" + logistics_updateOrder_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/logistics_updateOrder/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type LogisticsUpdateOrderRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/logistics_waybillApply/request/logistics_waybillApply_request.go b/platformapi/tiktok_shop/sdk-golang/api/logistics_waybillApply/request/logistics_waybillApply_request.go index d845446e..40e496ac 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/logistics_waybillApply/request/logistics_waybillApply_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/logistics_waybillApply/request/logistics_waybillApply_request.go @@ -2,6 +2,8 @@ package logistics_waybillApply_request import ( "encoding/json" + logistics_waybillApply_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/logistics_waybillApply/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type LogisticsWaybillApplyRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/material_batchUploadImageSync/request/material_batchUploadImageSync_request.go b/platformapi/tiktok_shop/sdk-golang/api/material_batchUploadImageSync/request/material_batchUploadImageSync_request.go index 59447451..b6163c55 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/material_batchUploadImageSync/request/material_batchUploadImageSync_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/material_batchUploadImageSync/request/material_batchUploadImageSync_request.go @@ -2,6 +2,8 @@ package material_batchUploadImageSync_request import ( "encoding/json" + material_batchUploadImageSync_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/material_batchUploadImageSync/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type MaterialBatchUploadImageSyncRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/material_batchUploadImageSync/response/material_batchUploadImageSync_response.go b/platformapi/tiktok_shop/sdk-golang/api/material_batchUploadImageSync/response/material_batchUploadImageSync_response.go index 639a052d..52c83e24 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/material_batchUploadImageSync/response/material_batchUploadImageSync_response.go +++ b/platformapi/tiktok_shop/sdk-golang/api/material_batchUploadImageSync/response/material_batchUploadImageSync_response.go @@ -1,5 +1,7 @@ package material_batchUploadImageSync_response +import doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" + type MaterialBatchUploadImageSyncResponse struct { doudian_sdk.BaseDoudianOpApiResponse Data *MaterialBatchUploadImageSyncData `json:"data"` diff --git a/platformapi/tiktok_shop/sdk-golang/api/material_batchUploadVideoAsync/request/material_batchUploadVideoAsync_request.go b/platformapi/tiktok_shop/sdk-golang/api/material_batchUploadVideoAsync/request/material_batchUploadVideoAsync_request.go index 7d4bcef5..ade4121d 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/material_batchUploadVideoAsync/request/material_batchUploadVideoAsync_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/material_batchUploadVideoAsync/request/material_batchUploadVideoAsync_request.go @@ -2,6 +2,8 @@ package material_batchUploadVideoAsync_request import ( "encoding/json" + material_batchUploadVideoAsync_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/material_batchUploadVideoAsync/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type MaterialBatchUploadVideoAsyncRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/material_createFolder/request/material_createFolder_request.go b/platformapi/tiktok_shop/sdk-golang/api/material_createFolder/request/material_createFolder_request.go index b60d57ad..3359fd79 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/material_createFolder/request/material_createFolder_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/material_createFolder/request/material_createFolder_request.go @@ -2,6 +2,8 @@ package material_createFolder_request import ( "encoding/json" + material_createFolder_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/material_createFolder/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type MaterialCreateFolderRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/material_createFolder/response/material_createFolder_response.go b/platformapi/tiktok_shop/sdk-golang/api/material_createFolder/response/material_createFolder_response.go index f8beb0e2..1693b30d 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/material_createFolder/response/material_createFolder_response.go +++ b/platformapi/tiktok_shop/sdk-golang/api/material_createFolder/response/material_createFolder_response.go @@ -1,5 +1,7 @@ package material_createFolder_response +import doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" + type MaterialCreateFolderResponse struct { doudian_sdk.BaseDoudianOpApiResponse Data *MaterialCreateFolderData `json:"data"` diff --git a/platformapi/tiktok_shop/sdk-golang/api/material_deleteFolder/request/material_deleteFolder_request.go b/platformapi/tiktok_shop/sdk-golang/api/material_deleteFolder/request/material_deleteFolder_request.go index 6ed6d35c..4a306f6f 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/material_deleteFolder/request/material_deleteFolder_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/material_deleteFolder/request/material_deleteFolder_request.go @@ -2,6 +2,8 @@ package material_deleteFolder_request import ( "encoding/json" + material_deleteFolder_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/material_deleteFolder/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type MaterialDeleteFolderRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/material_deleteMaterial/request/material_deleteMaterial_request.go b/platformapi/tiktok_shop/sdk-golang/api/material_deleteMaterial/request/material_deleteMaterial_request.go index 60bbc817..3b6a02d0 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/material_deleteMaterial/request/material_deleteMaterial_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/material_deleteMaterial/request/material_deleteMaterial_request.go @@ -2,6 +2,8 @@ package material_deleteMaterial_request import ( "encoding/json" + material_deleteMaterial_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/material_deleteMaterial/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type MaterialDeleteMaterialRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/material_easyShuttle/request/material_easyShuttle_request.go b/platformapi/tiktok_shop/sdk-golang/api/material_easyShuttle/request/material_easyShuttle_request.go index 0ec77d28..dddb7958 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/material_easyShuttle/request/material_easyShuttle_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/material_easyShuttle/request/material_easyShuttle_request.go @@ -2,6 +2,8 @@ package material_easyShuttle_request import ( "encoding/json" + material_easyShuttle_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/material_easyShuttle/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type MaterialEasyShuttleRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/material_editMaterial/request/material_editMaterial_request.go b/platformapi/tiktok_shop/sdk-golang/api/material_editMaterial/request/material_editMaterial_request.go index 6074a59a..144e818d 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/material_editMaterial/request/material_editMaterial_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/material_editMaterial/request/material_editMaterial_request.go @@ -2,6 +2,8 @@ package material_editMaterial_request import ( "encoding/json" + material_editMaterial_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/material_editMaterial/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type MaterialEditMaterialRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/material_getFolderInfo/request/material_getFolderInfo_request.go b/platformapi/tiktok_shop/sdk-golang/api/material_getFolderInfo/request/material_getFolderInfo_request.go index feb178d2..6384646d 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/material_getFolderInfo/request/material_getFolderInfo_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/material_getFolderInfo/request/material_getFolderInfo_request.go @@ -2,6 +2,8 @@ package material_getFolderInfo_request import ( "encoding/json" + material_getFolderInfo_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/material_getFolderInfo/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type MaterialGetFolderInfoRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/material_get_cap_info/request/material_get_cap_info_request.go b/platformapi/tiktok_shop/sdk-golang/api/material_get_cap_info/request/material_get_cap_info_request.go index 5093900e..22ce7a7e 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/material_get_cap_info/request/material_get_cap_info_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/material_get_cap_info/request/material_get_cap_info_request.go @@ -2,6 +2,8 @@ package material_get_cap_info_request import ( "encoding/json" + material_get_cap_info_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/material_get_cap_info/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type MaterialGetCapInfoRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/material_mGetPlayInfo/request/material_mGetPlayInfo_request.go b/platformapi/tiktok_shop/sdk-golang/api/material_mGetPlayInfo/request/material_mGetPlayInfo_request.go index b10bc422..0bcc430a 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/material_mGetPlayInfo/request/material_mGetPlayInfo_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/material_mGetPlayInfo/request/material_mGetPlayInfo_request.go @@ -2,6 +2,8 @@ package material_mGetPlayInfo_request import ( "encoding/json" + material_mGetPlayInfo_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/material_mGetPlayInfo/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type MaterialMGetPlayInfoRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/material_moveFolderToRecycleBin/request/material_moveFolderToRecycleBin_request.go b/platformapi/tiktok_shop/sdk-golang/api/material_moveFolderToRecycleBin/request/material_moveFolderToRecycleBin_request.go index 7c04e219..2dedf509 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/material_moveFolderToRecycleBin/request/material_moveFolderToRecycleBin_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/material_moveFolderToRecycleBin/request/material_moveFolderToRecycleBin_request.go @@ -2,6 +2,8 @@ package material_moveFolderToRecycleBin_request import ( "encoding/json" + material_moveFolderToRecycleBin_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/material_moveFolderToRecycleBin/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type MaterialMoveFolderToRecycleBinRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/material_moveMaterialToRecycleBin/request/material_moveMaterialToRecycleBin_request.go b/platformapi/tiktok_shop/sdk-golang/api/material_moveMaterialToRecycleBin/request/material_moveMaterialToRecycleBin_request.go index c92906fc..92a55c5a 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/material_moveMaterialToRecycleBin/request/material_moveMaterialToRecycleBin_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/material_moveMaterialToRecycleBin/request/material_moveMaterialToRecycleBin_request.go @@ -2,6 +2,8 @@ package material_moveMaterialToRecycleBin_request import ( "encoding/json" + material_moveMaterialToRecycleBin_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/material_moveMaterialToRecycleBin/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type MaterialMoveMaterialToRecycleBinRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/material_queryMaterialDetail/request/material_queryMaterialDetail_request.go b/platformapi/tiktok_shop/sdk-golang/api/material_queryMaterialDetail/request/material_queryMaterialDetail_request.go index d504606c..c96b5f6a 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/material_queryMaterialDetail/request/material_queryMaterialDetail_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/material_queryMaterialDetail/request/material_queryMaterialDetail_request.go @@ -2,6 +2,8 @@ package material_queryMaterialDetail_request import ( "encoding/json" + material_queryMaterialDetail_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/material_queryMaterialDetail/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type MaterialQueryMaterialDetailRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/material_recoverFolder/request/material_recoverFolder_request.go b/platformapi/tiktok_shop/sdk-golang/api/material_recoverFolder/request/material_recoverFolder_request.go index cc942a31..edc0e41a 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/material_recoverFolder/request/material_recoverFolder_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/material_recoverFolder/request/material_recoverFolder_request.go @@ -2,6 +2,8 @@ package material_recoverFolder_request import ( "encoding/json" + material_recoverFolder_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/material_recoverFolder/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type MaterialRecoverFolderRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/material_recoverMaterial/request/material_recoverMaterial_request.go b/platformapi/tiktok_shop/sdk-golang/api/material_recoverMaterial/request/material_recoverMaterial_request.go index 62a6fc2d..fc2da78a 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/material_recoverMaterial/request/material_recoverMaterial_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/material_recoverMaterial/request/material_recoverMaterial_request.go @@ -2,6 +2,8 @@ package material_recoverMaterial_request import ( "encoding/json" + material_recoverMaterial_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/material_recoverMaterial/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type MaterialRecoverMaterialRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/material_searchFolder/request/material_searchFolder_request.go b/platformapi/tiktok_shop/sdk-golang/api/material_searchFolder/request/material_searchFolder_request.go index 6ac2f659..b59dde34 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/material_searchFolder/request/material_searchFolder_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/material_searchFolder/request/material_searchFolder_request.go @@ -2,6 +2,8 @@ package material_searchFolder_request import ( "encoding/json" + material_searchFolder_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/material_searchFolder/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type MaterialSearchFolderRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/material_searchMaterial/request/material_searchMaterial_request.go b/platformapi/tiktok_shop/sdk-golang/api/material_searchMaterial/request/material_searchMaterial_request.go index 5e6778f0..a63b343f 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/material_searchMaterial/request/material_searchMaterial_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/material_searchMaterial/request/material_searchMaterial_request.go @@ -2,6 +2,8 @@ package material_searchMaterial_request import ( "encoding/json" + material_searchMaterial_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/material_searchMaterial/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type MaterialSearchMaterialRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/material_uploadImageSync/request/material_uploadImageSync_request.go b/platformapi/tiktok_shop/sdk-golang/api/material_uploadImageSync/request/material_uploadImageSync_request.go index 9d247201..8d2f9de7 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/material_uploadImageSync/request/material_uploadImageSync_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/material_uploadImageSync/request/material_uploadImageSync_request.go @@ -2,6 +2,8 @@ package material_uploadImageSync_request import ( "encoding/json" + material_uploadImageSync_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/material_uploadImageSync/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type MaterialUploadImageSyncRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/material_uploadVideoAsync/request/material_uploadVideoAsync_request.go b/platformapi/tiktok_shop/sdk-golang/api/material_uploadVideoAsync/request/material_uploadVideoAsync_request.go index f294916f..0057807b 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/material_uploadVideoAsync/request/material_uploadVideoAsync_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/material_uploadVideoAsync/request/material_uploadVideoAsync_request.go @@ -2,6 +2,8 @@ package material_uploadVideoAsync_request import ( "encoding/json" + material_uploadVideoAsync_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/material_uploadVideoAsync/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type MaterialUploadVideoAsyncRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/order_AddressAppliedSwitch/request/order_AddressAppliedSwitch_request.go b/platformapi/tiktok_shop/sdk-golang/api/order_AddressAppliedSwitch/request/order_AddressAppliedSwitch_request.go index 206c11eb..5a6506d4 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/order_AddressAppliedSwitch/request/order_AddressAppliedSwitch_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/order_AddressAppliedSwitch/request/order_AddressAppliedSwitch_request.go @@ -2,6 +2,8 @@ package order_AddressAppliedSwitch_request import ( "encoding/json" + order_AddressAppliedSwitch_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_AddressAppliedSwitch/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type OrderAddressAppliedSwitchRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/order_BatchSearchIndex/request/order_BatchSearchIndex_request.go b/platformapi/tiktok_shop/sdk-golang/api/order_BatchSearchIndex/request/order_BatchSearchIndex_request.go index 3bc9ed99..6f93959e 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/order_BatchSearchIndex/request/order_BatchSearchIndex_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/order_BatchSearchIndex/request/order_BatchSearchIndex_request.go @@ -2,6 +2,8 @@ package order_BatchSearchIndex_request import ( "encoding/json" + order_BatchSearchIndex_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_BatchSearchIndex/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type OrderBatchSearchIndexRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/order_addOrderRemark/request/order_addOrderRemark_request.go b/platformapi/tiktok_shop/sdk-golang/api/order_addOrderRemark/request/order_addOrderRemark_request.go index bafff4e2..d0ec8abf 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/order_addOrderRemark/request/order_addOrderRemark_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/order_addOrderRemark/request/order_addOrderRemark_request.go @@ -2,6 +2,8 @@ package order_addOrderRemark_request import ( "encoding/json" + order_addOrderRemark_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_addOrderRemark/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type OrderAddOrderRemarkRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/order_addSerialNumber/request/order_addSerialNumber_request.go b/platformapi/tiktok_shop/sdk-golang/api/order_addSerialNumber/request/order_addSerialNumber_request.go index 01db2f6b..3d5dfc7f 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/order_addSerialNumber/request/order_addSerialNumber_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/order_addSerialNumber/request/order_addSerialNumber_request.go @@ -2,6 +2,8 @@ package order_addSerialNumber_request import ( "encoding/json" + order_addSerialNumber_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_addSerialNumber/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type OrderAddSerialNumberRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/order_addresSwitchConfig/request/order_addresSwitchConfig_request.go b/platformapi/tiktok_shop/sdk-golang/api/order_addresSwitchConfig/request/order_addresSwitchConfig_request.go index 152431a8..705deb8e 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/order_addresSwitchConfig/request/order_addresSwitchConfig_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/order_addresSwitchConfig/request/order_addresSwitchConfig_request.go @@ -2,6 +2,8 @@ package order_addresSwitchConfig_request import ( "encoding/json" + order_addresSwitchConfig_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_addresSwitchConfig/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type OrderAddresSwitchConfigRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/order_batchSensitive/request/order_batchSensitive_request.go b/platformapi/tiktok_shop/sdk-golang/api/order_batchSensitive/request/order_batchSensitive_request.go index 7540e4c8..6af8e43f 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/order_batchSensitive/request/order_batchSensitive_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/order_batchSensitive/request/order_batchSensitive_request.go @@ -2,6 +2,8 @@ package order_batchSensitive_request import ( "encoding/json" + order_batchSensitive_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_batchSensitive/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type OrderBatchSensitiveRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/order_getSearchIndex/request/order_getSearchIndex_request.go b/platformapi/tiktok_shop/sdk-golang/api/order_getSearchIndex/request/order_getSearchIndex_request.go index a0c5419e..6800f601 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/order_getSearchIndex/request/order_getSearchIndex_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/order_getSearchIndex/request/order_getSearchIndex_request.go @@ -2,6 +2,8 @@ package order_getSearchIndex_request import ( "encoding/json" + order_getSearchIndex_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_getSearchIndex/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type OrderGetSearchIndexRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/order_getServiceList/request/order_getServiceList_request.go b/platformapi/tiktok_shop/sdk-golang/api/order_getServiceList/request/order_getServiceList_request.go index 8b93c44e..11a76040 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/order_getServiceList/request/order_getServiceList_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/order_getServiceList/request/order_getServiceList_request.go @@ -2,6 +2,8 @@ package order_getServiceList_request import ( "encoding/json" + order_getServiceList_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_getServiceList/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type OrderGetServiceListRequest struct { @@ -47,7 +49,7 @@ type OrderGetServiceListParam struct { StartTime int64 `json:"start_time"` // 结束时间时间戳,必须大于开始时间 EndTime int64 `json:"end_time"` - // 1、不传代表获取全部服务请求 2、操作状态:0 #待处理 10 #审核中 100 #已关闭 + // 1、不传代表获取全部服务请求 2、操作状态:0 #待处理 10 #审核中 100 #已关闭 Status int32 `json:"status"` // 订单id OrderId int64 `json:"order_id"` @@ -59,6 +61,6 @@ type OrderGetServiceListParam struct { Page int32 `json:"page"` // 每页订单数(默认为10,最大100),超过100则会按照最大值100处理 Size int32 `json:"size"` - // 排序方式:ASC按时间升序, DESC按时间降序 默认DESC + // 排序方式:ASC按时间升序, DESC按时间降序 默认DESC Order string `json:"order"` } diff --git a/platformapi/tiktok_shop/sdk-golang/api/order_logisticsAdd/request/order_logisticsAdd_request.go b/platformapi/tiktok_shop/sdk-golang/api/order_logisticsAdd/request/order_logisticsAdd_request.go index 4927ab31..0d50786e 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/order_logisticsAdd/request/order_logisticsAdd_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/order_logisticsAdd/request/order_logisticsAdd_request.go @@ -2,6 +2,8 @@ package order_logisticsAdd_request import ( "encoding/json" + order_logisticsAdd_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_logisticsAdd/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type OrderLogisticsAddRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/order_logisticsAdd/response/order_logisticsAdd_response.go b/platformapi/tiktok_shop/sdk-golang/api/order_logisticsAdd/response/order_logisticsAdd_response.go index e8d09ea9..3ca86a9c 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/order_logisticsAdd/response/order_logisticsAdd_response.go +++ b/platformapi/tiktok_shop/sdk-golang/api/order_logisticsAdd/response/order_logisticsAdd_response.go @@ -1,5 +1,7 @@ package order_logisticsAdd_response +import doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" + type OrderLogisticsAddResponse struct { doudian_sdk.BaseDoudianOpApiResponse Data *OrderLogisticsAddData `json:"data"` diff --git a/platformapi/tiktok_shop/sdk-golang/api/order_logisticsAddMultiPack/request/order_logisticsAddMultiPack_request.go b/platformapi/tiktok_shop/sdk-golang/api/order_logisticsAddMultiPack/request/order_logisticsAddMultiPack_request.go index dce4e106..f0e0eae8 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/order_logisticsAddMultiPack/request/order_logisticsAddMultiPack_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/order_logisticsAddMultiPack/request/order_logisticsAddMultiPack_request.go @@ -2,6 +2,8 @@ package order_logisticsAddMultiPack_request import ( "encoding/json" + order_logisticsAddMultiPack_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_logisticsAddMultiPack/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type OrderLogisticsAddMultiPackRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/order_logisticsAddSinglePack/request/order_logisticsAddSinglePack_request.go b/platformapi/tiktok_shop/sdk-golang/api/order_logisticsAddSinglePack/request/order_logisticsAddSinglePack_request.go index 9da2b488..e03353b0 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/order_logisticsAddSinglePack/request/order_logisticsAddSinglePack_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/order_logisticsAddSinglePack/request/order_logisticsAddSinglePack_request.go @@ -2,6 +2,8 @@ package order_logisticsAddSinglePack_request import ( "encoding/json" + order_logisticsAddSinglePack_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_logisticsAddSinglePack/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type OrderLogisticsAddSinglePackRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/order_logisticsCompanyList/request/order_logisticsCompanyList_request.go b/platformapi/tiktok_shop/sdk-golang/api/order_logisticsCompanyList/request/order_logisticsCompanyList_request.go index b1c3cd2d..540d6bca 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/order_logisticsCompanyList/request/order_logisticsCompanyList_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/order_logisticsCompanyList/request/order_logisticsCompanyList_request.go @@ -2,6 +2,8 @@ package order_logisticsCompanyList_request import ( "encoding/json" + order_logisticsCompanyList_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_logisticsCompanyList/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type OrderLogisticsCompanyListRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/order_review/response/order_review_response.go b/platformapi/tiktok_shop/sdk-golang/api/order_review/response/order_review_response.go index f56fa315..e0d82409 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/order_review/response/order_review_response.go +++ b/platformapi/tiktok_shop/sdk-golang/api/order_review/response/order_review_response.go @@ -1,5 +1,7 @@ package order_review_response +import doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" + type OrderReviewResponse struct { doudian_sdk.BaseDoudianOpApiResponse Data *OrderReviewData `json:"data"` diff --git a/platformapi/tiktok_shop/sdk-golang/api/order_serviceDetail/response/order_serviceDetail_response.go b/platformapi/tiktok_shop/sdk-golang/api/order_serviceDetail/response/order_serviceDetail_response.go index 5671ccfe..4a941d3b 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/order_serviceDetail/response/order_serviceDetail_response.go +++ b/platformapi/tiktok_shop/sdk-golang/api/order_serviceDetail/response/order_serviceDetail_response.go @@ -1,11 +1,13 @@ package order_serviceDetail_response +import doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" + type OrderServiceDetailResponse struct { doudian_sdk.BaseDoudianOpApiResponse Data *OrderServiceDetailData `json:"data"` } type Detail struct { - // 服务请求ID + // 服务请求ID Id int64 `json:"id"` // 订单号 OrderId int64 `json:"order_id"` @@ -15,7 +17,7 @@ type Detail struct { Detail string `json:"detail"` // 商家答复内容 Reply string `json:"reply"` - // 服务单创建时间 + // 服务单创建时间 CreateTime string `json:"create_time"` // 服务单类型,枚举 ServiceType int64 `json:"service_type"` @@ -31,8 +33,6 @@ type Detail struct { RejectDetail string `json:"reject_detail"` // 驳回时间 RejectTime string `json:"reject_time"` - // 驳回时间 - RejectTime string `json:"reject_time"` // 凭证demo url ProofDemo string `json:"proof_demo"` // 是否必须上传凭证 @@ -43,7 +43,7 @@ type Detail struct { ExpirationTime string `json:"expiration_time"` // 关闭时间 CloseTime string `json:"close_time"` - // 关闭原因 + // 关闭原因 CloseDetail string `json:"close_detail"` // 首次回复时间 FirstReplyTime string `json:"first_reply_time"` @@ -63,7 +63,7 @@ type LogsItem struct { ServiceDetail string `json:"service_detail"` // 回复内容 ReplyDetail string `json:"reply_detail"` - // 关闭原因 + // 关闭原因 CloseDetail string `json:"close_detail"` // 驳回内容 RejectDetail string `json:"reject_detail"` diff --git a/platformapi/tiktok_shop/sdk-golang/api/order_updateOrderAmount/request/order_updateOrderAmount_request.go b/platformapi/tiktok_shop/sdk-golang/api/order_updateOrderAmount/request/order_updateOrderAmount_request.go index 032aca21..04385283 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/order_updateOrderAmount/request/order_updateOrderAmount_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/order_updateOrderAmount/request/order_updateOrderAmount_request.go @@ -2,6 +2,8 @@ package order_updateOrderAmount_request import ( "encoding/json" + order_updateOrderAmount_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_updateOrderAmount/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type OrderUpdateOrderAmountRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/order_updateOrderAmount/response/order_updateOrderAmount_response.go b/platformapi/tiktok_shop/sdk-golang/api/order_updateOrderAmount/response/order_updateOrderAmount_response.go index 0bed5a45..ae4eacc5 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/order_updateOrderAmount/response/order_updateOrderAmount_response.go +++ b/platformapi/tiktok_shop/sdk-golang/api/order_updateOrderAmount/response/order_updateOrderAmount_response.go @@ -1,5 +1,7 @@ package order_updateOrderAmount_response +import doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" + type OrderUpdateOrderAmountResponse struct { doudian_sdk.BaseDoudianOpApiResponse Data *OrderUpdateOrderAmountData `json:"data"` diff --git a/platformapi/tiktok_shop/sdk-golang/api/order_updatePostAmount/request/order_updatePostAmount_request.go b/platformapi/tiktok_shop/sdk-golang/api/order_updatePostAmount/request/order_updatePostAmount_request.go index db3ada98..742e81ea 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/order_updatePostAmount/request/order_updatePostAmount_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/order_updatePostAmount/request/order_updatePostAmount_request.go @@ -2,6 +2,8 @@ package order_updatePostAmount_request import ( "encoding/json" + order_updatePostAmount_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_updatePostAmount/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type OrderUpdatePostAmountRequest struct { @@ -45,5 +47,4 @@ func (c *OrderUpdatePostAmountRequest) GetParams() *OrderUpdatePostAmountParam { type OrderUpdatePostAmountParam struct { OrderId string `json:"order_id"` PostAmount int64 `json:"post_amount"` - PostAmount int64 `json:"post_amount"` } diff --git a/platformapi/tiktok_shop/sdk-golang/api/order_updatePostAmount/response/order_updatePostAmount_response.go b/platformapi/tiktok_shop/sdk-golang/api/order_updatePostAmount/response/order_updatePostAmount_response.go index 4ce072b9..c152e614 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/order_updatePostAmount/response/order_updatePostAmount_response.go +++ b/platformapi/tiktok_shop/sdk-golang/api/order_updatePostAmount/response/order_updatePostAmount_response.go @@ -1,5 +1,7 @@ package order_updatePostAmount_response +import doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" + type OrderUpdatePostAmountResponse struct { doudian_sdk.BaseDoudianOpApiResponse Data *OrderUpdatePostAmountData `json:"data"` diff --git a/platformapi/tiktok_shop/sdk-golang/api/product_CategoryDimList/request/product_CategoryDimList_request.go b/platformapi/tiktok_shop/sdk-golang/api/product_CategoryDimList/request/product_CategoryDimList_request.go index 19035d60..aa0d911b 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/product_CategoryDimList/request/product_CategoryDimList_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/product_CategoryDimList/request/product_CategoryDimList_request.go @@ -2,6 +2,8 @@ package product_CategoryDimList_request import ( "encoding/json" + product_CategoryDimList_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_CategoryDimList/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type ProductCategoryDimListRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/product_CategoryDimList/response/product_CategoryDimList_response.go b/platformapi/tiktok_shop/sdk-golang/api/product_CategoryDimList/response/product_CategoryDimList_response.go index 780dedae..af058f53 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/product_CategoryDimList/response/product_CategoryDimList_response.go +++ b/platformapi/tiktok_shop/sdk-golang/api/product_CategoryDimList/response/product_CategoryDimList_response.go @@ -1,5 +1,7 @@ package product_CategoryDimList_response +import doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" + type ProductCategoryDimListResponse struct { doudian_sdk.BaseDoudianOpApiResponse Data *ProductCategoryDimListData `json:"data"` diff --git a/platformapi/tiktok_shop/sdk-golang/api/product_GetRecommendCategory/request/product_GetRecommendCategory_request.go b/platformapi/tiktok_shop/sdk-golang/api/product_GetRecommendCategory/request/product_GetRecommendCategory_request.go index 0731d82f..bdc91a3d 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/product_GetRecommendCategory/request/product_GetRecommendCategory_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/product_GetRecommendCategory/request/product_GetRecommendCategory_request.go @@ -2,6 +2,8 @@ package product_GetRecommendCategory_request import ( "encoding/json" + product_GetRecommendCategory_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_GetRecommendCategory/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type ProductGetRecommendCategoryRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/product_addCbProduct/request/product_addCbProduct_request.go b/platformapi/tiktok_shop/sdk-golang/api/product_addCbProduct/request/product_addCbProduct_request.go index 1d11d5a8..101437fc 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/product_addCbProduct/request/product_addCbProduct_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/product_addCbProduct/request/product_addCbProduct_request.go @@ -2,6 +2,8 @@ package product_addCbProduct_request import ( "encoding/json" + product_addCbProduct_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_addCbProduct/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type ProductAddCbProductRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/product_addCbProduct/response/product_addCbProduct_response.go b/platformapi/tiktok_shop/sdk-golang/api/product_addCbProduct/response/product_addCbProduct_response.go index 52338efb..bf588a0d 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/product_addCbProduct/response/product_addCbProduct_response.go +++ b/platformapi/tiktok_shop/sdk-golang/api/product_addCbProduct/response/product_addCbProduct_response.go @@ -1,5 +1,7 @@ package product_addCbProduct_response +import doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" + type ProductAddCbProductResponse struct { doudian_sdk.BaseDoudianOpApiResponse Data *ProductAddCbProductData `json:"data"` diff --git a/platformapi/tiktok_shop/sdk-golang/api/product_addV2/request/product_addV2_request.go b/platformapi/tiktok_shop/sdk-golang/api/product_addV2/request/product_addV2_request.go index a2311e01..c5c074c2 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/product_addV2/request/product_addV2_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/product_addV2/request/product_addV2_request.go @@ -2,6 +2,8 @@ package product_addV2_request import ( "encoding/json" + product_addV2_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_addV2/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type ProductAddV2Request struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/product_addV2/response/product_addV2_response.go b/platformapi/tiktok_shop/sdk-golang/api/product_addV2/response/product_addV2_response.go index 943ff524..554f2341 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/product_addV2/response/product_addV2_response.go +++ b/platformapi/tiktok_shop/sdk-golang/api/product_addV2/response/product_addV2_response.go @@ -1,5 +1,7 @@ package product_addV2_response +import doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" + type ProductAddV2Response struct { doudian_sdk.BaseDoudianOpApiResponse Data *ProductAddV2Data `json:"data"` diff --git a/platformapi/tiktok_shop/sdk-golang/api/product_createComponentTemplateV2/request/product_createComponentTemplateV2_request.go b/platformapi/tiktok_shop/sdk-golang/api/product_createComponentTemplateV2/request/product_createComponentTemplateV2_request.go index 93355f57..e5384418 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/product_createComponentTemplateV2/request/product_createComponentTemplateV2_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/product_createComponentTemplateV2/request/product_createComponentTemplateV2_request.go @@ -2,6 +2,8 @@ package product_createComponentTemplateV2_request import ( "encoding/json" + product_createComponentTemplateV2_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_createComponentTemplateV2/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type ProductCreateComponentTemplateV2Request struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/product_datchDelComponentTemplate/request/product_datchDelComponentTemplate_request.go b/platformapi/tiktok_shop/sdk-golang/api/product_datchDelComponentTemplate/request/product_datchDelComponentTemplate_request.go index cbf91dc4..51aba77d 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/product_datchDelComponentTemplate/request/product_datchDelComponentTemplate_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/product_datchDelComponentTemplate/request/product_datchDelComponentTemplate_request.go @@ -2,6 +2,8 @@ package product_datchDelComponentTemplate_request import ( "encoding/json" + product_datchDelComponentTemplate_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_datchDelComponentTemplate/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type ProductDatchDelComponentTemplateRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/product_del/request/product_del_request.go b/platformapi/tiktok_shop/sdk-golang/api/product_del/request/product_del_request.go index c21ed673..8cc2aba5 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/product_del/request/product_del_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/product_del/request/product_del_request.go @@ -2,6 +2,8 @@ package product_del_request import ( "encoding/json" + product_del_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_del/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type ProductDelRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/product_del/response/product_del_response.go b/platformapi/tiktok_shop/sdk-golang/api/product_del/response/product_del_response.go index 27b709d5..f0d9f0a5 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/product_del/response/product_del_response.go +++ b/platformapi/tiktok_shop/sdk-golang/api/product_del/response/product_del_response.go @@ -1,5 +1,7 @@ package product_del_response +import doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" + type ProductDelResponse struct { doudian_sdk.BaseDoudianOpApiResponse Data *ProductDelData `json:"data"` diff --git a/platformapi/tiktok_shop/sdk-golang/api/product_detail/request/product_detail_request.go b/platformapi/tiktok_shop/sdk-golang/api/product_detail/request/product_detail_request.go index f90ff7ce..354ce0f5 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/product_detail/request/product_detail_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/product_detail/request/product_detail_request.go @@ -2,6 +2,8 @@ package product_detail_request import ( "encoding/json" + product_detail_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_detail/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type ProductDetailRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/product_detail/response/product_detail_response.go b/platformapi/tiktok_shop/sdk-golang/api/product_detail/response/product_detail_response.go index 7c1dbd18..7a714863 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/product_detail/response/product_detail_response.go +++ b/platformapi/tiktok_shop/sdk-golang/api/product_detail/response/product_detail_response.go @@ -1,5 +1,7 @@ package product_detail_response +import doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" + type ProductDetailResponse struct { doudian_sdk.BaseDoudianOpApiResponse Data *ProductDetailData `json:"data"` diff --git a/platformapi/tiktok_shop/sdk-golang/api/product_editBuyerLimit/request/product_editBuyerLimit_request.go b/platformapi/tiktok_shop/sdk-golang/api/product_editBuyerLimit/request/product_editBuyerLimit_request.go index 2c17808c..5cb5c2af 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/product_editBuyerLimit/request/product_editBuyerLimit_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/product_editBuyerLimit/request/product_editBuyerLimit_request.go @@ -2,6 +2,8 @@ package product_editBuyerLimit_request import ( "encoding/json" + product_editBuyerLimit_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_editBuyerLimit/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type ProductEditBuyerLimitRequest struct { @@ -49,6 +51,6 @@ type ProductEditBuyerLimitParam struct { MaximumPerOrder int64 `json:"maximum_per_order"` // 每个用户累计限购件数 LimitPerBuyer int64 `json:"limit_per_buyer"` - // 每个用户每次下单至少购买的件数 + // 每个用户每次下单至少购买的件数 MinimumPerOrder int64 `json:"minimum_per_order"` } diff --git a/platformapi/tiktok_shop/sdk-golang/api/product_editCbProduct/request/product_editCbProduct_request.go b/platformapi/tiktok_shop/sdk-golang/api/product_editCbProduct/request/product_editCbProduct_request.go index b67639a3..4284ff39 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/product_editCbProduct/request/product_editCbProduct_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/product_editCbProduct/request/product_editCbProduct_request.go @@ -2,6 +2,8 @@ package product_editCbProduct_request import ( "encoding/json" + product_editCbProduct_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_editCbProduct/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type ProductEditCbProductRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/product_editComponentTemplate/request/product_editComponentTemplate_request.go b/platformapi/tiktok_shop/sdk-golang/api/product_editComponentTemplate/request/product_editComponentTemplate_request.go index 75c6557c..3beef3aa 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/product_editComponentTemplate/request/product_editComponentTemplate_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/product_editComponentTemplate/request/product_editComponentTemplate_request.go @@ -2,6 +2,8 @@ package product_editComponentTemplate_request import ( "encoding/json" + product_editComponentTemplate_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_editComponentTemplate/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type ProductEditComponentTemplateRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/product_editV2/request/product_editV2_request.go b/platformapi/tiktok_shop/sdk-golang/api/product_editV2/request/product_editV2_request.go index 5ffcb50e..0f7b70c7 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/product_editV2/request/product_editV2_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/product_editV2/request/product_editV2_request.go @@ -2,6 +2,8 @@ package product_editV2_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 { diff --git a/platformapi/tiktok_shop/sdk-golang/api/product_editV2/response/product_editV2_response.go b/platformapi/tiktok_shop/sdk-golang/api/product_editV2/response/product_editV2_response.go index e29fb66d..211bff40 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/product_editV2/response/product_editV2_response.go +++ b/platformapi/tiktok_shop/sdk-golang/api/product_editV2/response/product_editV2_response.go @@ -1,5 +1,7 @@ package product_editV2_response +import doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" + type ProductEditV2Response struct { doudian_sdk.BaseDoudianOpApiResponse Data *ProductEditV2Data `json:"data"` diff --git a/platformapi/tiktok_shop/sdk-golang/api/product_getCatePropertyV2/request/product_getCatePropertyV2_request.go b/platformapi/tiktok_shop/sdk-golang/api/product_getCatePropertyV2/request/product_getCatePropertyV2_request.go index 368ff00f..16d70718 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/product_getCatePropertyV2/request/product_getCatePropertyV2_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/product_getCatePropertyV2/request/product_getCatePropertyV2_request.go @@ -2,6 +2,8 @@ package product_getCatePropertyV2_request import ( "encoding/json" + product_getCatePropertyV2_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_getCatePropertyV2/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type ProductGetCatePropertyV2Request struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/product_getCatePropertyV2/response/product_getCatePropertyV2_response.go b/platformapi/tiktok_shop/sdk-golang/api/product_getCatePropertyV2/response/product_getCatePropertyV2_response.go index 6654d058..52490b8f 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/product_getCatePropertyV2/response/product_getCatePropertyV2_response.go +++ b/platformapi/tiktok_shop/sdk-golang/api/product_getCatePropertyV2/response/product_getCatePropertyV2_response.go @@ -1,5 +1,7 @@ package product_getCatePropertyV2_response +import doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" + type ProductGetCatePropertyV2Response struct { doudian_sdk.BaseDoudianOpApiResponse Data *ProductGetCatePropertyV2Data `json:"data"` diff --git a/platformapi/tiktok_shop/sdk-golang/api/product_getComponentTemplate/request/product_getComponentTemplate_request.go b/platformapi/tiktok_shop/sdk-golang/api/product_getComponentTemplate/request/product_getComponentTemplate_request.go index 14934dea..b7324101 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/product_getComponentTemplate/request/product_getComponentTemplate_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/product_getComponentTemplate/request/product_getComponentTemplate_request.go @@ -2,6 +2,8 @@ package product_getComponentTemplate_request import ( "encoding/json" + product_getComponentTemplate_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_getComponentTemplate/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type ProductGetComponentTemplateRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/product_getRecommendName/request/product_getRecommendName_request.go b/platformapi/tiktok_shop/sdk-golang/api/product_getRecommendName/request/product_getRecommendName_request.go index 0264c711..4c38d6c0 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/product_getRecommendName/request/product_getRecommendName_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/product_getRecommendName/request/product_getRecommendName_request.go @@ -2,6 +2,8 @@ package product_getRecommendName_request import ( "encoding/json" + product_getRecommendName_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_getRecommendName/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type ProductGetRecommendNameRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/product_listV2/request/product_listV2_request.go b/platformapi/tiktok_shop/sdk-golang/api/product_listV2/request/product_listV2_request.go index ca33b9a0..999cef84 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/product_listV2/request/product_listV2_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/product_listV2/request/product_listV2_request.go @@ -2,6 +2,8 @@ package product_listV2_request import ( "encoding/json" + product_listV2_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_listV2/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type ProductListV2Request struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/product_listV2/response/product_listV2_response.go b/platformapi/tiktok_shop/sdk-golang/api/product_listV2/response/product_listV2_response.go index 3f4762cb..08ee0bfc 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/product_listV2/response/product_listV2_response.go +++ b/platformapi/tiktok_shop/sdk-golang/api/product_listV2/response/product_listV2_response.go @@ -1,5 +1,7 @@ package product_listV2_response +import doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" + type ProductListV2Response struct { doudian_sdk.BaseDoudianOpApiResponse Data *ProductListV2Data `json:"data"` diff --git a/platformapi/tiktok_shop/sdk-golang/api/product_qualificationConfig/request/product_qualificationConfig_request.go b/platformapi/tiktok_shop/sdk-golang/api/product_qualificationConfig/request/product_qualificationConfig_request.go index 49b20027..8a0879ff 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/product_qualificationConfig/request/product_qualificationConfig_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/product_qualificationConfig/request/product_qualificationConfig_request.go @@ -2,6 +2,8 @@ package product_qualificationConfig_request import ( "encoding/json" + product_qualificationConfig_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_qualificationConfig/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type ProductQualificationConfigRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/product_qualityDetail/request/product_qualityDetail_request.go b/platformapi/tiktok_shop/sdk-golang/api/product_qualityDetail/request/product_qualityDetail_request.go index b1559860..987421d6 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/product_qualityDetail/request/product_qualityDetail_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/product_qualityDetail/request/product_qualityDetail_request.go @@ -2,6 +2,8 @@ package product_qualityDetail_request import ( "encoding/json" + product_qualityDetail_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_qualityDetail/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type ProductQualityDetailRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/product_qualityTask/request/product_qualityTask_request.go b/platformapi/tiktok_shop/sdk-golang/api/product_qualityTask/request/product_qualityTask_request.go index fc441929..8988770d 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/product_qualityTask/request/product_qualityTask_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/product_qualityTask/request/product_qualityTask_request.go @@ -2,6 +2,8 @@ package product_qualityTask_request import ( "encoding/json" + product_qualityTask_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_qualityTask/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type ProductQualityTaskRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/product_setOffline/request/product_setOffline_request.go b/platformapi/tiktok_shop/sdk-golang/api/product_setOffline/request/product_setOffline_request.go index 1c87abe5..902e63bf 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/product_setOffline/request/product_setOffline_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/product_setOffline/request/product_setOffline_request.go @@ -2,6 +2,8 @@ package product_setOffline_request import ( "encoding/json" + product_setOffline_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_setOffline/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type ProductSetOfflineRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/product_setOffline/response/product_setOffline_response.go b/platformapi/tiktok_shop/sdk-golang/api/product_setOffline/response/product_setOffline_response.go index 38b9724f..f4309ba1 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/product_setOffline/response/product_setOffline_response.go +++ b/platformapi/tiktok_shop/sdk-golang/api/product_setOffline/response/product_setOffline_response.go @@ -1,5 +1,7 @@ package product_setOffline_response +import doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" + type ProductSetOfflineResponse struct { doudian_sdk.BaseDoudianOpApiResponse Data *ProductSetOfflineData `json:"data"` diff --git a/platformapi/tiktok_shop/sdk-golang/api/promise_deliveryList/request/promise_deliveryList_request.go b/platformapi/tiktok_shop/sdk-golang/api/promise_deliveryList/request/promise_deliveryList_request.go index 5d734b52..a02ed58f 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/promise_deliveryList/request/promise_deliveryList_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/promise_deliveryList/request/promise_deliveryList_request.go @@ -2,6 +2,8 @@ package promise_deliveryList_request import ( "encoding/json" + promise_deliveryList_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/promise_deliveryList/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type PromiseDeliveryListRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/promise_setSkuShipTime/request/promise_setSkuShipTime_request.go b/platformapi/tiktok_shop/sdk-golang/api/promise_setSkuShipTime/request/promise_setSkuShipTime_request.go index 00281e63..6369ec74 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/promise_setSkuShipTime/request/promise_setSkuShipTime_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/promise_setSkuShipTime/request/promise_setSkuShipTime_request.go @@ -2,6 +2,8 @@ package promise_setSkuShipTime_request import ( "encoding/json" + promise_setSkuShipTime_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/promise_setSkuShipTime/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type PromiseSetSkuShipTimeRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/security_batchReportOrderSecurityEvent/request/security_batchReportOrderSecurityEvent_request.go b/platformapi/tiktok_shop/sdk-golang/api/security_batchReportOrderSecurityEvent/request/security_batchReportOrderSecurityEvent_request.go index 4eda3d1c..f01b19ce 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/security_batchReportOrderSecurityEvent/request/security_batchReportOrderSecurityEvent_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/security_batchReportOrderSecurityEvent/request/security_batchReportOrderSecurityEvent_request.go @@ -2,6 +2,8 @@ package security_batchReportOrderSecurityEvent_request import ( "encoding/json" + security_batchReportOrderSecurityEvent_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/security_batchReportOrderSecurityEvent/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type SecurityBatchReportOrderSecurityEventRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/shop_getShopCategory/response/shop_getShopCategory_response.go b/platformapi/tiktok_shop/sdk-golang/api/shop_getShopCategory/response/shop_getShopCategory_response.go index b781db53..481d8c4b 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/shop_getShopCategory/response/shop_getShopCategory_response.go +++ b/platformapi/tiktok_shop/sdk-golang/api/shop_getShopCategory/response/shop_getShopCategory_response.go @@ -4,12 +4,13 @@ import doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/c type ShopGetShopCategoryResponse struct { doudian_sdk.BaseDoudianOpApiResponse - Data *ShopGetShopCategoryData `json:"data"` -} -type ShopGetShopCategoryData struct { - // 返回参数列表 Data []DataItem `json:"data"` } + +//type ShopGetShopCategoryData struct { +// // 返回参数列表 +// Data []DataItem `json:"data"` +//} type DataItem struct { // 类目id,用于商品发布和更新,对应请求参数category_leaf_id字段 Id int64 `json:"id"` diff --git a/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreFreight/request/shop_getStoreFreight_request.go b/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreFreight/request/shop_getStoreFreight_request.go new file mode 100644 index 00000000..3d8bae7c --- /dev/null +++ b/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreFreight/request/shop_getStoreFreight_request.go @@ -0,0 +1,50 @@ +package shop_getStoreFreight_request + +import ( + "encoding/json" + shop_getStoreFreight_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreFreight/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" +) + +type ShopGetStoreFreightRequest struct { + doudian_sdk.BaseDoudianOpApiRequest + Param *ShopGetStoreFreightParam +} + +func (c *ShopGetStoreFreightRequest) GetUrlPath() string { + return "/shop/getStoreFreight" +} + +func New() *ShopGetStoreFreightRequest { + request := &ShopGetStoreFreightRequest{ + Param: &ShopGetStoreFreightParam{}, + } + request.SetConfig(doudian_sdk.GlobalConfig) + request.SetClient(doudian_sdk.DefaultDoudianOpApiClient) + return request + +} + +func (c *ShopGetStoreFreightRequest) Execute(accessToken *doudian_sdk.AccessToken) (*shop_getStoreFreight_response.ShopGetStoreFreightResponse, error) { + responseJson, err := c.GetClient().Request(c, accessToken) + if err != nil { + return nil, err + } + response := &shop_getStoreFreight_response.ShopGetStoreFreightResponse{} + _ = json.Unmarshal([]byte(responseJson), response) + return response, nil + +} + +func (c *ShopGetStoreFreightRequest) GetParamObject() interface{} { + return c.Param +} + +func (c *ShopGetStoreFreightRequest) GetParams() *ShopGetStoreFreightParam { + return c.Param +} + +type ShopGetStoreFreightParam struct { + // 门店ID + StoreId int64 `json:"store_id"` +} diff --git a/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreFreight/response/shop_getStoreFreight_response.go b/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreFreight/response/shop_getStoreFreight_response.go new file mode 100644 index 00000000..4967d8b8 --- /dev/null +++ b/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreFreight/response/shop_getStoreFreight_response.go @@ -0,0 +1,20 @@ +package shop_getStoreFreight_response + +import ( + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" +) + +type ShopGetStoreFreightResponse struct { + doudian_sdk.BaseDoudianOpApiResponse + Data *ShopGetStoreFreightData `json:"data"` +} +type StoreFreightsItem struct { + // 门店id + StoreId int64 `json:"store_id"` + // 运费模版id + FreightId int64 `json:"freight_id"` +} +type ShopGetStoreFreightData struct { + // 运费模版关联关系 + StoreFreights []StoreFreightsItem `json:"store_freights"` +} diff --git a/platformapi/tiktok_shop/sdk-golang/api/sku_list/response/sku_list_response.go b/platformapi/tiktok_shop/sdk-golang/api/sku_list/response/sku_list_response.go index 1d2a339b..947af118 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/sku_list/response/sku_list_response.go +++ b/platformapi/tiktok_shop/sdk-golang/api/sku_list/response/sku_list_response.go @@ -1,5 +1,7 @@ package sku_list_response +import doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" + type SkuListResponse struct { doudian_sdk.BaseDoudianOpApiResponse Data *SkuListData `json:"data"` diff --git a/platformapi/tiktok_shop/sdk-golang/api/sku_syncStockBatch/request/sku_syncStockBatch_request.go b/platformapi/tiktok_shop/sdk-golang/api/sku_syncStockBatch/request/sku_syncStockBatch_request.go index 3901ca82..4fa54f2b 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/sku_syncStockBatch/request/sku_syncStockBatch_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/sku_syncStockBatch/request/sku_syncStockBatch_request.go @@ -2,6 +2,8 @@ package sku_syncStockBatch_request import ( "encoding/json" + sku_syncStockBatch_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/sku_syncStockBatch/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type SkuSyncStockBatchRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/sku_syncStockBatch/response/sku_syncStockBatch_response.go b/platformapi/tiktok_shop/sdk-golang/api/sku_syncStockBatch/response/sku_syncStockBatch_response.go index c369d598..62550a98 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/sku_syncStockBatch/response/sku_syncStockBatch_response.go +++ b/platformapi/tiktok_shop/sdk-golang/api/sku_syncStockBatch/response/sku_syncStockBatch_response.go @@ -1,5 +1,9 @@ package sku_syncStockBatch_response +import ( + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" +) + type SkuSyncStockBatchResponse struct { doudian_sdk.BaseDoudianOpApiResponse Data *SkuSyncStockBatchData `json:"data"` diff --git a/platformapi/tiktok_shop/sdk-golang/api/sms_sign_apply_list/request/sms_sign_apply_list_request.go b/platformapi/tiktok_shop/sdk-golang/api/sms_sign_apply_list/request/sms_sign_apply_list_request.go index e2526230..bbd773e2 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/sms_sign_apply_list/request/sms_sign_apply_list_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/sms_sign_apply_list/request/sms_sign_apply_list_request.go @@ -2,6 +2,8 @@ package sms_sign_apply_list_request import ( "encoding/json" + sms_sign_apply_list_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/sms_sign_apply_list/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type SmsSignApplyListRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/sms_sign_apply_revoke/request/sms_sign_apply_revoke_request.go b/platformapi/tiktok_shop/sdk-golang/api/sms_sign_apply_revoke/request/sms_sign_apply_revoke_request.go index e5d76c47..a20e20a6 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/sms_sign_apply_revoke/request/sms_sign_apply_revoke_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/sms_sign_apply_revoke/request/sms_sign_apply_revoke_request.go @@ -2,6 +2,8 @@ package sms_sign_apply_revoke_request import ( "encoding/json" + sms_sign_apply_revoke_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/sms_sign_apply_revoke/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type SmsSignApplyRevokeRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/sms_template_apply_list/request/sms_template_apply_list_request.go b/platformapi/tiktok_shop/sdk-golang/api/sms_template_apply_list/request/sms_template_apply_list_request.go index 517381c7..ad837df2 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/sms_template_apply_list/request/sms_template_apply_list_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/sms_template_apply_list/request/sms_template_apply_list_request.go @@ -2,6 +2,8 @@ package sms_template_apply_list_request import ( "encoding/json" + sms_template_apply_list_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/sms_template_apply_list/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type SmsTemplateApplyListRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/sms_template_apply_list/response/sms_template_apply_list_response.go b/platformapi/tiktok_shop/sdk-golang/api/sms_template_apply_list/response/sms_template_apply_list_response.go index 89cc198b..e1c8a37a 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/sms_template_apply_list/response/sms_template_apply_list_response.go +++ b/platformapi/tiktok_shop/sdk-golang/api/sms_template_apply_list/response/sms_template_apply_list_response.go @@ -1,5 +1,7 @@ package sms_template_apply_list_response +import doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" + type SmsTemplateApplyListResponse struct { doudian_sdk.BaseDoudianOpApiResponse Data *SmsTemplateApplyListData `json:"data"` diff --git a/platformapi/tiktok_shop/sdk-golang/api/sms_template_delete/request/sms_template_delete_request.go b/platformapi/tiktok_shop/sdk-golang/api/sms_template_delete/request/sms_template_delete_request.go index 9bcca221..ec05e432 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/sms_template_delete/request/sms_template_delete_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/sms_template_delete/request/sms_template_delete_request.go @@ -2,6 +2,8 @@ package sms_template_delete_request import ( "encoding/json" + sms_template_delete_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/sms_template_delete/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type SmsTemplateDeleteRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/sms_template_delete/response/sms_template_delete_response.go b/platformapi/tiktok_shop/sdk-golang/api/sms_template_delete/response/sms_template_delete_response.go index 7f4a06df..c83290d5 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/sms_template_delete/response/sms_template_delete_response.go +++ b/platformapi/tiktok_shop/sdk-golang/api/sms_template_delete/response/sms_template_delete_response.go @@ -1,5 +1,7 @@ package sms_template_delete_response +import doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" + type SmsTemplateDeleteResponse struct { doudian_sdk.BaseDoudianOpApiResponse Data *SmsTemplateDeleteData `json:"data"` diff --git a/platformapi/tiktok_shop/sdk-golang/api/sms_template_revoke/request/sms_template_revoke_request.go b/platformapi/tiktok_shop/sdk-golang/api/sms_template_revoke/request/sms_template_revoke_request.go index ba69e27d..86ddee92 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/sms_template_revoke/request/sms_template_revoke_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/sms_template_revoke/request/sms_template_revoke_request.go @@ -2,6 +2,8 @@ package sms_template_revoke_request import ( "encoding/json" + sms_template_revoke_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/sms_template_revoke/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type SmsTemplateRevokeRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/sms_template_search/request/sms_template_search_request.go b/platformapi/tiktok_shop/sdk-golang/api/sms_template_search/request/sms_template_search_request.go index 6ee9c381..81ccdb8c 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/sms_template_search/request/sms_template_search_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/sms_template_search/request/sms_template_search_request.go @@ -2,6 +2,8 @@ package sms_template_search_request import ( "encoding/json" + sms_template_search_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/sms_template_search/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type SmsTemplateSearchRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/spu_getKeyPropertyByCid/request/spu_getKeyPropertyByCid_request.go b/platformapi/tiktok_shop/sdk-golang/api/spu_getKeyPropertyByCid/request/spu_getKeyPropertyByCid_request.go index c840b894..79b13459 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/spu_getKeyPropertyByCid/request/spu_getKeyPropertyByCid_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/spu_getKeyPropertyByCid/request/spu_getKeyPropertyByCid_request.go @@ -2,6 +2,8 @@ package spu_getKeyPropertyByCid_request import ( "encoding/json" + spu_getKeyPropertyByCid_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/spu_getKeyPropertyByCid/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type SpuGetKeyPropertyByCidRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/spu_getSpuInfoBySpuId/request/spu_getSpuInfoBySpuId_request.go b/platformapi/tiktok_shop/sdk-golang/api/spu_getSpuInfoBySpuId/request/spu_getSpuInfoBySpuId_request.go index a00aacb2..83dee496 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/spu_getSpuInfoBySpuId/request/spu_getSpuInfoBySpuId_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/spu_getSpuInfoBySpuId/request/spu_getSpuInfoBySpuId_request.go @@ -2,6 +2,8 @@ package spu_getSpuInfoBySpuId_request import ( "encoding/json" + spu_getSpuInfoBySpuId_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/spu_getSpuInfoBySpuId/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type SpuGetSpuInfoBySpuIdRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/spu_queryBookNameByISBN/request/spu_queryBookNameByISBN_request.go b/platformapi/tiktok_shop/sdk-golang/api/spu_queryBookNameByISBN/request/spu_queryBookNameByISBN_request.go index 911c7eb1..fd9bc5d5 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/spu_queryBookNameByISBN/request/spu_queryBookNameByISBN_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/spu_queryBookNameByISBN/request/spu_queryBookNameByISBN_request.go @@ -2,6 +2,8 @@ package spu_queryBookNameByISBN_request import ( "encoding/json" + spu_queryBookNameByISBN_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/spu_queryBookNameByISBN/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type SpuQueryBookNameByISBNRequest 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/core/doudian_op_spi_config.go b/platformapi/tiktok_shop/sdk-golang/core/doudian_op_spi_config.go index 519df128..652caf7f 100644 --- a/platformapi/tiktok_shop/sdk-golang/core/doudian_op_spi_config.go +++ b/platformapi/tiktok_shop/sdk-golang/core/doudian_op_spi_config.go @@ -2,6 +2,7 @@ package doudian_sdk import ( "io" + "io/ioutil" "net/url" ) @@ -35,7 +36,8 @@ func ConfigSpiWithUrlQuery(request DoudianOpSpiRequest, handler BizHandler, quer appKey := queries.Get("app_key") paramJson := queries.Get("param_json") if len(paramJson) == 0 { - bs, _ := io.ReadAll(body) + //bs, _ := io.ReadAll(body) + bs, _ := ioutil.ReadAll(body) paramJson = string(bs) } sign := queries.Get("sign") diff --git a/platformapi/tiktok_shop/tiktok_api/api.go b/platformapi/tiktok_shop/tiktok_api/api.go index 1eb00a6f..e709ad7f 100644 --- a/platformapi/tiktok_shop/tiktok_api/api.go +++ b/platformapi/tiktok_shop/tiktok_api/api.go @@ -15,15 +15,14 @@ const ( CallbackFail = "fail" ) -var AccessToken *doudian_sdk.AccessToken // 存储数据库 - type API struct { - appKey string - appSecret string - accessToken string - refreshToken string - expiresIn int64 // 当前时间的七天内为有效期 - locker sync.RWMutex + appKey string + appSecret string + accessToken string + refreshToken string + expiresIn int64 // 当前时间的七天内为有效期 + locker sync.RWMutex + accessTokenObj *doudian_sdk.AccessToken // 存储数据库 } func New(appKey, appSecret, accessToken string) *API { @@ -32,15 +31,17 @@ func New(appKey, appSecret, accessToken string) *API { if err := json.Unmarshal([]byte(accessToken), &access); err != nil { globals.SugarLogger.Debug("accessToken init err :", err) return nil - } else { - AccessToken = access } } doudian_sdk.GlobalConfig.AppKey = appKey doudian_sdk.GlobalConfig.AppSecret = appSecret return &API{ - appKey: appKey, - appSecret: appSecret, + appKey: appKey, + appSecret: appSecret, + accessToken: access.AccessToken, + refreshToken: access.RefreshToken, + expiresIn: access.ExpiresIn, + accessTokenObj: access, } } @@ -73,7 +74,8 @@ func (a *API) CreateToken(code string) (*doudian_sdk.CreateTokenData, error) { a.accessToken = access.AccessToken a.refreshToken = access.RefreshToken a.expiresIn = time.Now().Unix() + access.ExpiresIn - AccessToken = access + a.accessTokenObj = access + // 不要 strData, _ := json.Marshal(access) globals.SugarLogger.Debug("=========", string(strData)) return &access.CreateTokenData, nil @@ -87,20 +89,28 @@ func (a *API) RefreshToken() (*doudian_sdk.CreateTokenData, error) { refresh.GetParam().RefreshToken = a.refreshToken refresh.GetParam().GrantType = "refresh_token" - createToken, err := refresh.Execute(AccessToken) + createToken, err := refresh.Execute(a.accessTokenObj) if err != nil { return nil, err } a.accessToken = createToken.Data.AccessToken a.refreshToken = createToken.Data.RefreshToken a.expiresIn = time.Now().Unix() + createToken.Data.ExpiresIn - AccessToken.CreateTokenData = createToken.Data + a.accessTokenObj.CreateTokenData = createToken.Data + + // 不要 + strData, _ := json.Marshal(createToken.Data) + globals.SugarLogger.Debug("=========", string(strData)) return &createToken.Data, nil } func (a *API) SetToken(token string) { a.locker.Lock() defer a.locker.Unlock() + var access *doudian_sdk.AccessToken + if err := json.Unmarshal([]byte(token), &access); err != nil { + return + } a.accessToken = token } @@ -109,3 +119,22 @@ func (a *API) SetRefreshToken(token string) { defer a.locker.Unlock() a.refreshToken = token } + +// GetAppId 获取appid +func (a *API) GetAppId() string { + a.locker.Lock() + defer a.locker.Unlock() + return a.appKey +} + +func (a *API) SetAccessToken(token string) { + a.locker.Lock() + defer a.locker.Unlock() + var access *doudian_sdk.AccessToken + if err := json.Unmarshal([]byte(token), &access); err != nil { + return + } + + a.accessTokenObj = access + return +} diff --git a/platformapi/tiktok_shop/tiktok_api/create_store_test.go b/platformapi/tiktok_shop/tiktok_api/create_store_test.go index af79188f..edb4ea63 100644 --- a/platformapi/tiktok_shop/tiktok_api/create_store_test.go +++ b/platformapi/tiktok_shop/tiktok_api/create_store_test.go @@ -4,6 +4,8 @@ import ( "fmt" "git.rosy.net.cn/baseapi" address_create_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/address_create/request" + afterSale_Detail_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/afterSale_Detail/request" + afterSale_rejectReasonCodeList_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/afterSale_rejectReasonCodeList/request" shop_batchCreateStore_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_batchCreateStore/request" "go.uber.org/zap" "testing" @@ -32,10 +34,18 @@ func TestCreateToken(t *testing.T) { fmt.Println(accessToken) } +func TestRefreshToken(t *testing.T) { + accesstoken := `{"access_token":"6c4d71b3-831c-4a96-8d2e-977e37afba5a","expires_in":604800,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接专用店","refresh_token":"65aae144-4cc0-44d2-89ba-5d3062caca41","authority_id":""}` + api2 := New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", accesstoken) + data, err := api2.RefreshToken() + fmt.Println(err) + fmt.Println(data) +} + // {"access_token":"90868a42-1287-4453-ba71-34c72f22e886","expires_in":555553,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接专用店","refresh_token":"4e8cf946-8df1-4489-be88-f96f2d4603a8","authority_id ":""} func TestCreateStore(t *testing.T) { - accesstoken := `{"access_token":"90868a42-1287-4453-ba71-34c72f22e886","expires_in":555553,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接专用店","refresh_token":"4e8cf946-8df1-4489-be88-f96f2d4603a8","authority_id ":""}` - New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", accesstoken) + accesstoken := `{"access_token":"6c4d71b3-831c-4a96-8d2e-977e37afba5a","expires_in":604800,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接 专用店","refresh_token":"65aae144-4cc0-44d2-89ba-5d3062caca41","authority_ id":""}` + a := New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", accesstoken) request := address_create_request.New() param := request.GetParams() param.StoreId = 666667 @@ -52,34 +62,64 @@ func TestCreateStore(t *testing.T) { storeParam.FixedPhone = "13688039650" storeParam.Remark = "抖音火车南站测试门店" param.Address = storeParam - data, err := request.Execute(AccessToken) + data, err := request.Execute(a.accessTokenObj) t.Fatal("err===========", err) fmt.Println("data==", fmt.Sprintf("%v", data)) } func TestCreateStoreList(t *testing.T) { - accesstoken := `{"access_token":"90868a42-1287-4453-ba71-34c72f22e886","expires_in":555553,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接专用店","refresh_token":"4e8cf946-8df1-4489-be88-f96f2d4603a8","authority_id ":""}` - New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", accesstoken) + accesstoken := `{"access_token":"6c4d71b3-831c-4a96-8d2e-977e37afba5a","expires_in":604800,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接 专用店","refresh_token":"65aae144-4cc0-44d2-89ba-5d3062caca41","authority_ id":""}` + a := New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", accesstoken) request := shop_batchCreateStore_request.New() //param := request.GetParams() //storeList := make([]*shop_batchCreateStore_request.ShopBatchCreateStoreParam, 0) list := &shop_batchCreateStore_request.StoreList{ RowID: 1, - Name: "京西菜市小时达测试店铺", - StoreCode: "666667", - Longitude: "104.065132", - Latitude: "30.610506", + Name: "黄田市场店测试", + StoreCode: "667510", + Longitude: "113.846355", + Latitude: "22.62557", Province: "510000", City: "510100", District: "510107", - Address: "武侯区火车南站综合市场蔬菜区27-28号", + Address: "深圳西乡黄田市场大夫天路北三巷八号", Contact: "18981810340", OpenTime: shop_batchCreateStore_request.OpenTime{DayMap: map[string]string{"1": "07:00-19:00"}}, } request.Param.StoreList = append(request.Param.StoreList, list) - resp, err := request.Execute(AccessToken) + resp, err := request.Execute(a.accessTokenObj) t.Fatal("err===========", err) t.Fatalf("resp===========:%v", resp) } + +func TestNamGetRejectReasonCodeList(t *testing.T) { + accesstoken := `{"access_token":"6c4d71b3-831c-4a96-8d2e-977e37afba5a","expires_in":604800,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接 专用店","refresh_token":"65aae144-4cc0-44d2-89ba-5d3062caca41","authority_ id":""}` + a := New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", accesstoken) + request := afterSale_rejectReasonCodeList_request.New() + date, _ := request.Execute(a.accessTokenObj) + for _, v := range date.Data.Items { + fmt.Println(v.RejectReasonCode) + fmt.Println(v.Reason) + } +} + +func TestSturctToMap(t *testing.T) { + aa := `{"access_token":"6c4d71b3-831c-4a96-8d2e-977e37afba5a","expires_in":604800,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接 专用店","refresh_token":"65aae144-4cc0-44d2-89ba-5d3062caca41","authority_ id":""}` + fmt.Println(len(aa)) +} + +func TestGetOrder(t *testing.T) { + accesstoken := `{"access_token":"90868a42-1287-4453-ba71-34c72f22e886","expires_in":30536,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接专用店","refresh_token":"4e8cf946-8df1-4489-be88-f96f2d4603a8","authority_id ":""}` + a := New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", accesstoken) + + request := afterSale_Detail_request.New() + param := request.GetParams() + param.AfterSaleId = "4981791596669925176" + + result, err := request.Execute(a.accessTokenObj) + + fmt.Println("err", err) + fmt.Println("result===", result) +} diff --git a/platformapi/tiktok_shop/tiktok_api/order.go b/platformapi/tiktok_shop/tiktok_api/order.go index fffc8783..ed0936ff 100644 --- a/platformapi/tiktok_shop/tiktok_api/order.go +++ b/platformapi/tiktok_shop/tiktok_api/order.go @@ -4,11 +4,24 @@ import ( "encoding/json" "errors" "git.rosy.net.cn/baseapi" + address_list_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/address_list/request" + afterSale_applyMarketAfterSale_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/afterSale_ApplyMarketAfterSale/request" + afterSale_Detail_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/afterSale_Detail/request" + afterSale_Detail_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/afterSale_Detail/response" + afterSale_buyerExchangeConfirm_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/afterSale_buyerExchangeConfirm/request" + afterSale_operate_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/afterSale_operate/request" + afterSale_rejectReasonCodeList_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/afterSale_rejectReasonCodeList/request" + afterSale_rejectReasonCodeList_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/afterSale_rejectReasonCodeList/response" + afterSale_returnGoodsToWareHouseSuccess_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/afterSale_returnGoodsToWareHouseSuccess/request" + order_logisticsAdd_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_logisticsAdd/request" order_orderDetail_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_orderDetail/request" order_orderDetail_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_orderDetail/response" + order_searchList_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_searchList/request" "git.rosy.net.cn/baseapi/utils" "io/ioutil" + "math" "net/http" + "time" ) // GetTiktokOrderDetail 获取订单详情 @@ -18,19 +31,300 @@ func (a *API) GetTiktokOrderDetail(orderId string) (*order_orderDetail_response. ShopOrderId: orderId, IsSearchable: false, } - orderDetail, err := reqParam.Execute(AccessToken) + orderDetail, err := reqParam.Execute(a.accessTokenObj) if err != nil { return nil, err } - if orderDetail.Code != 1000 { + if orderDetail.Code != RequestSuccessCode { return nil, errors.New(orderDetail.Msg) } return orderDetail.Data.ShopOrderDetail, nil } +// QueryAfsOrderDetail 查询售后订单详情 needOperationRecord (是否需要协商记录默认不需要) +// https://op.jinritemai.com/docs/api-docs/17/1095 返回值说明 +func (a *API) QueryAfsOrderDetail(afterSaleId string, needOperationRecord bool) (*afterSale_Detail_response.AfterSaleDetailResponse, error) { + request := afterSale_Detail_request.New() + param := request.GetParams() + param.IsSearchable = needOperationRecord + param.AfterSaleId = afterSaleId + + result, err := request.Execute(a.accessTokenObj) + if err != nil { + return nil, err + } + if result.Code != RequestSuccessCode { + return nil, errors.New(result.SubMsg) + } + return result, nil +} + +// ApplyMarketAfterSale 拣货时商户发现订单缺货或者缺重 +func (a *API) ApplyMarketAfterSale(skuOrderId int64, afterSaleReason int32) (afterSaleId string, err error) { + request := afterSale_applyMarketAfterSale_request.New() + param := request.GetParams() + param.SkuOrderId = skuOrderId + param.AfterSaleReason = 2 // 目前固定值为2缺货 + + result, err := request.Execute(a.accessTokenObj) + if err != nil { + return "", err + } + if result.Code != RequestSuccessCode { + return "", errors.New(result.SubMsg) + } + return result.Data.AfterSaleId, nil +} + +// AfterSaleOperate 售后审核接口聚合版 +// 售后审核接口聚合版 +// 售后统一操作接口,此接口可以提供所有售后操作类型。通过此接口操作时,需要通过type字段说明本次期望的操作(详情可见下表)。 +// 此接口每次最多支持对20个售后单进行操作。但任意一个售后单操作失败,接口遍会整体报错,因此推荐使用此接口每次操作一个售后单,从而获得更加明确的报错信息。 +// type说明: +// 值 前置条件-售后类型 前置条件-售后状态 说明 必须参数 +// 101 0 6,27 同意退货申请(一次审核) Logistics.ReceiverAddressId 或 Logistics.AfterSaleAddressDetail +// 102 0 6 拒绝退货申请(一次审核) reason , evidence +// 111 0 7,11,29 同意退货(二次审核) +// 112 0 11 拒绝退货 (二次审核) reason , evidence +// 121 0 6,27 退货转退款 +// 201 1 6,27 同意仅退款 +// 202 1 6 拒绝仅退款 reason , evidence +// 203 1 6 同意拒签后退款 +// 301 3 6,27 同意换货申请(一次审核) Logistics.ReceiverAddressId 或 Logistics.AfterSaleAddressDetail +// 302 3 6 拒绝换货申请(一次审核) reason,evidence +// 311 3 7,11,29 同意换货(二次审核) logistics.companyCode,logistics.logisticsCode +// 312 3 11 拒绝换货(二次审核) reason,evidence +// 321 3 6,7,11,29 换货转退款 +// 401 2 6 同意售前退申请(拒绝售前退款请使用发货接口) +// 501 7 6,27 同意补寄 +// 502 7 6 拒绝补寄 +func (a *API) AfterSaleOperate(refundType int32, refundId, remark string, storeId int64) error { + request := afterSale_operate_request.New() + param := request.GetParams() + param.Type = refundType + + refundListParam := make([]afterSale_operate_request.ItemsItem, 0, 0) + switch refundType { + // 101同意退货申请(一次审核) 301 同意换货申请(一次审核) Logistics.ReceiverAddressId 或 Logistics.AfterSaleAddressDetail + case AfterSaleEmuAgreeToReturnOneApply, AfterSaleEmuAgreeChangeGoodsOneApply: // 101 // 同意退货申请(一次审核) Logistics.ReceiverAddressId 或 Logistics.AfterSaleAddressDetail + var paramList = afterSale_operate_request.ItemsItem{} + addressId, err := a.GetRefundAddressId(storeId) + if err != nil { + return err + } + paramList.AftersaleId = refundId + paramList.Logistics.ReceiverAddressId = addressId + refundListParam = append(refundListParam, paramList) + // 102拒绝退货申请(一次审核) 112拒绝退货 202拒绝仅退款 reason , evidence 302拒绝换货申请(一次审核) 312换货转退款 + case AfterSaleEmuRefuseToReturnOneApply, AfterSaleEmuRefuseToReturnTwoApply, AfterSaleEmuRefuseOnlyRefundApply, AfterSaleEmuRefundChangeGoodsOneApply, AfterSaleEmuRefundChangeGoodsTwoApply: + reasonItem, err := a.QueryAllReason(utils.Str2Int64(refundId)) + if err != nil { + return err + } + evidence := afterSale_operate_request.EvidenceItem{} + evidenceList := make([]afterSale_operate_request.EvidenceItem, 0, 1) + if reasonItem[0].EvidenceNeed == "Y" { + evidence = afterSale_operate_request.EvidenceItem{ + Type: 4, + Url: "", + Desc: "拒绝退货/拒绝仅退款/拒绝换货申请,请电话联系商家", + } + evidenceList = append(evidenceList, evidence) + } + var paramList = afterSale_operate_request.ItemsItem{} + paramList.AftersaleId = refundId + paramList.Evidence = evidenceList + paramList.RejectReasonCode = reasonItem[0].RejectReasonCode + paramList.Reason = reasonItem[0].Reason + paramList.Remark = remark + // 111同意退货(二次审核) 121退货转退款 201同意仅退款 203同意拒签后退款 321换货转退款 401同意售前退申请 501同意补寄 502 拒绝补寄 + case AfterSaleEmuAgreeToReturnTwoApply, AfterSaleEmuReturnGoodsToRefundApply, AfterSaleEmuAgreeOnlyRefundApply, AfterSaleEmuRefundAfterRefusalApply, AfterSaleEmuChangeGoodsToRefundApply, AfterSaleEmuAgreePreSaleReturnApply, AfterSaleEmuAgreeReissueApply, AfterSaleEmuRefundReissueApply: + var paramList = afterSale_operate_request.ItemsItem{} + paramList.AftersaleId = refundId + refundListParam = append(refundListParam, paramList) + case AfterSaleEmuAgreeChangeGoodsTwoApply: // 311 // 同意换货(二次审核) logistics.companyCode,logistics.logisticsCode + // 不好处理,暂时不处理 + return nil + } + param.Items = refundListParam + // 同意退货 + result, err := request.Execute(a.accessTokenObj) + if err != nil { + return err + } + if result.Code != RequestSuccessCode { + return errors.New(result.SubMsg) + } + return nil +} + +// GetRefundAddressId 获取抖店售后地址列表 +func (a *API) GetRefundAddressId(storeID int64) (int64, error) { + request := address_list_request.New() + param := request.GetParams() + param.PageSize = 10 + param.PageNo = 1 + param.OrderField = "create_time" + param.OrderBy = "desc" + param.StoreId = storeID + + result, err := request.Execute(a.accessTokenObj) + if err != nil { + return 0, err + } + if result.Code != RequestSuccessCode { + return 0, errors.New(result.SubMsg) + } + if len(result.Data.AddressList) < 1 { + return 0, errors.New("门店详细地址获取错误") + } + return result.Data.AddressList[0].AddressId, nil +} + +// QueryAllReason 查询所有的售后审核处理原因详情 +func (a *API) QueryAllReason(afterSaleId int64) ([]afterSale_rejectReasonCodeList_response.ItemsItem, error) { + request := afterSale_rejectReasonCodeList_request.New() + param := request.GetParams() + if afterSaleId > 0 { + param.AfterSaleId = afterSaleId + } + + result, err := request.Execute(a.accessTokenObj) + if err != nil { + return nil, err + } + if result.Code != RequestSuccessCode { + return nil, errors.New(result.SubMsg) + } + return result.Data.Items, nil +} + +// GetStoreOrderList 获取门店订单列表 +func (a *API) GetStoreOrderList(queryData time.Time, storeId int64) ([]string, error) { + request := order_searchList_request.New() + param := request.GetParams() + + createTime := time.Date(queryData.Year(), queryData.Month(), queryData.Day(), 0, 0, 0, 0, queryData.Location()) + endTime := time.Date(queryData.Year(), queryData.Month(), queryData.Day(), 23, 59, 59, 59, queryData.Location()) + param.CreateTimeStart = createTime.Unix() + param.CreateTimeEnd = endTime.Unix() + param.Page = 0 + param.Size = 100 + + orderDetailList, err := request.Execute(a.accessTokenObj) + if err != nil { + return nil, err + } + if orderDetailList.Code != RequestSuccessCode { + return nil, errors.New(orderDetailList.Msg) + } + + orderList := make([]string, 0, 0) + for _, v := range orderDetailList.Data.ShopOrderList { + if v.ShopId == storeId { + orderList = append(orderList, v.OrderId) + } + } + if orderDetailList.Data.Total < 100 { + return orderList, nil + } + + totalPage := 0 + if orderDetailList.Data.Total%100 != 0 { + totalPage = int(math.Floor(utils.Int64ToFloat64(orderDetailList.Data.Total)/utils.Int64ToFloat64(100)) + 1) + } else { + totalPage = int(math.Floor(utils.Int64ToFloat64(orderDetailList.Data.Total) / utils.Int64ToFloat64(100))) + } + + for i := 1; i < totalPage; i++ { + createTime := time.Date(queryData.Year(), queryData.Month(), queryData.Day(), 0, 0, 0, 0, queryData.Location()) + endTime := time.Date(queryData.Year(), queryData.Month(), queryData.Day(), 23, 59, 59, 59, queryData.Location()) + param.CreateTimeStart = createTime.Unix() + param.CreateTimeEnd = endTime.Unix() + param.Page = int64(i) + param.Size = 100 + + orderDetailList, err := request.Execute(a.accessTokenObj) + if err != nil { + return nil, err + } + if orderDetailList.Code != RequestSuccessCode { + return nil, errors.New(orderDetailList.Msg) + } + for _, v := range orderDetailList.Data.ShopOrderList { + if v.ShopId == storeId { + orderList = append(orderList, v.OrderId) + } + } + } + return orderList, nil +} + +// ReturnGoodsToWareHouseSuccess +//商家确认售后单对应的用户退货入仓成功 +//商家在抖店后台售后小助手配置退货入仓自动退策略; +//当用户发起退货退款申请,商家同意且退货商品返回到商家仓内,由商家确认质检无误后入仓; +//命中策略后该售后单自动执行退款操作。 +func (a *API) ReturnGoodsToWareHouseSuccess(afsOrderId string) error { + request := afterSale_returnGoodsToWareHouseSuccess_request.New() + param := request.GetParams() + param.AftersaleId = afsOrderId + param.OpTime = time.Now().Unix() + + result, err := request.Execute(a.accessTokenObj) + if err != nil { + return err + } + if result.Code != RequestSuccessCode { + return errors.New(result.SubMsg) + } + return nil +} + +// ConfirmReceivedReturnGoods 用户填写换货物流后,商家处理,确认是否收到换货,收货之后退款 +func (a *API) ConfirmReceivedReturnGoods(afsOrderId int64, agree bool) { + request := afterSale_buyerExchangeConfirm_request.New() + param := request.GetParams() + param.AfterSaleId = afsOrderId + param.IsReject = agree + if !agree { + param.Action = "refund_agree" // 同意换货转退款 + param.LogisticsCode = "" + param.CompanyCode = "" + } else { + param.Comment = "11" + } +} + +// CancelSendGoodsSuccess 商家在未发货仅退款途中发送取消发货状态 +func (a *API) CancelSendGoodsSuccess() {} + +// LogisticsAdd 订单发货接口 +// 暂时只支持整单出库,即接口调用时入参只能传父订单号。 +// Tips:部分发货状态下的父订单,调此接口发货,会报错:该订单当前为“部分发货”状态,无法调用此接口 +// orderId主订单id,companyCode 物流公司code,isRefundReject 是否拒绝退款申请(true表示拒绝退款,并继续发货),addressId发货地址id +func (a *API) LogisticsAdd(orderId string, companyCode string, isRefundReject bool, addressId int64) error { + request := order_logisticsAdd_request.New() + request.Param = &order_logisticsAdd_request.OrderLogisticsAddParam{ + OrderId: orderId, + CompanyCode: companyCode, + IsRefundReject: isRefundReject, + AddressId: addressId, + } + data, err := request.Execute(a.accessTokenObj) + if err != nil { + return err + } + if data.Code != RequestSuccessCode { + return errors.New(data.SubMsg) + } + return nil +} + +/***********************************************/ // CreateOrderCallback 订单创建,抖店创建订单后,回调消息通知本服务器 -func (a *API) CreateOrderCallback(request *http.Request) ([]*OrderCallback, *CallbackResponse) { +func (a *API) CreateOrderCallback(request *http.Request) (map[string][]interface{}, *CallbackResponse) { orderStatus, err := ioutil.ReadAll(request.Body) if err != nil { return nil, &CallbackResponse{Code: CallbackFailCode, Msg: CallbackFail} @@ -42,133 +336,343 @@ func (a *API) CreateOrderCallback(request *http.Request) ([]*OrderCallback, *Cal return nil, &CallbackResponse{Code: CallbackFailCode, Msg: CallbackFail} } + callbackResult := make(map[string][]interface{}, 0) for _, data := range resp { switch data.Tag { case CallbackCreatedOrderMsgTagId: // 创建订单 - create := CreateOrderData{} - if err := json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { - return nil, CallbackResponseErr(false) + if utils.IsNil(data.Data) { + continue } - data.Body[CallbackCreatedOrderMsgTagId] = append(data.Body[CallbackCreatedOrderMsgTagId], create) + //create := CreateOrderData{} + //if err := json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { + // return nil, CallbackResponseErr(false) + //} + //callbackResult[CallbackCreatedOrderMsgTagId] = append(callbackResult[CallbackCreatedOrderMsgTagId], create) + callbackResult[CallbackCreatedOrderMsgTagId] = append(callbackResult[CallbackCreatedOrderMsgTagId], data.Data) case CallbackPayOrderMsgTagId: // 支付订单 - create := PayOrderData{} - if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { - return nil, CallbackResponseErr(false) + if utils.IsNil(data.Data) { + continue } - data.Body[CallbackPayOrderMsgTagId] = append(data.Body[CallbackPayOrderMsgTagId], create) + //create := PayOrderData{} + //if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { + // return nil, CallbackResponseErr(false) + //} + //callbackResult[CallbackPayOrderMsgTagId] = append(callbackResult[CallbackPayOrderMsgTagId], create) + callbackResult[CallbackPayOrderMsgTagId] = append(callbackResult[CallbackPayOrderMsgTagId], data.Data) case CallbackWaitOrderMsgTagId: // 支付订单待处理(风控审核) - create := WaitOrderData{} - if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { - return nil, CallbackResponseErr(false) + if utils.IsNil(data.Data) { + continue } - data.Body[CallbackWaitOrderMsgTagId] = append(data.Body[CallbackWaitOrderMsgTagId], create) + //create := WaitOrderData{} + //if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { + // return nil, CallbackResponseErr(false) + //} + //callbackResult[CallbackWaitOrderMsgTagId] = append(callbackResult[CallbackWaitOrderMsgTagId], create) + callbackResult[CallbackWaitOrderMsgTagId] = append(callbackResult[CallbackWaitOrderMsgTagId], data.Data) case CallbackPartGoodsMsgTagId: // 卖家部分发货 - create := SomeSendOrderData{} - if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { - return nil, CallbackResponseErr(false) + if utils.IsNil(data.Data) { + continue } - data.Body[CallbackPartGoodsMsgTagId] = append(data.Body[CallbackPartGoodsMsgTagId], create) + //create := SomeSendOrderData{} + //if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { + // return nil, CallbackResponseErr(false) + //} + //callbackResult[CallbackPartGoodsMsgTagId] = append(callbackResult[CallbackPartGoodsMsgTagId], create) + callbackResult[CallbackPartGoodsMsgTagId] = append(callbackResult[CallbackPartGoodsMsgTagId], data.Data) case CallbackPartAllGoodsMsgTagId: // 卖家发货 - create := BusinessDeliveryData{} - if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { - return nil, CallbackResponseErr(false) + if utils.IsNil(data.Data) { + continue } - data.Body[CallbackPartAllGoodsMsgTagId] = append(data.Body[CallbackPartAllGoodsMsgTagId], create) + //create := BusinessDeliveryData{} + //if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { + // return nil, CallbackResponseErr(false) + //} + //callbackResult[CallbackPartAllGoodsMsgTagId] = append(callbackResult[CallbackPartAllGoodsMsgTagId], create) + callbackResult[CallbackPartAllGoodsMsgTagId] = append(callbackResult[CallbackPartAllGoodsMsgTagId], data.Data) case CallbackCancelOrderMsgTagId: // 取消订单 - create := CancelOrderData{} - if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { - return nil, CallbackResponseErr(false) + if utils.IsNil(data.Data) { + continue } - data.Body[CallbackCancelOrderMsgTagId] = append(data.Body[CallbackCancelOrderMsgTagId], create) + //create := CancelOrderData{} + //if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { + // return nil, CallbackResponseErr(false) + //} + //callbackResult[CallbackCancelOrderMsgTagId] = append(callbackResult[CallbackCancelOrderMsgTagId], create) + callbackResult[CallbackCancelOrderMsgTagId] = append(callbackResult[CallbackCancelOrderMsgTagId], data.Data) case CallbackSuccessOrderMsgTagId: // 卖家确认收货时,会自动完成 - create := SuccessOrderData{} - if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { - return nil, CallbackResponseErr(false) + if utils.IsNil(data.Data) { + continue } - data.Body[CallbackSuccessOrderMsgTagId] = append(data.Body[CallbackSuccessOrderMsgTagId], create) + //create := SuccessOrderData{} + //if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { + // return nil, CallbackResponseErr(false) + //} + //callbackResult[CallbackSuccessOrderMsgTagId] = append(callbackResult[CallbackSuccessOrderMsgTagId], create) + callbackResult[CallbackSuccessOrderMsgTagId] = append(callbackResult[CallbackSuccessOrderMsgTagId], data.Data) case CallbackWayBillChangeOrderMsgTagId: // 发货物流消息便跟 - create := WayBillChangeData{} - if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { - return nil, CallbackResponseErr(false) + if utils.IsNil(data.Data) { + continue } - data.Body[CallbackWayBillChangeOrderMsgTagId] = append(data.Body[CallbackWayBillChangeOrderMsgTagId], create) + //create := WayBillChangeData{} + //if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { + // return nil, CallbackResponseErr(false) + //} + //callbackResult[CallbackWayBillChangeOrderMsgTagId] = append(callbackResult[CallbackWayBillChangeOrderMsgTagId], create) + callbackResult[CallbackWayBillChangeOrderMsgTagId] = append(callbackResult[CallbackWayBillChangeOrderMsgTagId], data.Data) case CallbackReceivingChangeOrderMsgTagId: // 收货地址消息变更(商家审核通过触发) - create := ReceivingAddressChangeData{} - if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { - return nil, CallbackResponseErr(false) + if utils.IsNil(data.Data) { + continue } - data.Body[CallbackReceivingChangeOrderMsgTagId] = append(data.Body[CallbackReceivingChangeOrderMsgTagId], create) + //create := ReceivingAddressChangeData{} + //if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { + // return nil, CallbackResponseErr(false) + //} + //callbackResult[CallbackReceivingChangeOrderMsgTagId] = append(callbackResult[CallbackReceivingChangeOrderMsgTagId], create) + callbackResult[CallbackReceivingChangeOrderMsgTagId] = append(callbackResult[CallbackReceivingChangeOrderMsgTagId], data.Data) case CallbackChangeMoneyMsgTagId: // 卖家修改订单/运单金额回调 - create := UpdateAmountChangeData{} - if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { - return nil, CallbackResponseErr(false) + if utils.IsNil(data.Data) { + continue } - data.Body[CallbackChangeMoneyMsgTagId] = append(data.Body[CallbackChangeMoneyMsgTagId], create) + //create := UpdateAmountChangeData{} + //if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { + // return nil, CallbackResponseErr(false) + //} + //callbackResult[CallbackChangeMoneyMsgTagId] = append(callbackResult[CallbackChangeMoneyMsgTagId], create) + callbackResult[CallbackChangeMoneyMsgTagId] = append(callbackResult[CallbackChangeMoneyMsgTagId], data.Data) case CallbackBusinessRemarkMsgTagId: // 买家收货消息变更(手机,地址,姓名),用户C端修改触发(需要上面审核接口) - create := BuyerUpdateWayBillData{} - if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { - return nil, CallbackResponseErr(false) + if utils.IsNil(data.Data) { + continue } - data.Body[CallbackBusinessRemarkMsgTagId] = append(data.Body[CallbackBusinessRemarkMsgTagId], create) + //create := BuyerUpdateWayBillData{} + //if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { + // return nil, CallbackResponseErr(false) + //} + //callbackResult[CallbackBusinessRemarkMsgTagId] = append(callbackResult[CallbackBusinessRemarkMsgTagId], create) + callbackResult[CallbackBusinessRemarkMsgTagId] = append(callbackResult[CallbackBusinessRemarkMsgTagId], data.Data) case CallbackApplyUpdateAddressMsgTagId: // 商家修改交易备注回调 - create := BusinessUpdateRemakeData{} - if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { - return nil, CallbackResponseErr(false) + if utils.IsNil(data.Data) { + continue } - data.Body[CallbackApplyUpdateAddressMsgTagId] = append(data.Body[CallbackApplyUpdateAddressMsgTagId], create) + //create := BusinessUpdateRemakeData{} + //if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { + // return nil, CallbackResponseErr(false) + //} + //callbackResult[CallbackApplyUpdateAddressMsgTagId] = append(callbackResult[CallbackApplyUpdateAddressMsgTagId], create) + callbackResult[CallbackApplyUpdateAddressMsgTagId] = append(callbackResult[CallbackApplyUpdateAddressMsgTagId], data.Data) case CallbackSendOrderTimeChangeMsgTagId: // 订单发货时消息变更回调 - create := AppointmentChangeData{} - if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { - return nil, CallbackResponseErr(false) + if utils.IsNil(data.Data) { + continue } - data.Body[CallbackSendOrderTimeChangeMsgTagId] = append(data.Body[CallbackSendOrderTimeChangeMsgTagId], create) + //create := AppointmentChangeData{} + //if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { + // return nil, CallbackResponseErr(false) + //} + callbackResult[CallbackSendOrderTimeChangeMsgTagId] = append(callbackResult[CallbackSendOrderTimeChangeMsgTagId], data.Data) /*********下面属于订单退货消息************/ case CallbackRefundOrderMsgTagId: // 买家发起售后申请消息 - create := BuyerRefundCreatedData{} - if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { - return nil, CallbackResponseErr(false) + if utils.IsNil(data.Data) { + continue } - data.Body[CallbackRefundOrderMsgTagId] = append(data.Body[CallbackRefundOrderMsgTagId], create) + //create := BuyerRefundCreatedData{} + //if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { + // return nil, CallbackResponseErr(false) + //} + //callbackResult[CallbackRefundOrderMsgTagId] = append(callbackResult[CallbackRefundOrderMsgTagId], create) + callbackResult[CallbackRefundOrderMsgTagId] = append(callbackResult[CallbackRefundOrderMsgTagId], data.Data) case CallbackUpdateRefundOrderMsgTagId: // 买家修改售后申请消息 - create := BuyerRefundModifiedData{} - if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { - return nil, CallbackResponseErr(false) + if utils.IsNil(data.Data) { + continue } - data.Body[CallbackUpdateRefundOrderMsgTagId] = append(data.Body[CallbackUpdateRefundOrderMsgTagId], create) + //create := BuyerRefundModifiedData{} + //if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { + // return nil, CallbackResponseErr(false) + //} + //callbackResult[CallbackUpdateRefundOrderMsgTagId] = append(callbackResult[CallbackUpdateRefundOrderMsgTagId], create) + callbackResult[CallbackUpdateRefundOrderMsgTagId] = append(callbackResult[CallbackUpdateRefundOrderMsgTagId], data.Data) case CallbackRefundOrderSuccessMsgTagId: // 退款成功消息 - create := BusinessRefundSuccessData{} - if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { - return nil, CallbackResponseErr(false) + if utils.IsNil(data.Data) { + continue } - data.Body[CallbackRefundOrderSuccessMsgTagId] = append(data.Body[CallbackRefundOrderSuccessMsgTagId], create) + //create := BusinessRefundSuccessData{} + //if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { + // return nil, CallbackResponseErr(false) + //} + //callbackResult[CallbackRefundOrderSuccessMsgTagId] = append(callbackResult[CallbackRefundOrderSuccessMsgTagId], create) + callbackResult[CallbackRefundOrderSuccessMsgTagId] = append(callbackResult[CallbackRefundOrderSuccessMsgTagId], data.Data) case CallbackRefundOrderRefuseMsgTagId: // 拒绝退款消息 - create := BusinessNotRefundRefusedData{} - if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { - return nil, CallbackResponseErr(false) + if utils.IsNil(data.Data) { + continue } - data.Body[CallbackRefundOrderRefuseMsgTagId] = append(data.Body[CallbackRefundOrderRefuseMsgTagId], create) + //create := BusinessNotRefundRefusedData{} + //if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { + // return nil, CallbackResponseErr(false) + //} + //callbackResult[CallbackRefundOrderRefuseMsgTagId] = append(callbackResult[CallbackRefundOrderRefuseMsgTagId], create) + callbackResult[CallbackRefundOrderRefuseMsgTagId] = append(callbackResult[CallbackRefundOrderRefuseMsgTagId], data.Data) case CallbackRefundShopMsgTagId: // 拒绝退货申请消息 - create := BusinessNotReturnApplyRefusedData{} - if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { - return nil, CallbackResponseErr(false) + if utils.IsNil(data.Data) { + continue } - data.Body[CallbackRefundShopMsgTagId] = append(data.Body[CallbackRefundShopMsgTagId], create) + //create := BusinessNotReturnApplyRefusedData{} + //if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { + // return nil, CallbackResponseErr(false) + //} + //callbackResult[CallbackRefundShopMsgTagId] = append(callbackResult[CallbackRefundShopMsgTagId], create) + callbackResult[CallbackRefundShopMsgTagId] = append(callbackResult[CallbackRefundShopMsgTagId], data.Data) case CallbackReturnApplyAgreedMsgTagId: // 卖家同意时,推送此消息 - create := BusinessReturnApplyAgreedData{} - if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { - return nil, CallbackResponseErr(false) + if utils.IsNil(data.Data) { + continue } - data.Body[CallbackReturnApplyAgreedMsgTagId] = append(data.Body[CallbackReturnApplyAgreedMsgTagId], create) + //create := BusinessReturnApplyAgreedData{} + //if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { + // return nil, CallbackResponseErr(false) + //} + callbackResult[CallbackReturnApplyAgreedMsgTagId] = append(callbackResult[CallbackReturnApplyAgreedMsgTagId], data.Data) case CallbackReturnRefundAgreedMsgTagId: // 同意退款消息 - create := AppointmentChangeData{} - if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { - return nil, CallbackResponseErr(false) + if utils.IsNil(data.Data) { + continue } - data.Body[CallbackReturnRefundAgreedMsgTagId] = append(data.Body[CallbackReturnRefundAgreedMsgTagId], create) + //create := AppointmentChangeData{} + //if err = json.Unmarshal([]byte(utils.Interface2String(data.Data)), create); err != nil { + // return nil, CallbackResponseErr(false) + //} + //callbackResult[CallbackReturnRefundAgreedMsgTagId] = append(callbackResult[CallbackReturnRefundAgreedMsgTagId], create) + callbackResult[CallbackReturnRefundAgreedMsgTagId] = append(callbackResult[CallbackReturnRefundAgreedMsgTagId], data.Data) default: return nil, CallbackResponseErr(false) } } - return resp, &CallbackResponse{Code: CallbackSuccessCode, Msg: CallbackSuccess} + return callbackResult, &CallbackResponse{Code: CallbackSuccessCode, Msg: CallbackSuccess} +} + +// GetCallbackOrderId 获取回调函数订单id +func (a *API) GetCallbackOrderId(msgId string, data interface{}) (string, *CallbackResponse) { + switch msgId { + case CallbackCreatedOrderMsgTagId: // 创建订单 + create := CreateOrderData{} + if err := json.Unmarshal([]byte(utils.Interface2String(data)), create); err != nil { + return "", Err2CallbackResponse(err, "") + } + return utils.Int64ToStr(create.PId), Err2CallbackResponse(nil, "") + case CallbackPayOrderMsgTagId: // 支付订单 + create := PayOrderData{} + if err := json.Unmarshal([]byte(utils.Interface2String(data)), create); err != nil { + return "", CallbackResponseErr(false) + } + return utils.Int64ToStr(create.PId), Err2CallbackResponse(nil, "") + case CallbackWaitOrderMsgTagId: // 支付订单待处理(风控审核) + create := WaitOrderData{} + if err := json.Unmarshal([]byte(utils.Interface2String(data)), create); err != nil { + return "", CallbackResponseErr(false) + } + return utils.Int64ToStr(create.PId), Err2CallbackResponse(nil, "") + case CallbackPartGoodsMsgTagId: // 卖家部分发货 + create := SomeSendOrderData{} + if err := json.Unmarshal([]byte(utils.Interface2String(data)), create); err != nil { + return "", CallbackResponseErr(false) + } + return utils.Int64ToStr(create.PId), Err2CallbackResponse(nil, "") + case CallbackPartAllGoodsMsgTagId: // 卖家发货 + create := BusinessDeliveryData{} + if err := json.Unmarshal([]byte(utils.Interface2String(data)), create); err != nil { + return "", CallbackResponseErr(false) + } + return utils.Int64ToStr(create.PId), Err2CallbackResponse(nil, "") + case CallbackCancelOrderMsgTagId: // 取消订单 + create := CancelOrderData{} + if err := json.Unmarshal([]byte(utils.Interface2String(data)), create); err != nil { + return "", CallbackResponseErr(false) + } + return utils.Int64ToStr(create.PId), Err2CallbackResponse(nil, "") + case CallbackSuccessOrderMsgTagId: // 卖家确认收货时,会自动完成 + create := SuccessOrderData{} + if err := json.Unmarshal([]byte(utils.Interface2String(data)), create); err != nil { + return "", CallbackResponseErr(false) + } + return utils.Int64ToStr(create.PId), Err2CallbackResponse(nil, "") + case CallbackWayBillChangeOrderMsgTagId: // 发货物流消息便跟 + create := WayBillChangeData{} + if err := json.Unmarshal([]byte(utils.Interface2String(data)), create); err != nil { + return "", CallbackResponseErr(false) + } + return utils.Int64ToStr(create.PId), Err2CallbackResponse(nil, "") + case CallbackReceivingChangeOrderMsgTagId: // 收货地址消息变更(商家审核通过触发) + create := ReceivingAddressChangeData{} + if err := json.Unmarshal([]byte(utils.Interface2String(data)), create); err != nil { + return "", CallbackResponseErr(false) + } + return utils.Int64ToStr(create.PId), Err2CallbackResponse(nil, "") + case CallbackChangeMoneyMsgTagId: // 卖家修改订单/运单金额回调 + create := UpdateAmountChangeData{} + if err := json.Unmarshal([]byte(utils.Interface2String(data)), create); err != nil { + return "", CallbackResponseErr(false) + } + return utils.Int64ToStr(create.PId), Err2CallbackResponse(nil, "") + case CallbackBusinessRemarkMsgTagId: // 买家收货消息变更(手机,地址,姓名),用户C端修改触发(需要上面审核接口) + create := BuyerUpdateWayBillData{} + if err := json.Unmarshal([]byte(utils.Interface2String(data)), create); err != nil { + return "", CallbackResponseErr(false) + } + return utils.Int64ToStr(create.PId), Err2CallbackResponse(nil, "") + case CallbackApplyUpdateAddressMsgTagId: // 商家修改交易备注回调 + create := BusinessUpdateRemakeData{} + if err := json.Unmarshal([]byte(utils.Interface2String(data)), create); err != nil { + return "", CallbackResponseErr(false) + } + return utils.Int64ToStr(create.PId), Err2CallbackResponse(nil, "") + case CallbackSendOrderTimeChangeMsgTagId: // 订单发货时消息变更回调 + create := AppointmentChangeData{} + if err := json.Unmarshal([]byte(utils.Interface2String(data)), create); err != nil { + return "", CallbackResponseErr(false) + } + return create.PId, Err2CallbackResponse(nil, "") + /*********下面属于订单退货消息************/ + case CallbackRefundOrderMsgTagId: // 买家发起售后申请消息 + create := BuyerRefundCreatedData{} + if err := json.Unmarshal([]byte(utils.Interface2String(data)), create); err != nil { + return "", CallbackResponseErr(false) + } + return utils.Int64ToStr(create.PId), Err2CallbackResponse(nil, "") + case CallbackUpdateRefundOrderMsgTagId: // 买家修改售后申请消息 + create := BuyerRefundModifiedData{} + if err := json.Unmarshal([]byte(utils.Interface2String(data)), create); err != nil { + return "", CallbackResponseErr(false) + } + return utils.Int64ToStr(create.PId), Err2CallbackResponse(nil, "") + case CallbackRefundOrderSuccessMsgTagId: // 退款成功消息 + create := BusinessRefundSuccessData{} + if err := json.Unmarshal([]byte(utils.Interface2String(data)), create); err != nil { + return "", CallbackResponseErr(false) + } + return utils.Int64ToStr(create.PId), Err2CallbackResponse(nil, "") + case CallbackRefundOrderRefuseMsgTagId: // 拒绝退款消息 + create := BusinessNotRefundRefusedData{} + if err := json.Unmarshal([]byte(utils.Interface2String(data)), create); err != nil { + return "", CallbackResponseErr(false) + } + return utils.Int64ToStr(create.PId), Err2CallbackResponse(nil, "") + case CallbackRefundShopMsgTagId: // 拒绝退货申请消息 + create := BusinessNotReturnApplyRefusedData{} + if err := json.Unmarshal([]byte(utils.Interface2String(data)), create); err != nil { + return "", CallbackResponseErr(false) + } + return utils.Int64ToStr(create.PId), Err2CallbackResponse(nil, "") + case CallbackReturnApplyAgreedMsgTagId: // 卖家同意时,推送此消息 + create := BusinessReturnApplyAgreedData{} + if err := json.Unmarshal([]byte(utils.Interface2String(data)), create); err != nil { + return "", CallbackResponseErr(false) + } + return utils.Int64ToStr(create.PId), Err2CallbackResponse(nil, "") + case CallbackReturnRefundAgreedMsgTagId: // 同意退款消息 + create := AppointmentChangeData{} + if err := json.Unmarshal([]byte(utils.Interface2String(data)), create); err != nil { + return "", CallbackResponseErr(false) + } + return create.PId, Err2CallbackResponse(nil, "") + default: + return "", CallbackResponseErr(false) + } + + return "", &CallbackResponse{Code: CallbackSuccessCode, Msg: CallbackSuccess} } diff --git a/platformapi/tiktok_shop/tiktok_api/order_type.go b/platformapi/tiktok_shop/tiktok_api/order_type.go index b4d32edc..5d16f9e4 100644 --- a/platformapi/tiktok_shop/tiktok_api/order_type.go +++ b/platformapi/tiktok_shop/tiktok_api/order_type.go @@ -1,6 +1,9 @@ package tiktok_api -import "time" +import ( + "net/url" + "time" +) type CallbackResponse struct { Code int `json:"code"` @@ -14,10 +17,10 @@ type PublicOrderCallback struct { } type OrderCallback struct { - Tag string `json:"tag"` // 消息种类,订单创建消息的tag值为"100" - MsgId string `json:"msgId"` //消息记录id - Data interface{} `json:"data"` // 消息正文 - Body map[string][]interface{} `json:"body"` + Tag string `json:"tag"` // 消息种类,订单创建消息的tag值为"100" + MsgId string `json:"msgId"` //消息记录id + Data interface{} `json:"data"` // 消息正文 + FormData url.Values } //#region 创建订单消息通知 @@ -29,13 +32,13 @@ type CreateOrderCallback struct { } type CreateOrderData struct { - Biz int `json:"biz"` // 业务来源 1-鲁班..... - CreateTime int `json:"create_time"` // 订单创建时间 - OrderStatus int `json:"order_status"` // 父订单状态,订单创建消息的order_status值为"1" - OrderType int `json:"order_type"` // 0: 实物 2: 普通虚拟 4: poi核销 5: 三方核销 6: 服务市场 - PId int64 `json:"p_id"` // 父订单 ID - SIds []int `json:"s_ids"` // 子订单ID列表 - ShopId int `json:"shop_id"` // 店铺ID + Biz int64 `json:"biz"` // 业务来源 1-鲁班..... + CreateTime int64 `json:"create_time"` // 订单创建时间 + OrderStatus int64 `json:"order_status"` // 父订单状态,订单创建消息的order_status值为"1" + OrderType int64 `json:"order_type"` // 0: 实物 2: 普通虚拟 4: poi核销 5: 三方核销 6: 服务市场 + PId int64 `json:"p_id"` // 父订单 ID + SIds []int64 `json:"s_ids"` // 子订单ID列表 + ShopId int64 `json:"shop_id"` // 店铺ID } //#endregion @@ -48,15 +51,15 @@ type PayOrderCallback struct { } type PayOrderData struct { - Biz int `json:"biz"` // 订单业务类型 - OrderStatus int `json:"order_status"` // 父订单状态,订单支付消息的status值为"2" - OrderType int `json:"order_type"` // 订单类型: 0: 实物 2: 普通虚拟 4: poi核销 5: 三方核销 6: 服务市场 - PId int64 `json:"p_id"` // 父订单ID - PayAmount int `json:"pay_amount"` // 订单实付金额 - PayTime int `json:"pay_time"` // 1: 在线订单支付时间 2: 货到付款订单确认时间 - PayType int `json:"pay_type"` // 订单支付方式: 0:货到付款,1:微信,2:支付宝,4:银行卡,5:抖音零钱,7:无需支付,8:DOU分期,9:新卡支付,12:先用后付,13:组合支付 - SIds []int `json:"s_ids"` // 子订单ID列表 - ShopId int `json:"shop_id"` // 店铺ID + Biz int64 `json:"biz"` // 订单业务类型 + OrderStatus int64 `json:"order_status"` // 父订单状态,订单支付消息的status值为"2" + OrderType int64 `json:"order_type"` // 订单类型: 0: 实物 2: 普通虚拟 4: poi核销 5: 三方核销 6: 服务市场 + PId int64 `json:"p_id"` // 父订单ID + PayAmount int64 `json:"pay_amount"` // 订单实付金额 + PayTime int64 `json:"pay_time"` // 1: 在线订单支付时间 2: 货到付款订单确认时间 + PayType int64 `json:"pay_type"` // 订单支付方式: 0:货到付款,1:微信,2:支付宝,4:银行卡,5:抖音零钱,7:无需支付,8:DOU分期,9:新卡支付,12:先用后付,13:组合支付 + SIds []int64 `json:"s_ids"` // 子订单ID列表 + ShopId int64 `json:"shop_id"` // 店铺ID } //#endregion @@ -69,15 +72,15 @@ type WaitOrderCallback struct { } type WaitOrderData struct { - Biz int `json:"biz"` // 订单业务类型 - OrderStatus int `json:"order_status"` // 父订单状态,订单支付消息的status值为"2" - OrderType int `json:"order_type"` // 订单类型: 0: 实物 2: 普通虚拟 4: poi核销 5: 三方核销 6: 服务市场 - PId int64 `json:"p_id"` // 父订单ID - PayAmount int `json:"pay_amount"` // 订单实付金额 - PayTime int `json:"pay_time"` // 1: 在线订单支付时间 2: 货到付款订单确认时间 - PayType int `json:"pay_type"` // 订单支付方式: 0:货到付款,1:微信,2:支付宝,4:银行卡,5:抖音零钱,7:无需支付,8:DOU分期,9:新卡支付,12:先用后付,13:组合支付 - SIds []int `json:"s_ids"` // 子订单ID列表 - ShopId int `json:"shop_id"` // 店铺ID + Biz int64 `json:"biz"` // 订单业务类型 + OrderStatus int64 `json:"order_status"` // 父订单状态,订单支付消息的status值为"2" + OrderType int64 `json:"order_type"` // 订单类型: 0: 实物 2: 普通虚拟 4: poi核销 5: 三方核销 6: 服务市场 + PId int64 `json:"p_id"` // 父订单ID + PayAmount int64 `json:"pay_amount"` // 订单实付金额 + PayTime int64 `json:"pay_time"` // 1: 在线订单支付时间 2: 货到付款订单确认时间 + PayType int64 `json:"pay_type"` // 订单支付方式: 0:货到付款,1:微信,2:支付宝,4:银行卡,5:抖音零钱,7:无需支付,8:DOU分期,9:新卡支付,12:先用后付,13:组合支付 + SIds []int64 `json:"s_ids"` // 子订单ID列表 + ShopId int64 `json:"shop_id"` // 店铺ID } //#endregion @@ -89,30 +92,30 @@ type SomeSendOrderCallback struct { Data *SomeSendOrderData `json:"data"` } type SomeSendOrderData struct { - Biz int `json:"biz"` // 订单业务来源类型 + Biz int64 `json:"biz"` // 订单业务来源类型 LogisticsMsg struct { ExpressCompanyId string `json:"express_company_id"` // 发货快递公司 LogisticsCode string `json:"logistics_code"` // 发货物流code PackId string `json:"pack_id"` // 包裹id ShippedOrderInfo []struct { - ProductId int `json:"product_id"` // 商品id - ShippedNum int `json:"shipped_num"` // 发货数量 + ProductId int64 `json:"product_id"` // 商品id + ShippedNum int64 `json:"shipped_num"` // 发货数量 ShippedOrderId int64 `json:"shipped_order_id"` // 已发货子订单 - SkuId int `json:"sku_id"` // 对应skuid - SkuNum int `json:"sku_num"` // 购买sku数量 + SkuId int64 `json:"sku_id"` // 对应skuid + SkuNum int64 `json:"sku_num"` // 购买sku数量 } `json:"shipped_order_info"` } `json:"logistics_msg"` - OrderStatus int `json:"order_status"` // 父订单状态,卖家发货消息的status值为"2" - OrderType int `json:"order_type"` // 订单类型 + OrderStatus int64 `json:"order_status"` // 父订单状态,卖家发货消息的status值为"2" + OrderType int64 `json:"order_type"` // 订单类型 PId int64 `json:"p_id"` // 父订单id ReceiverMsg struct { Addr string `json:"addr"` // 收货地址 Name string `json:"name"` // 收货名字 Tel string `json:"tel"` // 收货电话 } `json:"receiver_msg"` - SIds []int `json:"s_ids"` // 子订单ID列表 - ShopId int `json:"shop_id"` // 门店id - UpdateTime int `json:"update_time"` // 更新时间 + SIds []int64 `json:"s_ids"` // 子订单ID列表 + ShopId int64 `json:"shop_id"` // 门店id + UpdateTime int64 `json:"update_time"` // 更新时间 } //#endregion @@ -125,22 +128,22 @@ type BusinessDeliveryCallback struct { } type BusinessDeliveryData struct { - Biz int `json:"biz"` + Biz int64 `json:"biz"` LogisticsMsg struct { ExpressCompanyId string `json:"express_company_id"` // 发货快递公司 LogisticsCode string `json:"logistics_code"` //发货物流单号 } `json:"logistics_msg"` - OrderStatus int `json:"order_status"` //父订单状态,卖家发货消息的status值为"3" - OrderType int `json:"order_type"` // 订单类型 + OrderStatus int64 `json:"order_status"` //父订单状态,卖家发货消息的status值为"3" + OrderType int64 `json:"order_type"` // 订单类型 PId int64 `json:"p_id"` ReceiverMsg struct { Addr string `json:"addr"` Name string `json:"name"` Tel string `json:"tel"` } `json:"receiver_msg"` - SIds []int `json:"s_ids"` - ShopId int `json:"shop_id"` - UpdateTime int `json:"update_time"` + SIds []int64 `json:"s_ids"` + ShopId int64 `json:"shop_id"` + UpdateTime int64 `json:"update_time"` } //#endregion @@ -153,14 +156,14 @@ type CancelOrderCallback struct { } type CancelOrderData struct { - Biz int `json:"biz"` - CancelReason string `json:"cancel_reason"` // 取消原因 - CancelTime int `json:"cancel_time"` // 取消时间 - OrderStatus int `json:"order_status"` // 父订单状态,订单取消消息的status值为"4" - OrderType int `json:"order_type"` // 订单类型 - PId int64 `json:"p_id"` - SIds []int `json:"s_ids"` - ShopId int `json:"shop_id"` + Biz int64 `json:"biz"` + CancelReason string `json:"cancel_reason"` // 取消原因 + CancelTime int64 `json:"cancel_time"` // 取消时间 + OrderStatus int64 `json:"order_status"` // 父订单状态,订单取消消息的status值为"4" + OrderType int64 `json:"order_type"` // 订单类型 + PId int64 `json:"p_id"` + SIds []int64 `json:"s_ids"` + ShopId int64 `json:"shop_id"` } //#endregion @@ -172,13 +175,13 @@ type SuccessOrderCallback struct { Data *SuccessOrderData `json:"data"` } type SuccessOrderData struct { - Biz int `json:"biz"` - CompleteTime int `json:"complete_time"` // 交易完成时间 - OrderStatus int `json:"order_status"` // 父订单状态,交易完成消息的status值为"5" - OrderType int `json:"order_type"` - PId int64 `json:"p_id"` - SIds []int `json:"s_ids"` - ShopId int `json:"shop_id"` + Biz int64 `json:"biz"` + CompleteTime int64 `json:"complete_time"` // 交易完成时间 + OrderStatus int64 `json:"order_status"` // 父订单状态,交易完成消息的status值为"5" + OrderType int64 `json:"order_type"` + PId int64 `json:"p_id"` + SIds []int64 `json:"s_ids"` + ShopId int64 `json:"shop_id"` } //#endregion @@ -187,26 +190,26 @@ type SuccessOrderData struct { type WayBillChangeCallback struct { PublicOrderCallback - Data *SuccessOrderData `json:"data"` + Data *WayBillChangeData `json:"data"` } type WayBillChangeData struct { - Biz int `json:"biz"` + Biz int64 `json:"biz"` LogisticsMsg struct { ExpressCompanyId string `json:"express_company_id"` // 物流公司id LogisticsCode string `json:"logistics_code"` // 订单号 } `json:"logistics_msg"` - OrderStatus int `json:"order_status"` // 父订单状态-3变更物流 - OrderType int `json:"order_type"` // 订单类型 + OrderStatus int64 `json:"order_status"` // 父订单状态-3变更物流 + OrderType int64 `json:"order_type"` // 订单类型 PId int64 `json:"p_id"` // 订单id ReceiverMsg struct { Addr string `json:"addr"` // 收货地址 Name string `json:"name"` // 收货名称 Tel string `json:"tel"` // 电话 } `json:"receiver_msg"` - SIds []int `json:"s_ids"` // 子id - ShopId int `json:"shop_id"` // 门店id - UpdateTime int `json:"update_time"` // 更新时间 + SIds []int64 `json:"s_ids"` // 子id + ShopId int64 `json:"shop_id"` // 门店id + UpdateTime int64 `json:"update_time"` // 更新时间 } //#endregion @@ -219,17 +222,17 @@ type ReceivingAddressChangeCallback struct { } type ReceivingAddressChangeData struct { - OrderStatus int `json:"order_status"` // 收货地址变更状态为2 - OrderType int `json:"order_type"` + OrderStatus int64 `json:"order_status"` // 收货地址变更状态为2 + OrderType int64 `json:"order_type"` PId int64 `json:"p_id"` ReceiverMsg struct { Addr string `json:"addr"` Name string `json:"name"` Tel string `json:"tel"` } `json:"receiver_msg"` - SIds []int `json:"s_ids"` - ShopId int `json:"shop_id"` - UpdateTime int `json:"update_time"` + SIds []int64 `json:"s_ids"` + ShopId int64 `json:"shop_id"` + UpdateTime int64 `json:"update_time"` } //#endregion @@ -242,15 +245,15 @@ type UpdateAmountChangeCallback struct { } type UpdateAmountChangeData struct { - Biz int `json:"biz"` - ModifyTime int `json:"modify_time"` // 订单修改时间 - OrderStatus int `json:"order_status"` // 订单状态 1 - OrderType int `json:"order_type"` - PId int64 `json:"p_id"` - PostAmount int `json:"post_amount"` // 邮费 - SIds []int `json:"s_ids"` - ShopId int `json:"shop_id"` - TotalAmount int `json:"total_amount"` // 主订单金额不含邮费 + Biz int64 `json:"biz"` + ModifyTime int64 `json:"modify_time"` // 订单修改时间 + OrderStatus int64 `json:"order_status"` // 订单状态 1 + OrderType int64 `json:"order_type"` + PId int64 `json:"p_id"` + PostAmount int64 `json:"post_amount"` // 邮费 + SIds []int64 `json:"s_ids"` + ShopId int64 `json:"shop_id"` + TotalAmount int64 `json:"total_amount"` // 主订单金额不含邮费 } //#endregion @@ -263,7 +266,7 @@ type BuyerUpdateWayBillCallback struct { } type BuyerUpdateWayBillData struct { - ApplyTime int `json:"apply_time"` // 申请时间 + ApplyTime int64 `json:"apply_time"` // 申请时间 PId int64 `json:"p_id"` PostReceiverMsg struct { Addr string `json:"addr"` @@ -275,7 +278,7 @@ type BuyerUpdateWayBillData struct { Name string `json:"name"` Tel string `json:"tel"` } `json:"receiver_msg"` // 变更后地址信息 - ShopId int `json:"shop_id"` + ShopId int64 `json:"shop_id"` } //#endregion @@ -289,9 +292,9 @@ type BusinessUpdateRemakeCallback struct { type BusinessUpdateRemakeData struct { PId int64 `json:"p_id"` // 订单 Remark string `json:"remark"` // 备注 - ShopId int `json:"shop_id"` // 门店id - Star int `json:"star"` // 标星等级,范围0~5,0为灰色旗标,5为红色旗标,数字越大颜色越深 0灰 1紫 2青 3绿 4橙 5红 - UpdateTime int `json:"update_time"` // 修改时间 + ShopId int64 `json:"shop_id"` // 门店id + Star int64 `json:"star"` // 标星等级,范围0~5,0为灰色旗标,5为红色旗标,数字越大颜色越深 0灰 1紫 2青 3绿 4橙 5红 + UpdateTime int64 `json:"update_time"` // 修改时间 } //#endregion @@ -304,11 +307,22 @@ type AppointmentChangeCallback struct { } type AppointmentChangeData struct { - ExpDeliveryTime int `json:"exp_delivery_time"` // 变更后预期发货时间 - OrderType int `json:"order_type"` - PId string `json:"p_id"` - SIds []int `json:"s_ids"` - ShopId int `json:"shop_id"` + ExpDeliveryTime int64 `json:"exp_delivery_time"` // 变更后预期发货时间 + OrderType int64 `json:"order_type"` + PId string `json:"p_id"` + SIds []int64 `json:"s_ids"` + ShopId int64 `json:"shop_id"` +} + +//#endregion + +//#region 假的拣货完成 +type FakePickUpGoodsCallback struct { + PublicOrderCallback +} +type FakePickUpGoodsData struct { + PId string `json:"p_id"` + VendorStatus string `json:"vendor_status"` } //#endregion diff --git a/platformapi/tiktok_shop/tiktok_api/order_type_const.go b/platformapi/tiktok_shop/tiktok_api/order_type_const.go index 289a1ef2..ad527dc7 100644 --- a/platformapi/tiktok_shop/tiktok_api/order_type_const.go +++ b/platformapi/tiktok_shop/tiktok_api/order_type_const.go @@ -1,12 +1,14 @@ package tiktok_api +const RequestSuccessCode = 10000 + // 订单消息回调类型(正向订单) const ( - CallbackCreatedOrderMsgTagId = "100" // 创建订单回调 - CallbackPayOrderMsgTagId = "101" // 支付订单回调 - CallbackWaitOrderMsgTagId = "110" // 支付订待处理 - CallbackPartGoodsMsgTagId = "108" // 部分发货回调 - CallbackPartAllGoodsMsgTagId = "102" // 商品发货完成回调 + CallbackCreatedOrderMsgTagId = "100" // 创建订单回调 ok + CallbackPayOrderMsgTagId = "101" // 支付订单回调 ok + CallbackWaitOrderMsgTagId = "110" // 支付订待处理 ok + CallbackPartGoodsMsgTagId = "108" // 部分发货回调 ok + CallbackPartAllGoodsMsgTagId = "102" // 商品发货完成回调 ok CallbackCancelOrderMsgTagId = "106" // 取消订单回调 CallbackSuccessOrderMsgTagId = "103" // 确认收货订单回调 CallbackWayBillChangeOrderMsgTagId = "104" // 物流消息变更 @@ -17,16 +19,46 @@ const ( CallbackSendOrderTimeChangeMsgTagId = "126" // 订单发货时效变更 ) -// 订单状态 order_status +// 订单状态 order_status(回调消息状态) const ( CallBackCreateOrderStatus = 1 // 订单状态1:创建/卖家修改订单金额运费 - CallBackPayOrderStatus = 2 // 2支付 ,卖家发货消息的status值为"2"(部分)/收货地址变更 + CallBackPayOrderStatus = 2 // 2支付/卖家发货消息的status值为"2"(部分)/收货地址变更 CallBackWaitOrderStatus = 105 // 订单等待处理状态105 CallBackSendAllOrderStatus = 3 // 商家全部发货(已发货)/物流消息变更 CallBackCancelOrderStatus = 4 // 取消订单装填 CallBackSuccessOrderStatus = 5 // 订单交易完成 ) +// 订单状态(正向订单创建状态) +const ( + CreateOrderStatusWaitPay = 1 // 1待支付 + CreateOrderStatusStockUp = 2 // 2备货中(代发货) + CreateOrderStatusDelivery = 3 // 3发货 + CreateOrderStatusCancel = 4 // 4取消 + CreateOrderStatusOver = 5 // 5完成 + CreateOrderStatusBeginRefund = 21 // 21发货前退款完成 + CreateOrderStatusEndRefund = 22 // 22发货后退款 + CreateOrderStatusReceiptRefund = 39 // 39收货后退款 + CreateOrderStatusPartialDelivery = 101 // 101部分发货 + CreateOrderStatusSomePay = 103 // 103部分支付 + CreateOrderStatusAllPay = 105 // 105已支付 +) + +// 订单售后状态 +const ( + AfterSaleStatusApply = 6 // 申请售后 + AfterSaleStatusRefuse = 27 // 拒绝售后申请 + AfterSaleStatusSuccess = 12 // 售后成功 + AfterSaleStatusLoading = 7 // 售后退货中 + AfterSaleStatusSendBag = 11 // 售后已发货 + AfterSaleStatusRefuseBag = 29 // 售后退货拒绝 + AfterSaleStatusChangeBag = 13 // 【换货返回:换货售后换货商家发货】,【补寄返回:补寄待用户收货】 + AfterSaleStatusReplenishment = 14 // 【换货返回:(换货)售后换货用户收货】,【补寄返回:(补寄)用户已收货】 + AfterSaleStatusRefuseFail = 28 // 售后失败 + AfterSaleStatusCancelOrder = 51 // 取消订单 + AfterSaleStatusReverseSuccess = 53 // 逆向交易已完成 +) + // 支付类型 const ( PayMethodPayOnArrival = 0 // 到付 @@ -55,11 +87,91 @@ const ( // CallbackRefundOrderMsgTagId 订单退款状态,逆向订单 const ( + // 需要处理的退单消息 CallbackRefundOrderMsgTagId = "200" // 买家发起售后申请消息 CallbackUpdateRefundOrderMsgTagId = "208" // 买家修改售后申请消息 CallbackRefundOrderSuccessMsgTagId = "206" // 退款成功消息 CallbackRefundOrderRefuseMsgTagId = "204" // 拒绝退款消息 CallbackRefundShopMsgTagId = "205" // 拒绝退货申请消息 - CallbackReturnApplyAgreedMsgTagId = "202" // 卖家同意时,推送此消息 + CallbackReturnApplyAgreedMsgTagId = "202" // 同意退货申请消息 CallbackReturnRefundAgreedMsgTagId = "201" // 同意退款消息 + + // 不需要处理的退单消息 + CallbackExchangeComfirmedMsgTagId = "211" // 卖家收到买家换货包裹,确认换货并二次发货消息 + CallbackArbitrateDiscussUploadMsgTagId = "218" // 协商期上传凭证消息 + CallbackArbitrateServiceInterveneMsgTagId = "217" // 仲裁客服介入消息 + CallbackArbitrateCancelledMsgTagId = "215" // 买家取消仲裁消息 + CallbackArbitrateAuditedMsgTagId = "216" // 客服仲裁结果消息 + CallbackArbitrateSubmitedMsgTagId = "214" // 商家上传仲裁凭证消息 + CallbackArbitrateSubmitingMsgTagId = "213" // 客服要求商家上传凭证消息 + CallbackArbitrateAppliedMsgTagId = "212" // 买家发起客服仲裁消息 + CallbackExpirationChangeMsgTagId = "209" // 售后超时时长变更消息 + CallbackRefundClosedMsgTagId = "207" // 售后关闭消息 + CallbackBuyerReturnGoodsMsgTagId = "203" // 买家退货给卖家消息 + CallbackSpecialRefundMsgTagId = "224" // 特殊权益售后消息 + CallbackSpecialRefundSuccessMsgTagId = "225" // 特殊权益售后退款成功消息 + CallbackAuditAgreeResendMsgTagId = "227" // 同意补寄申请 + CallbackResendFillLogisticsMsgTagId = "226" // 补寄商家发货 +) + +// 订单售后方式 +const ( + AfterSaleTypeAll = 0 // 退货退款 + AfterSaleTypeSendPkgOnlyReturnMoney = 1 // 已发货仅退款 + AfterSaleTypeReturnMoney = 2 // 未发货仅退款 + AfterSaleTypeChangePkg = 3 // 换货 + AfterSaleTypeSystemCancel = 4 // 系统取消 + AfterSaleTypeUserCancel = 5 // 用户取消 + AfterSaleTypeInsuredPrice = 6 // 价保 + AfterSaleTypeReissue = 7 // 补寄 +) + +// 订单售后退款商户操作枚举 +// 售后审核接口聚合版 +// 售后统一操作接口,此接口可以提供所有售后操作类型。通过此接口操作时,需要通过type字段说明本次期望的操作(详情可见下表)。 +// 此接口每次最多支持对20个售后单进行操作。但任意一个售后单操作失败,接口遍会整体报错,因此推荐使用此接口每次操作一个售后单,从而获得更加明确的报错信息。 +// type说明: +// 值 前置条件-售后类型 前置条件-售后状态 说明 必须参数 +// 101 0 6,27 同意退货申请(一次审核) Logistics.ReceiverAddressId 或 Logistics.AfterSaleAddressDetail +// 102 0 6 拒绝退货申请(一次审核) reason , evidence +// 111 0 7,11,29 同意退货(二次审核) +// 112 0 11 拒绝退货 (二次审核) reason , evidence +// 121 0 6,27 退货转退款 +// 201 1 6,27 同意仅退款 +// 202 1 6 拒绝仅退款 reason , evidence +// 203 1 6 同意拒签后退款 +// 301 3 6,27 同意换货申请(一次审核) Logistics.ReceiverAddressId 或 Logistics.AfterSaleAddressDetail +// 302 3 6 拒绝换货申请(一次审核) reason,evidence +// 311 3 7,11,29 同意换货(二次审核) logistics.companyCode,logistics.logisticsCode +// 312 3 11 拒绝换货(二次审核) reason,evidence +// 321 3 6,7,11,29 换货转退款 +// 401 2 6 同意售前退申请(拒绝售前退款请使用发货接口) +// 501 7 6,27 同意补寄 +// 502 7 6 拒绝补寄 +const ( + AfterSaleEmuAgreeToReturnOneApply = 101 // 同意退货申请(一次审核) Logistics.ReceiverAddressId 或 Logistics.AfterSaleAddressDetail + AfterSaleEmuRefuseToReturnOneApply = 102 // 拒绝退货申请(一次审核) reason , evidence + AfterSaleEmuAgreeToReturnTwoApply = 111 // 同意退货(二次审核) + AfterSaleEmuRefuseToReturnTwoApply = 112 // 拒绝退货 (二次审核) reason , evidence + AfterSaleEmuReturnGoodsToRefundApply = 121 // 退货转退款 + AfterSaleEmuAgreeOnlyRefundApply = 201 // 同意仅退款 + AfterSaleEmuRefuseOnlyRefundApply = 202 // 拒绝仅退款 reason , evidence + AfterSaleEmuRefundAfterRefusalApply = 203 // 同意拒签后退款 + AfterSaleEmuAgreeChangeGoodsOneApply = 301 // 同意换货申请(一次审核) Logistics.ReceiverAddressId 或 Logistics.AfterSaleAddressDetail + AfterSaleEmuRefundChangeGoodsOneApply = 302 // 拒绝换货申请(一次审核) reason,evidence + AfterSaleEmuAgreeChangeGoodsTwoApply = 311 // 同意换货(二次审核) logistics.companyCode,logistics.logisticsCode + AfterSaleEmuRefundChangeGoodsTwoApply = 312 // 拒绝换货(二次审核) reason,evidence + AfterSaleEmuChangeGoodsToRefundApply = 321 // 换货转退款 + AfterSaleEmuAgreePreSaleReturnApply = 401 // 同意售前退申请(拒绝售前退款请使用发货接口) + AfterSaleEmuAgreeReissueApply = 501 // 同意补寄 + AfterSaleEmuRefundReissueApply = 502 // 拒绝补寄 +) + +const ( + MaxSkuNameCharCount = 30 // SkuName的最大字符数 + MaxStoreSkuBatchSize = 200 // retail/sku/stock, retail/sku/sellStatus和retail/sku/price这些批量操作的最大值 + MaxRetailListPageSize = 200 + MaxBatchDeleteSize = 100 // retailCat/batchdelete/catandretail这个接口的批量最大值 + MaxRetailDiscountCreateBatchSize = 200 + MaxRetailDiscountDeleteBatchSize = 100 ) diff --git a/platformapi/tiktok_shop/tiktok_api/order_utils.go b/platformapi/tiktok_shop/tiktok_api/order_utils.go index a5a06c0b..258e9cee 100644 --- a/platformapi/tiktok_shop/tiktok_api/order_utils.go +++ b/platformapi/tiktok_shop/tiktok_api/order_utils.go @@ -6,52 +6,13 @@ import ( "git.rosy.net.cn/baseapi/utils" "io/ioutil" "net/http" + "net/url" ) -// -//func (a *API) GetCallbackMsg(request *http.Request) (msg *OrderCallback, callbackResponse *CallbackResponse) { -// err := request.ParseForm() -// if err == nil { -// params := make(url.Values) -// for k := range request.PostForm { -// decodedValue, _ := url.QueryUnescape(request.PostFormValue(k)) -// params.Set(k, decodedValue) -// } -// msg = new(OrderCallback) -// msg.Tag = GetCmd(request) -// if callbackResponse = a.EventSignChange(request); callbackResponse != nil { -// return nil, callbackResponse -// } -// if callbackResponse = a.unmarshalData([]byte(params.Get("data")), &msg.Body); callbackResponse != nil { -// return nil, callbackResponse -// } -// -// msg.Tag = params.Get("tag") -// msg.MsgId = params.Get("msgId") -// -// var tmpObj interface{} -// switch msg.Tag { -// case CmdOrderPartRefund: -// var partRefundData CBPartRefundInfo -// tmpObj = &partRefundData -// case CmdOrderUserCancel: -// var userCancelData CBUserCancelInfo -// tmpObj = &userCancelData -// } -// if tmpObj != nil { -// if utils.Map2StructByJson(msg.Body, tmpObj, true) == nil { -// msg.Data = tmpObj -// } -// } -// return msg, nil -// } -// return nil, a.Err2CallbackResponse("", err, nil) -//} -// -//func GetCmd(request *http.Request) (cmd string) { -// cmd, _ = url.QueryUnescape(request.FormValue("tag")) -// return cmd -//} +func GetCmd(request *http.Request) (cmd string) { + cmd, _ = url.QueryUnescape(request.FormValue("tag")) + return cmd +} // EventSignChange 回调消息防伪标签校验 func (a *API) EventSignChange(c *http.Request) *CallbackResponse { @@ -72,3 +33,16 @@ func CallbackResponseErr(param bool) (callbackResponse *CallbackResponse) { } return &CallbackResponse{Code: CallbackFailCode, Msg: CallbackFail} } + +func Err2CallbackResponse(err error, data string) *CallbackResponse { + if err == nil { + return &CallbackResponse{Code: CallbackSuccessCode, Msg: CallbackSuccess} + } + if data == "" { + data = err.Error() + } + return &CallbackResponse{ + Code: CallbackFailCode, + Msg: data, + } +} diff --git a/platformapi/tiktok_shop/tiktok_api/sku.go b/platformapi/tiktok_shop/tiktok_api/sku.go index 238bdee4..7d6fe303 100644 --- a/platformapi/tiktok_shop/tiktok_api/sku.go +++ b/platformapi/tiktok_shop/tiktok_api/sku.go @@ -2,7 +2,20 @@ package tiktok_api import ( "errors" + product_addV2_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_addV2/request" + product_addV2_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_addV2/response" + product_del_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_del/request" + 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_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" + product_listV2_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_listV2/response" + product_setOffline_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_setOffline/request" + shop_getShopCategory_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_getShopCategory/request" sku_syncStock_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/sku_syncStock/request" + sku_syncStockBatch_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/sku_syncStockBatch/request" ) // UpdateSkuStock @@ -14,13 +27,183 @@ import ( func (a *API) UpdateSkuStock(param *sku_syncStock_request.SkuSyncStockParam) error { request := sku_syncStock_request.New() request.Param = param - resp, err := request.Execute(AccessToken) + resp, err := request.Execute(a.accessTokenObj) if err != nil { return err } - if resp.Code != 1000 { + if resp.Code != RequestSuccessCode { return errors.New(resp.Msg) } return nil } + +// GetShopCategory 获取商品类目 +// 请一定使用最小层级类目id,发布商品或更新商品。 +// 接口使用注意点: +// 1、第一次请求cid=0获取所有一级类目 +// 2、先判断enable=true,如果enable=false表示该类目已经失效,请勿使用。 +// 3、循环获取最小层级类目id方式:再判断is_leaf=true或false。is_leaf=true表示是叶子节点,最小层级类目id。is_leaf=false表示不是子节点,请求参数cid=上一次响应参数id,直到获取最小层级类目id。 +func (a *API) GetShopCategory(cid int64) ([]*RetailCategoryInfo, error) { + // 如果cid为0,则获取所有的分类,如果cid不为0,则获取该分类下面的所有子分类 + request := shop_getShopCategory_request.New() + param := request.GetParams() + param.Cid = cid + result, err := request.Execute(a.accessTokenObj) + if err != nil { + return nil, err + } + if result.Code != RequestSuccessCode { + return nil, errors.New(result.SubMsg) + } + + categoryAll := make([]*RetailCategoryInfo, 0, 0) + for i := 0; i < len(result.Data); i++ { + if result.Data[i].Enable != true { // 失效了 + continue + } + if result.Data[i].IsLeaf == false { + categoryAll = append(categoryAll, &RetailCategoryInfo{ + DataItem: result.Data[i], + Children: make([]*RetailCategoryInfo, 0, 0), + }) + parentNode, _ := a.GetShopCategory(result.Data[i].Id) + categoryAll[i].Children = append(categoryAll[i].Children, parentNode...) + } else { + node := RetailCategoryInfo{ + DataItem: result.Data[i], + Children: nil, + } + categoryAll = append(categoryAll, &node) + } + } + return categoryAll, nil +} + +// GetCatePropertyV2 根据商品分类获取对应的属性列表 +// 参数为最终的子节点id下面再无子节点 +func (a *API) GetCatePropertyV2(categoryLeftId int64) (*product_getCatePropertyV2_response.ProductGetCatePropertyV2Response, error) { + request := product_getCatePropertyV2_request.New() + param := request.GetParams() + param.CategoryLeafId = categoryLeftId + + result, err := request.Execute(a.accessTokenObj) + if err != nil { + return nil, err + } + if result.Code != RequestSuccessCode { + return nil, errors.New(result.SubMsg) + } + return result, nil +} + +// CreateStoreCommodity (新增总部商品) +func (a *API) CreateStoreCommodity(skuParam *product_addV2_request.ProductAddV2Param) (*product_addV2_response.ProductAddV2Data, error) { + request := product_addV2_request.New() + request.Param = skuParam + + result, err := request.Execute(a.accessTokenObj) + if err != nil { + return nil, err + } + if result.Code != RequestSuccessCode { + return nil, errors.New(result.SubMsg) + } + return result.Data, nil +} + +// SyncStockBatch 库存批量同步 +func (a *API) SyncStockBatch(param *sku_syncStockBatch_request.SkuSyncStockBatchParam) error { + request := sku_syncStockBatch_request.New() + request.Param = param + result, err := request.Execute(a.accessTokenObj) + if err != nil { + return err + } + if result.Code != RequestSuccessCode { + return errors.New(result.SubMsg) + } + return nil +} + +// EditStoreCommodity 编辑商品 +func (a *API) EditStoreCommodity(sku *product_editV2_request.ProductEditV2Param) error { + request := product_editV2_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() + param := request.GetParams() + param.ProductId = productId + param.DeleteForever = true + + result, err := request.Execute(a.accessTokenObj) + if err != nil { + return err + } + if result.Code != RequestSuccessCode { + return errors.New(result.SubMsg) + } + + return nil +} + +// ProductSetOffline 商品上下架 +func (a *API) ProductSetOffline(productId int64) error { + request := product_setOffline_request.New() + param := request.GetParams() + param.ProductId = productId + + result, err := request.Execute(a.accessTokenObj) + if err != nil { + return err + } + if result.Code != RequestSuccessCode { + return errors.New(result.SubMsg) + } + return nil +} + +// GetSkuDetail 查询单个商品详情 美团商品id(19位),本地商品id +func (a *API) GetSkuDetail(productId, outProductId string) (*product_detail_response.ProductDetailData, error) { + request := product_detail_request.New() + param := request.GetParams() + param.ProductId = productId + param.OutProductId = outProductId + + result, err := request.Execute(a.accessTokenObj) + if err != nil { + return nil, err + } + if result.Code != RequestSuccessCode { + return nil, err + } + return result.Data, nil +} + +// GetSkuDetailList 批量获取商品列表 +func (a *API) GetSkuDetailList(param *product_listV2_request.ProductListV2Param) (*product_listV2_response.ProductListV2Data, error) { + request := product_listV2_request.New() + request.Param = param + + result, err := request.Execute(a.accessTokenObj) + if err != nil { + return nil, err + } + if result.Code != RequestSuccessCode { + return nil, errors.New(result.SubMsg) + } + + return result.Data, nil +} diff --git a/platformapi/tiktok_shop/tiktok_api/sku_param.go b/platformapi/tiktok_shop/tiktok_api/sku_param.go new file mode 100644 index 00000000..edb65e7c --- /dev/null +++ b/platformapi/tiktok_shop/tiktok_api/sku_param.go @@ -0,0 +1,34 @@ +package tiktok_api + +import shop_getShopCategory_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_getShopCategory/response" + +// RetailCategoryInfo 获取抖店所有的节点信息 +type RetailCategoryInfo struct { + shop_getShopCategory_response.DataItem + Children []*RetailCategoryInfo `json:"children"` +} + +// SpecDetailList 商品库总商品创建结构体 +type SpecDetailList struct { + SpecDetailName1 string `json:"spec_detail_name1"` // 规格名字1 + SpecDetailName2 string `json:"spec_detail_name2"` // 规格名字2 + SpecDetailName3 string `json:"spec_detail_name3"` // 规格名字3 + StockNum int `json:"stock_num"` // 库存数 + Price int `json:"price"` // 价格 + Code string `json:"code"` // sku外部编码 + StepStockNum int `json:"step_stock_num"` // 阶梯库存,规则详见名称解释:https://op.jinritemai.com/docs/guide-docs/202/170 + SupplierID string `json:"supplier_id"` // 供应商ID + OuterSkuID string `json:"outer_sku_id"` // 商家编码(nameID) + DeliveryInfos []*DeliveryInfos `json:"delivery_infos"` +} +type DeliveryInfos struct { + InfoType string `json:"info_type"` // 单位类型(weight) + InfoValue string `json:"info_value"` // 数量 + InfoUnit string `json:"info_unit"` // 单位(g,kg,mg) +} + +type ProductFormatNewList struct { + Value int64 `json:"value"` + Name string `json:"name"` // property_name + DiyType int64 `json:"diy_type"` +} diff --git a/platformapi/tiktok_shop/tiktok_api/sku_test.go b/platformapi/tiktok_shop/tiktok_api/sku_test.go new file mode 100644 index 00000000..f8f30b79 --- /dev/null +++ b/platformapi/tiktok_shop/tiktok_api/sku_test.go @@ -0,0 +1,214 @@ +package tiktok_api + +import ( + "encoding/json" + "fmt" + "git.rosy.net.cn/baseapi" + address_create_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/address_create/request" + product_addV2_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_addV2/request" + "git.rosy.net.cn/baseapi/utils" + "go.uber.org/zap" + "strings" + "testing" +) + +func init() { + logger, _ := zap.NewDevelopment() + sugarLogger = logger.Sugar() + baseapi.Init(sugarLogger) + + // sandbox + // api = New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0") + // prod + api = address_create_request.New() +} + +func TestCategory(t *testing.T) { + accesstoken := `{"access_token":"6c4d71b3-831c-4a96-8d2e-977e37afba5a","expires_in":462248,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接专用店","refresh_token":"65aae144-4cc0-44d2-89ba-5d3062caca41","authority_id":""}` + a := New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", accesstoken) + data, err := a.GetShopCategory(0) + fmt.Println("err=====", err) + fmt.Println("data====", data) +} + +func TestGetCatePropertyV2(t *testing.T) { + accesstoken := `{"access_token":"6c4d71b3-831c-4a96-8d2e-977e37afba5a","expires_in":604800,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接专用店","refresh_token":"65aae144-4cc0-44d2-89ba-5d3062caca41","authority_id":""} +` + a := New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", accesstoken) + data, err := a.GetCatePropertyV2(23065) + fmt.Println("err=====", err) + fmt.Println("data====", data) // 202209281558450102081001701D7B32C5 +} + +// 新增总部商品 +func TestCreateStoreCommodity(t *testing.T) { + accesstoken := `{"access_token":"6c4d71b3-831c-4a96-8d2e-977e37afba5a","expires_in":462248,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接专用店","refresh_token":"65aae144-4cc0-44d2-89ba-5d3062caca41","authority_id":""}` + + a := New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", accesstoken) + param := &product_addV2_request.ProductAddV2Param{ + ProductType: 0, + CategoryLeafId: 23065, + ProductFormat: "", + Name: "精华补水液", + RecommendRemark: "商家推荐话术", + Pic: "https://p3-aio.ecombdimg.com/obj/ecom-shop-material/mXJgSMMc_m_b3dbe91196472e0f4bb05e779a21bf81_sx_112313_www800-800|https://p3-aio.ecombdimg.com/obj/ecom-shop-material/mXJgSMMc_m_8433e90bec56f791d4bfa4d47ee1e12c_sx_206128_www800-800", //轮播图,第一张为主图 + Description: "https://p3-aio.ecombdimg.com/obj/ecom-shop-material/mXJgSMMc_m_b3dbe91196472e0f4bb05e779a21bf81_sx_112313_www800-800|https://p3-aio.ecombdimg.com/obj/ecom-shop-material/mXJgSMMc_m_8433e90bec56f791d4bfa4d47ee1e12c_sx_206128_www800-800", //商品描述图 + PayType: 0, + DeliveryMethod: 0, + CdfCategory: "", + ReduceType: SkuReduceTypePayMakeOrder, //1 减库存类型:1-拍下减库存 2-付款减库存 + AssocIds: "", + FreightId: 11111, // 运费模板id + Weight: 0, + WeightUnit: 0, + DeliveryDelayDay: DeliveryDelayDayToDay, // 现货发货(presell_type=0)和阶梯发货模式(presell_type=2)时必填 + PresellType: SendGoodsTypeNow, // 0现发货/1预售发货/2阶梯发货 + PresellDelay: 0, + PresellEndTime: "", + Supply7dayReturn: 0, + Mobile: "18981810340", + Commit: false, + BrandId: 0, + Remark: "商家备注", + OutProductId: 0, + QualityList: nil, + SpecName: "", + Specs: "颜色|红色,黑色", + SpecPrices: "", + SpecPic: "", + MaximumPerOrder: 0, + LimitPerBuyer: 0, + MinimumPerOrder: 0, + ProductFormatNew: "", + SpuId: 0, + AppointDeliveryDay: 0, + ThirdUrl: "", + Extra: "", + Src: "", + StandardBrandId: 0, + NeedCheckOut: true, + PoiResource: nil, + CarVinCode: "", + PresellConfigLevel: 0, + NeedRechargeMode: true, + AccountTemplateId: "", + PresellDeliveryType: 0, + WhiteBackGroundPicUrl: "", + LongPicUrl: "", + AfterSaleService: nil, + SellChannel: nil, + StartSaleType: 0, // 立即上架 + DelayRule: nil, + MaterialVideoId: "", + PickupMethod: "0", + SizeInfoTemplateId: 0, + SubstituteGoodsUrl: "", + SaleChannelType: "", + RecruitInfo: nil, + StoreId: 0, + MainProductId: 0, + SaleLimitId: 0, + NamePrefix: "", + } + + // 获取属性 + category, err := a.GetCatePropertyV2(param.CategoryLeafId) + format := make(map[string][]*ProductFormatNewList, 0) + for _, v := range category.Data.Data { + for _, d := range v.Options { + formateNew := &ProductFormatNewList{ + Value: utils.Str2Int64(d.Value), + Name: d.Name, + DiyType: v.DiyType, + } + format[utils.Int64ToStr(v.CategoryId)] = append(format[utils.Int64ToStr(v.CategoryId)], formateNew) + } + } + productFormatNew, err := json.Marshal(format) + param.ProductFormatNew = string(productFormatNew) + + skuSize := make([]*SpecDetailList, 0, 0) + skuDetail := param.Specs + detail1 := strings.Split(skuDetail, "^") + if len(detail1) > 3 { + return + } + + switch len(detail1) { + case 1: + name1 := strings.Split(strings.Split(detail1[0], "|")[1], ",") + for i := 0; i < len(name1); i++ { + sku := &SpecDetailList{ + SpecDetailName1: name1[i], + StockNum: 750, + Price: 100, + Code: "19930826", + StepStockNum: 0, + SupplierID: "jxcs1993", + OuterSkuID: "1997338" + utils.Int2Str(i), + DeliveryInfos: []*DeliveryInfos{ + {InfoType: "weight", InfoUnit: "kg", InfoValue: "250"}, + {InfoType: "weight", InfoUnit: "g", InfoValue: "250"}, + {InfoType: "weight", InfoUnit: "mg", InfoValue: "250"}, + }, + } + skuSize = append(skuSize, sku) + } + case 2: + name1 := strings.Split(strings.Split(detail1[0], "|")[1], ",") + name2 := strings.Split(strings.Split(detail1[1], "|")[1], ",") + for i := 0; i < len(name1); i++ { + for j := 0; j < len(name2); j++ { + sku := &SpecDetailList{ + SpecDetailName1: name1[i], + SpecDetailName2: name2[j], + StockNum: 750, + Price: 100, + Code: "19930826", + StepStockNum: 0, + SupplierID: "jxcs1993", + OuterSkuID: "1997338", + DeliveryInfos: []*DeliveryInfos{ + {InfoType: "weight", InfoUnit: "kg", InfoValue: "250"}, + {InfoType: "weight", InfoUnit: "g", InfoValue: "250"}, + {InfoType: "weight", InfoUnit: "mg", InfoValue: "250"}, + }, + } + skuSize = append(skuSize, sku) + } + } + case 3: + name1 := strings.Split(strings.Split(detail1[0], "|")[1], ",") + name2 := strings.Split(strings.Split(detail1[1], "|")[1], ",") + name3 := strings.Split(strings.Split(detail1[2], "|")[1], ",") + for i := 0; i < len(name1); i++ { + for j := 0; j < len(name2); j++ { + for k := 0; k < len(name3); k++ { + sku := &SpecDetailList{ + SpecDetailName1: name1[i], + SpecDetailName2: name2[j], + SpecDetailName3: name3[k], + StockNum: 750, + Price: 100, + Code: "19930826", + StepStockNum: 0, + SupplierID: "jxcs1993", + OuterSkuID: "1997338", + DeliveryInfos: []*DeliveryInfos{ + {InfoType: "weight", InfoUnit: "kg", InfoValue: "250"}, + {InfoType: "weight", InfoUnit: "g", InfoValue: "250"}, + {InfoType: "weight", InfoUnit: "mg", InfoValue: "250"}, + }, + } + skuSize = append(skuSize, sku) + } + } + } + } + + specPricesString, _ := json.Marshal(skuSize) + param.SpecPrices = string(specPricesString) + data, err := a.CreateStoreCommodity(param) + fmt.Println("err=============", err) + fmt.Println("data===", fmt.Sprintf("%v", data)) +} diff --git a/platformapi/tiktok_shop/tiktok_api/sku_type.go b/platformapi/tiktok_shop/tiktok_api/sku_type.go index bb0ca8e7..b6f93548 100644 --- a/platformapi/tiktok_shop/tiktok_api/sku_type.go +++ b/platformapi/tiktok_shop/tiktok_api/sku_type.go @@ -1,5 +1,44 @@ package tiktok_api +type Imgs struct { + Name string `json:"name"` + Url string `json:"url"` +} + +// 抖店文件夹id写死两个 +const ( + TiktokFolder1 = "71482708738494630701960" + TiktokFolder2 = "71482723234545339291960" +) + +// 商品减库存类型 +const ( + SkuReduceTypeReduceMakeOrder = 1 // 拍下减库存 + SkuReduceTypePayMakeOrder = 2 // 付款减库存 +) + +const ( + TiktokPayType0 = 0 // 0货到付款 + TiktokPayType1 = 1 // 1在线支付, + TiktokPayType2 = 2 // 2货到付款+在线支付 +) + +// 发货模式 +const ( + SendGoodsTypeNow = 0 // 现发货 + SendGoodsTypeAppointment = 1 // 预约发货 + SendGoodsTypeLadder = 2 // 阶梯发货 + DeliveryDelayDayToDay = 9999 // 当日 + DeliveryDelayDayTomorrow = 1 // 明天 + DeliveryDelayDayAfterTomorrow = 2 // 后天 +) + +// 重量单位 +const ( + WeightUint_G = 1 // g + WeightUint_KG = 0 // g +) + //const ( // OrderSourceLuBan = 1 // 鲁班 // OrderSourceSmallShop = 2 // 小店 @@ -19,8 +58,3 @@ package tiktok_api // OrderSourceFictitious = 5 // 虚拟 // //) - -//1 -鲁班 2 -小店 3 -好好学习 4 -ev 5 -虚拟 6 -建站 7 -核销 8 -玉石 9 -ez 10 -ep 11 -虚拟卡券 -//12 -服务市场 13 - EP 视频课 14 - EP 直播课 21 -跨境BBC 22 -跨境BC 23 -跨境CC|UPU 24 -手机充值 -//25 -拍卖保证金 26 -懂车帝抵扣券 27 -懂车帝返现券 28 -离岛免税 29 -海南会员购 30 -抽奖 31 -清北-企业代付 -//32 -抖+券 33 -联盟寄样 49 -刀剑 53 -通信卡 66 -加油包 76 -大闸蟹 99 -保险 102-小店海外 108-上门取件收款 diff --git a/platformapi/tiktok_shop/tiktok_api/sku_warehouse.go b/platformapi/tiktok_shop/tiktok_api/sku_warehouse.go new file mode 100644 index 00000000..88ba05d1 --- /dev/null +++ b/platformapi/tiktok_shop/tiktok_api/sku_warehouse.go @@ -0,0 +1,67 @@ +package tiktok_api + +import ( + "errors" + material_batchUploadImageSync_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/material_batchUploadImageSync/request" + material_batchUploadImageSync_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/material_batchUploadImageSync/response" + material_createFolder_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/material_createFolder/request" + material_createFolder_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/material_createFolder/response" +) + +// CreateFolder 创建商品库文件夹(存放商品图片素材) +//1. 文件夹名称最多20个字符 +//2. 每个文件夹下最多包含100个子文件夹 +//3. 文件夹的最大层级为10层 +//4. 一个父文件夹下的子文件夹不允许重名 +//5. 累计创建的文件夹数量不能超过10万 +func (a *API) CreateFolder(fileName string) (*material_createFolder_response.MaterialCreateFolderResponse, error) { + request := material_createFolder_request.New() + param := request.GetParams() + param.Name = fileName + if param.Name == "" { + param.Name = "jxcs_folder2" + } + param.ParentFolderId = "0" // 根目录创建文件夹 + + result, err := request.Execute(a.accessTokenObj) + if err != nil { + return nil, err + } + if result.Code != RequestSuccessCode { + return nil, errors.New(result.SubMsg) + } + return result, nil +} + +// BatchUploadImages 批量上传文件到目录 +//1. 一次上传的数量限制50张图片; +//2. 图片大小限10M +//3. 素材中心会对素材进行异步审核,对于审核失败的素材,素材中心会在一定时间内将其删除。 +func (a *API) BatchUploadImages(imgs []Imgs) (*material_batchUploadImageSync_response.MaterialBatchUploadImageSyncData, error) { + request := material_batchUploadImageSync_request.New() + var param = make([]material_batchUploadImageSync_request.MaterialsItem, 0, len(imgs)) + + for i := 0; i < len(imgs); i++ { + img := material_batchUploadImageSync_request.MaterialsItem{ + RequestId: imgs[i].Name, + FolderId: TiktokFolder1, // 默认存储 + MaterialType: "photo", + Name: imgs[i].Name, + Url: imgs[i].Url, + } + param = append(param, img) + } + + imgParam := request.GetParams() + imgParam.Materials = param + imgParam.NeedDistinct = true + + result, err := request.Execute(a.accessTokenObj) + if err != nil { + return nil, err + } + if result.Code != RequestSuccessCode { + return nil, errors.New(result.SubMsg) + } + return result.Data, nil +} diff --git a/platformapi/tiktok_shop/tiktok_api/sku_warehouse_test.go b/platformapi/tiktok_shop/tiktok_api/sku_warehouse_test.go new file mode 100644 index 00000000..9ae4a5d5 --- /dev/null +++ b/platformapi/tiktok_shop/tiktok_api/sku_warehouse_test.go @@ -0,0 +1,46 @@ +package tiktok_api + +import ( + "fmt" + "git.rosy.net.cn/baseapi" + address_create_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/address_create/request" + "go.uber.org/zap" + "testing" +) + +func init() { + logger, _ := zap.NewDevelopment() + sugarLogger = logger.Sugar() + baseapi.Init(sugarLogger) + + // sandbox + // api = New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0") + // prod + api = address_create_request.New() +} + +func TestCreateFolad(t *testing.T) { + accesstoken := `{"access_token":"6c4d71b3-831c-4a96-8d2e-977e37afba5a","expires_in":604800,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接专用店","refresh_token":"65aae144-4cc0-44d2-89ba-5d3062caca41","authority_id":""} +` + a := New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", accesstoken) + data, err := a.CreateFolder("") + fmt.Println("err=====", err) + fmt.Println("LogId====", data.LogId) //2022092811422001020812109607601B77 + fmt.Println("data====", data.Data.Name) // jxcs_folder + fmt.Println("data====", data.Data.Type) // 0 + fmt.Println("data====", data.Data.FolderId) // 71482708738494630701960 /71482723234545339291960(两个文件夹的id) + fmt.Println("data====", data.Data.ParentFolderId) // 0 +} + +func TestUploadImg(t *testing.T) { + accesstoken := `{"access_token":"6c4d71b3-831c-4a96-8d2e-977e37afba5a","expires_in":462248,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接专用店","refresh_token":"65aae144-4cc0-44d2-89ba-5d3062caca41","authority_id":""}` + a := New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", accesstoken) + param := []Imgs{ + {Name: "测试图片1", Url: "https://image.jxc4.com/image/3f8d9759eda4863e28a0fff523f9d477.jpg"}, + {Name: "测试图片2", Url: "https://image.jxc4.com/image/06a488c740fe9f6e40a7fffe67a39570.jpg"}, + } + data, err := a.BatchUploadImages(param) + fmt.Println(err) + fmt.Println(data) + // logid 202209281425150101351501360B6DB460 +} diff --git a/platformapi/tiktok_shop/tiktok_api/store.go b/platformapi/tiktok_shop/tiktok_api/store.go index fb6d9ad4..d518d7e4 100644 --- a/platformapi/tiktok_shop/tiktok_api/store.go +++ b/platformapi/tiktok_shop/tiktok_api/store.go @@ -2,10 +2,12 @@ package tiktok_api import ( "errors" + "fmt" 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_getStoreFreight_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreFreight/request" 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" @@ -63,7 +65,7 @@ func (a *API) EditStore(storeInfo EditStoreReq) (*shop_editStore_response.ShopEd OpenTime: storeInfo.OpenTime, StoreID: int64(storeInfo.StoreID), } - response, err := request.Execute(AccessToken) + response, err := request.Execute(a.accessTokenObj) if err != nil { return nil, err } @@ -80,7 +82,7 @@ func (a *API) StoreSuspend(info StoreSuspendReq) (*shop_storeSuspend_response.Sh StoreID: int64(info.StoreID), Reason: info.Reason, } - response, err := request.Execute(AccessToken) + response, err := request.Execute(a.accessTokenObj) if err != nil { return nil, err } @@ -97,7 +99,7 @@ func (a *API) UnsuspendStore(info UnsuspendStoreReq) (*shop_unsuspendStore_respo StoreID: int64(info.StoreID), Reason: info.Reason, } - response, err := request.Execute(AccessToken) + response, err := request.Execute(a.accessTokenObj) if err != nil { return nil, err } @@ -117,7 +119,7 @@ func (a *API) CreateTradeLimitTemplate(info CreateTradeLimitTemplateReq) (*trade TradeLimitPattern: info.TradeLimitPattern, TimePeriod: info.TimePeriod, } - response, err := request.Execute(AccessToken) + response, err := request.Execute(a.accessTokenObj) if err != nil { return nil, err } @@ -134,7 +136,7 @@ func (a *API) BindStoreSaleLimit(info BindBindStoreSaleLimitReq) (*shop_bindStor StoreID: info.StoreID, SaleLimitID: info.SaleLimitID, } - response, err := request.Execute(AccessToken) + response, err := request.Execute(a.accessTokenObj) if err != nil { return nil, err } @@ -144,7 +146,21 @@ func (a *API) BindStoreSaleLimit(info BindBindStoreSaleLimitReq) (*shop_bindStor return response.Data, nil } -//门店新增查询发货地址 -func AddressCreate() { +// GetStoreFreight 获取门店绑定的限售模板 +func (a *API) GetStoreFreight(storeId int64) (int64, error) { + request := shop_getStoreFreight_request.New() + request.Param.StoreId = storeId + result, err := request.Execute(a.accessTokenObj) + if err != nil { + return 0, err + } + if result.Code != RequestSuccessCode { + return 0, errors.New(result.SubMsg) + } + + if len(result.Data.StoreFreights) == 0 { + return 0, errors.New(fmt.Sprintf("此门[%d]店暂未绑定运费模板", storeId)) + } + return result.Data.StoreFreights[0].FreightId, nil } diff --git a/platformapi/tiktok_shop/tiktok_api/store_liulei.go b/platformapi/tiktok_shop/tiktok_api/store_liulei.go new file mode 100644 index 00000000..388f5df3 --- /dev/null +++ b/platformapi/tiktok_shop/tiktok_api/store_liulei.go @@ -0,0 +1,3 @@ +package tiktok_api + +// huoqu