This is a beta release of documentation for Magento 2.4, published for previewing soon-to-be-released functionality. Content in this version is subject to change. Links to the v2.4 code base may not properly resolve until the code is officially released.

Step 2. Create the configurable and simple products

Create a configurable product using bulk APIs

By providing configurable and simple product information, you can use the bulk API to create all necessary products with a single call.

Configurable product

Some notes about the configurable product payload example:

  • We have the information we need to create the Champ Tee configurable product.
  • The sample payload does not contain the price or the size, as these are defined in the simple products section.
  • The visibility attribute is set to 4, which allows customers to find the product by browsing or searching. Each simple product defined in the payload can override the visibility attribute.

Simple products

The payloads for creating a simple product and a configurable product are identical, with the following exceptions:

  • The simple product sku appends the configurable option (the size in this tutorial) to the configurable product sku.
  • The name indicates the size.
  • The type_id is set to simple.
  • The visibility is set to 1, indicating the simple product should not be displayed on the store.
  • The price and size attributes are specified.

Although it’s not required, the simple product payload also includes stock_item information. By default, the Luma store hides out-of-stock items, so adding stock will make the Champ Tee visible on the website.

Before you use this code sample, verify that the attribute values are the same in your installation. See Get the list of attributes defined in an attribute searchCriteria for more information.

The payload contains both the configurable product and the simple products.

Endpoint:

POST <host>/rest/default/async/bulk/V1/products

Payload:

Show code sample
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
[{
  "product": {
    "sku": "MS-Champ",
    "name": "Champ Tee",
    "attribute_set_id": 9,
    "status": 1,
    "visibility": 4,
    "type_id": "configurable",
    "weight": "0.5",
    "extension_attributes": {
      "category_links": [
        {
          "position": 0,
          "category_id": "11"
        },
        {
          "position": 1,
          "category_id": "12"
        },
        {
          "position": 2,
          "category_id": "16"
        }
      ]
    },
    "custom_attributes": [
      {
        "attribute_code": "description",
        "value": "The Champ Tee keeps you cool and dry while you do your thing. Let everyone know who you are by adding your name on the back for only $10."
      },
      {
        "attribute_code": "tax_class_id",
        "value": "2"
      },
      {
        "attribute_code": "material",
        "value": "148"
      },
      {
        "attribute_code": "pattern",
        "value": "196"
      },
      {
        "attribute_code": "color",
        "value": "52"
      }
    ]
  }
},
{
  "product": {
    "sku": "MS-Champ-S",
    "name": "Champ Tee Small",
    "attribute_set_id": 9,
    "price": 25,
    "status": 1,
    "visibility": 1,
    "type_id": "simple",
    "weight": "0.5",
    "extension_attributes": {
      "category_links": [
        {
          "position": 0,
          "category_id": "11"
        },
        {
          "position": 1,
          "category_id": "12"
        },
        {
          "position": 2,
          "category_id": "16"
        }
      ],
      "stock_item": {
        "qty": "10",
        "is_in_stock": true
      }
    },
    "custom_attributes": [
      {
        "attribute_code": "description",
        "value": "The Champ Tee keeps you cool and dry while you do your thing. Let everyone know who you are by adding your name on the back for only $10."
      },
      {
        "attribute_code": "tax_class_id",
        "value": "2"
      },
      {
        "attribute_code": "material",
        "value": "148"
      },
      {
        "attribute_code": "pattern",
        "value": "196"
      },
      {
        "attribute_code": "color",
        "value": "52"
      },
      {
        "attribute_code": "size",
        "value": "168"
      }
    ]
  }
},
{
  "product": {
    "sku": "MS-Champ-M",
    "name": "Champ Tee Medium",
    "attribute_set_id": 9,
    "price": 25,
    "status": 1,
    "visibility": 1,
    "type_id": "simple",
    "weight": "0.5",
    "extension_attributes": {
      "category_links": [
        {
          "position": 0,
          "category_id": "11"
        },
        {
          "position": 1,
          "category_id": "12"
        },
        {
          "position": 2,
          "category_id": "16"
        }
      ],
      "stock_item": {
        "qty": "10",
        "is_in_stock": true
      }
    },
    "custom_attributes": [
      {
        "attribute_code": "description",
        "value": "The Champ Tee keeps you cool and dry while you do your thing. Let everyone know who you are by adding your name on the back for only $10."
      },
      {
        "attribute_code": "tax_class_id",
        "value": "2"
      },
      {
        "attribute_code": "material",
        "value": "148"
      },
      {
        "attribute_code": "pattern",
        "value": "196"
      },
      {
        "attribute_code": "color",
        "value": "52"
      },
      {
        "attribute_code": "size",
        "value": "169"
      }
    ]
  }
},
{
  "product": {
    "sku": "MS-Champ-L",
    "name": "Champ Tee Large",
    "attribute_set_id": 9,
    "price": 25,
    "status": 1,
    "visibility": 1,
    "type_id": "simple",
    "weight": "0.5",
    "extension_attributes": {
      "category_links": [
        {
          "position": 0,
          "category_id": "11"
        },
        {
          "position": 1,
          "category_id": "12"
        },
        {
          "position": 2,
          "category_id": "16"
        }
      ],
      "stock_item": {
        "qty": "10",
        "is_in_stock": true
      }
    },
    "custom_attributes": [
      {
        "attribute_code": "description",
        "value": "The Champ Tee keeps you cool and dry while you do your thing. Let everyone know who you are by adding your name on the back for only $10."
      },
      {
        "attribute_code": "tax_class_id",
        "value": "2"
      },
      {
        "attribute_code": "material",
        "value": "148"
      },
      {
        "attribute_code": "pattern",
        "value": "196"
      },
      {
        "attribute_code": "color",
        "value": "52"
      },
      {
        "attribute_code": "size",
        "value": "170"
      }
    ]
  }
},
]

Response:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
    "bulk_uuid": "c08a2b99-4be2-4b28-af7e-56e9664e0b39",
    "request_items": [
        {
            "id": 0,
            "data_hash": null,
            "status": "accepted"
        },
        {
            "id": 1,
            "data_hash": null,
            "status": "accepted"
        },
        {
            "id": 2,
            "data_hash": null,
            "status": "accepted"
        }
    ],
    "errors": false
}

For information about response fields, see the Bulk API section. To check the status of operations, see the API for Bulk operation status endpoints.

Verify this step

  • Log in to the Luma website and select Catalog > Products. The product appears in the grid.

    Product page with configurable product

  • On the Luma storefront page, search for Champ. No results are returned.