使用 Rest API 创建产品:Magento V2.0

Create Products using Rest API : Magento V2.0

我一直在尝试使用 Rest API 为 Magento 2.0 版创建产品。

我正在使用 Postman 测试其余部分 api。

URL : http://13.91../rest/V1/products

我已将以下 headers 添加到请求中。 授权:承载 ********************** Content-Type : application/json

JSON BODY

{
"sku":"10090-White-XL",
"store_view_code":"",
"attribute_set_code":"ColorSize",
"product_type":"virtual",
"categories":"Menswear/Tops",
"product_websites":"base",
"name":"10090-White-XL",
"description":"<p>Precise Long-Sleeve Shirt in Black, Denim, or White.</p>",
"short_description":"",
"weight":"",
"product_online":1,
"tax_class_name":"Taxable Goods",
"visibility":"Not Visible Individually",
"price":119,
"special_price":"",
"special_price_from_date":"",
"special_price_to_date":"",
"url_key":"10090-white-xl",
"meta_title":"Precise Long-Sleeve Shirt",
"meta_keywords":"Precise Long-Sleeve Shirt",
"meta_description":"Precise Long-Sleeve Shirt <p>Precise Long-Sleeve Shirt in Black, Denim, or White.</p>",
"base_image":"",
"base_image_label":"",
"small_image":"",
"small_image_label":"",
"thumbnail_image":"",
"thumbnail_image_label":"",
"swatch_image":"",
"swatch_image_label":"",
"created_at":"3/23/16, 2:15 PM",
"updated_at":"3/23/16, 2:15 PM",
"new_from_date":"",
"new_to_date":"",
"display_product_options_in":"Block after Info Column",
"map_price":"",
"msrp_price":"",
"map_enabled":"",
"gift_message_available":"",
"custom_design":"",
"custom_design_from":"",
"custom_design_to":"",
"custom_layout_update":"",
"page_layout":"",
"product_options_container":"",
"msrp_display_actual_price_type":"",
"country_of_manufacture":"",
"additional_attributes":"color=White,size=XL",
"qty":null,
"out_of_stock_qty":0,
"use_config_min_qty":1,
"is_qty_decimal":0,
"allow_backorders":0,
"use_config_backorders":1,
"min_cart_qty":1,
"use_config_min_sale_qty":1,
"max_cart_qty":10000,
"use_config_max_sale_qty":1,
"is_in_stock":0,
"notify_on_stock_below":1,
"use_config_notify_stock_qty":1,
"manage_stock":0,
"use_config_manage_stock":0,
"use_config_qty_increments":1,
"qty_increments":0,
"use_config_enable_qty_inc":0,
"enable_qty_increments":0,
"is_decimal_divided":0,
"website_id":1,
"related_skus":"",
"crosssell_skus":"",
"upsell_skus":"",
"additional_images":"",
"additional_image_labels":"",
"hide_from_product_page":"",
"bundle_price_type":"",
"bundle_sku_type":"",
"bundle_price_view":"",
"bundle_weight_type":"",
"bundle_values":"",
"configurable_variations":"",
"configurable_variation_labels":"",
"associated_skus":""

}

我得到的错误是 {"message":"%fieldName is a required field.","parameters":{"fieldName":"product"}}

如果有人能告诉我如何添加产品,那就太好了。我已经检查了所有文件,但找不到答案。

我找到了问题的答案。 json 结构需要采用以下格式:

