Magento 2: Erstellen eines konfigurierbaren Produkts mithilfe der REST-API

10

Um ein konfigurierbares Produkt zu erstellen, muss ich ein konfigurierbares Produkt und ein virtuelles Produkt erstellen und diese schließlich verbinden.

Beispiel für eine json-Anfrage von hier: Wie erstelle ich ein konfigurierbares Produkt mit der REST-API v2?

Ich frage mich, warum ich diesen Abschnitt unten in einem konfigurierbaren Produkt benötige.

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

Ich habe festgestellt, dass dieser Abschnitt erforderlich ist, um später ein virtuelles Produkt mit einer konfigurierbaren Verbindung zu verbinden. Aber Werte haben keine Bedeutung.

Im virtuellen Produkt kann ich jeden gewünschten Wert zuweisen. Was ist der Zweck dieser Werte?

user2089098
quelle

Antworten:

0

Bitte versuchen Sie es mit dem folgenden Code, ich hoffe, es funktioniert für Sie.

hat ein einfaches Produkt mit dem Attribut 'Farbe' erstellt und einfache Produkt-IDs sind 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);
?>  
Anas Mansuri
quelle