Magento 2: การสร้างผลิตภัณฑ์ที่กำหนดค่าได้โดยใช้ REST API


10

ในการสร้างผลิตภัณฑ์ที่กำหนดค่าได้ฉันต้องสร้างผลิตภัณฑ์ที่กำหนดค่าได้ผลิตภัณฑ์เสมือนจริงและเชื่อมต่อกับผลิตภัณฑ์เหล่านั้นในที่สุด

ตัวอย่างของคำขอ json มาจากที่นี่: ฉันจะสร้างผลิตภัณฑ์ที่กำหนดค่าได้โดยใช้ REST API v2 ได้อย่างไร

ฉันสงสัยว่าทำไมฉันต้องมีส่วนนี้ด้านล่างในผลิตภัณฑ์ที่สามารถกำหนดค่าได้?

        "configurable_product_options":[
         {
           "attribute__id":"193",
           "label":"Colour",
           "position":0,
           "values":[
             {
               "value_index":340
             },
             {
               "value_index":341
             }
           ],

ฉันสังเกตเห็นว่าส่วนนี้จำเป็นต้องใช้ในการเชื่อมต่อผลิตภัณฑ์เสมือนจริงเพื่อกำหนดค่าการเชื่อมต่อในภายหลัง แต่คุณค่าไม่มีความหมาย

ในผลิตภัณฑ์เสมือนฉันสามารถกำหนดค่าใด ๆ ที่ฉันต้องการ จุดประสงค์ของค่านิยมนี้คืออะไร?

คำตอบ:


0

โปรดลองด้วยรหัสด้านล่างฉันหวังว่ามันจะทำงานให้คุณ

สร้างผลิตภัณฑ์อย่างง่ายพร้อมแอตทริบิวต์ 'color' และรหัสผลิตภัณฑ์แบบง่ายคือ 1011,1012 & 1013

<?php
/********* Create Configurable Product By Rest API *********/
try {
    $url = "http://siteurl.com";
    $apiusername = 'apiusername';
    $apipassword = 'apipassword';
    $userData = array("username" => $apiusername, "password" => $apipassword);


    $ch = curl_init($url."/rest/V1/integration/admin/token");
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($userData));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json", "Content-Lenght: " . strlen(json_encode($userData))));

    $token = curl_exec($ch);
    $product_data= '{
                    "product": {
                                "id": 0,
                                "sku": "config_1",
                                "name": "Config Product",
                                "attributeSetId": 4,
                                "price": 20,
                                "status": 1,
                                "visibility": 4,
                                "typeId": "configurable",
                                "createdAt": "string",
                                "updatedAt": "string",
                                "weight": 0.8,
                                "extensionAttributes": {
                                    "stockItem": {
                                        "isInStock": true
                                        },
                                    "configurableProductLinks": [1011,1012,1013],
                                    "configurableProductOptions": [
                                        {
                                            "id": 0,
                                            "attributeId": "93",
                                            "label": "Color",
                                            "position": 0,
                                            "isUseDefault": true,
                                                "values": [
                                                    {
                                                        "valueIndex": 11
                                                    },
                                                    {
                                                        "valueIndex": 12
                                                    },
                                                    {
                                                        "valueIndex": 13
                                                    }
                                                        ]
                                        }
                                                                ]   
                                   }
                            }
    }';

     $ch = curl_init($url."/rest/V1/products");
     curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
     curl_setopt($ch, CURLOPT_POSTFIELDS,$product_data);
     curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json", "Authorization: Bearer " . json_decode($token)));

     $result = curl_exec($ch);
     }catch(Exception $e){

           echo $e->getMessage();

     }
      var_dump($result);
?>  
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.