{
    "product":{
      "id": 12345,
      "sku": "10090-White-XL",
      "name": "10090-White-XL",
      "attribute_set_id": 9,
      "price": 119,
      "status": 1,
      "visibility": 1,
      "type_id": "virtual",
      "created_at": "2016-04-05 23:04:09",
      "updated_at": "2016-04-05 23:04:09",
      "product_links": [],
      "options": [],
      "tier_prices": [],
      "custom_attributes": [
        {
          "attribute_code": "description",
          "value": "<p>Precise Long-Sleeve Shirt in Black, Denim, or White.</p>"
        },
        {
          "attribute_code": "meta_title",
          "value": "Precise Long-Sleeve Shirt"
        },
        {
          "attribute_code": "meta_keyword",
          "value": "Precise Long-Sleeve Shirt"
        },
        {
          "attribute_code": "meta_description",
          "value": "Precise Long-Sleeve Shirt <p>Precise Long-Sleeve Shirt in Black, Denim, or White.</p>"
        },
        {
          "attribute_code": "color",
          "value": "11"
        },
        {
          "attribute_code": "options_container",
          "value": "container2"
        },
        {
          "attribute_code": "required_options",
          "value": "0"
        },
        {
          "attribute_code": "has_options",
          "value": "0"
        },
        {
          "attribute_code": "url_key",
          "value": "10090-white-xl"
        },
        {
          "attribute_code": "msrp_display_actual_price_type",
          "value": "0"
        },
        {
          "attribute_code": "tax_class_id",
          "value": "2"
        },
        {
          "attribute_code": "size",
          "value": "8"
        }
      ]
    },"saveOptions": true
 }

需要注意的重要一点是 json.The swagger 文档中的产品标签有助于识别它。这是它的 link:http://devdocs.magento.com/swagger/#!/catalogProductRepositoryV1/catalogProductRepositoryV1SavePost

具有自定义属性的简单产品(例如:备注)。

只需注意 media_gallery_entries。确保提供有效的 base64_encoded_data 图片内容和 MIME 类型。

URL: http://domain/index.php/rest/V1/products

方法:POST

HEADER: application/json 授权:不记名

POST 数据/原始负载:

{
  "product": {
   "sku": "TESTPRD002",
   "name": "Women's Running - Pure Boost X Shoes",
   "attribute_set_id": 4,
   "price": 84,
   "status": 1,
   "visibility": 4,
   "type_id": "simple",
   "created_at": "2016-12-16 15:20:55",
   "updated_at": "2016-12-16 15:20:23",
   "weight": 2.5,
   "extension_attributes": {
  "stock_item": {
    "item_id": 1,
    "stock_id": 1,
    "qty": 20,
    "is_in_stock": true,
    "is_qty_decimal": false
  }
   },
   "product_links": [],
   "options": [],
   "media_gallery_entries": [
  {
    "media_type": "image",
    "label": "Women's Running - Pure Boost X Shoes",
    "position": 1,
    "disabled": false,
    "types": [
   "image",
   "small_image",
   "thumbnail"
    ],  
    "content": {
     "base64_encoded_data": "<ENCODED IMAGE DATA>",
     "type": "image/jpeg",
     "name": "TESTPRD002-01.jpg"
   }
  }
   ],
   "tier_prices": [],
   "custom_attributes": [
  {
    "attribute_code": "description",
    "value": "<p>Lightweight and sleek, these women's running shoes are fueled by boost™ energy. The low-profile runners blend an energy-returning boost™ midsole with a STRETCHWEB outsole for a cushioned ride with terrific ground-feel. They feature a breathable mesh upper with a sock-like fit that offers all-around support. With a full boost™ midsole that keeps every stride charged with light, fast energy, the shoe has an upper that hovers over a free-floating arch.</p>"
  },
  {
    "attribute_code": "short_description",
    "value": "<p>PURE BOOST X SHOES</p><p>NATURAL RUNNING SHOES WITH ARCH SUPPORT.</p>"
  },
  {
    "attribute_code": "meta_title",
    "value": "PURE BOOST X SHOES"
  },
  {
    "attribute_code": "meta_keyword",
    "value": "boost X, running, shoes, adidas"
  },
  {
    "attribute_code": "meta_description",
    "value": "NATURAL RUNNING SHOES WITH ARCH SUPPORT."
  },
  {
    "attribute_code": "category_ids",
    "value": [
   "2", "3"
    ]
  },
  {
    "attribute_code": "url_key",
    "value": "womens-running-pure-boost-x-shoes"
  },
  {
    "attribute_code": "tax_class_id",
    "value": "1"
  },
  {
    "attribute_code": "remarks",
    "value": "Lorem ipsum.."
  }
   ]
  },
  "saveOptions": true
}