diff --git a/platformapi/jdshopapi/sku.go b/platformapi/jdshopapi/sku.go index fd146013..4a7f72bd 100644 --- a/platformapi/jdshopapi/sku.go +++ b/platformapi/jdshopapi/sku.go @@ -489,3 +489,30 @@ func (a *API) DeleteSku(skuId int64) (err error) { }) return err } + +type FindSkuByIdParam struct { + Status int `json:"status"` + JdPrice float64 `json:"jdPrice"` + SaleAttrs []struct { + AttrID string `json:"attrId"` + Index int `json:"index"` + AttrValueAlias []string `json:"attrValueAlias"` + AttrValues []string `json:"attrValues"` + } `json:"saleAttrs"` + SkuID int64 `json:"skuId"` + WareID int64 `json:"wareId"` + OuterID string `json:"outerId"` +} + +//获取单个sku +//https://open.jd.com/home/home#/doc/api?apiCateId=48&apiId=1223&apiName=jingdong.sku.read.findSkuById +func (a *API) FindSkuById(skuId int64) (findSkuByIdParam *FindSkuByIdParam, err error) { + result, err := a.AccessAPI2("jingdong.sku.read.findSkuById", prodURL, map[string]interface{}{ + "skuId": skuId, + "field": "saleAttrs", + }) + if err == nil { + utils.Map2StructByJson(result["jingdong_sku_read_findSkuById_responce"].(map[string]interface{})["sku"], &findSkuByIdParam, false) + } + return findSkuByIdParam, err +} diff --git a/platformapi/jdshopapi/sku_test.go b/platformapi/jdshopapi/sku_test.go index 1487e5a3..94703604 100644 --- a/platformapi/jdshopapi/sku_test.go +++ b/platformapi/jdshopapi/sku_test.go @@ -360,3 +360,11 @@ func TestDeleteSku(t *testing.T) { } // t.Log(utils.Format4Output(result, false)) } + +func TestFindSkuById(t *testing.T) { + result, err := api.FindSkuById(69576828876) + if err != nil { + t.Fatal(err) + } + t.Log(utils.Format4Output(result, false)) +}