Magento 2: Membuat produk yang dapat dikonfigurasi menggunakan REST API

10

Untuk membuat produk yang dapat dikonfigurasi, saya perlu membuat produk yang dapat dikonfigurasi, produk virtual dan akhirnya menghubungkan mereka.

Contoh permintaan json didapat dari sini: Bagaimana cara membuat produk yang dapat dikonfigurasi menggunakan REST API v2?

Saya bertanya-tanya mengapa saya perlu bagian ini di bawah pada produk yang dapat dikonfigurasi?

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

Saya perhatikan bahwa bagian ini diperlukan untuk dapat menghubungkan produk virtual ke koneksi yang dapat dikonfigurasi nanti. Tetapi nilai tidak memiliki arti.

Dalam produk virtual saya dapat menetapkan nilai apa pun yang saya inginkan. Apa tujuan dari nilai-nilai ini?

pengguna2089098
sumber

Jawaban:

0

Silakan coba dengan kode di bawah ini, saya harap ini berhasil untuk Anda.

menciptakan produk sederhana dengan atribut 'warna' dan id produk sederhana adalah 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
sumber