I am successfully uploading a JSONL file via the GQL API (only 1 product for testing):
{
“input”: {
“title”: “shopify1l”,
“descriptionHtml”: “
shopify1l
”,“giftCard”: false,
“status”: “ACTIVE”,
“metafields”: {
“namespace”: “custom”,
“key”: “productid”,
“type”: “single_line_text_field”,
“value”: “352243”
},
“variants”: [
{
“price”: 19.99,
“sku”: “shopify1003800049”,
“inventoryItem”: {
“tracked”: false
},
“inventoryQuantities”: {
“locationId”: “gid://shopify/Location/71707263157”,
“name”: “available”,
“quantity”: 20
},
“optionValues”: [
{
“optionName”: “Size”,
“name”: “L”
},
{
“optionName”: “Color”,
“name”: “Black”
}
]
},
{
“price”: 19.99,
“sku”: “shopify1003800259”,
“inventoryItem”: {
“tracked”: true
},
“inventoryQuantities”: {
“locationId”: “gid://shopify/Location/71707263157”,
“name”: “available”,
“quantity”: 20
},
“optionValues”: [
{
“optionName”: “Size”,
“name”: “L”
},
{
“optionName”: “Color”,
“name”: “Brown”
}
]
},
{
“price”: 19.99,
“sku”: “shopify100389”,
“inventoryItem”: {
“tracked”: true
},
“inventoryQuantities”: {
“locationId”: “gid://shopify/Location/71707263157”,
“name”: “available”,
“quantity”: 20
},
“optionValues”: [
{
“optionName”: “Size”,
“name”: “L”
},
{
“optionName”: “Color”,
“name”: “Dark Red”
}
]
},
{
“price”: 19.99,
“sku”: “shopify1004000049”,
“inventoryItem”: {
“tracked”: true
},
“inventoryQuantities”: {
“locationId”: “gid://shopify/Location/71707263157”,
“name”: “available”,
“quantity”: 20
},
“optionValues”: [
{
“optionName”: “Size”,
“name”: “M”
},
{
“optionName”: “Color”,
“name”: “Black”
}
]
},
{
“price”: 19.99,
“sku”: “shopify1004000259”,
“inventoryItem”: {
“tracked”: true
},
“inventoryQuantities”: {
“locationId”: “gid://shopify/Location/71707263157”,
“name”: “available”,
“quantity”: 20
},
“optionValues”: [
{
“optionName”: “Size”,
“name”: “M”
},
{
“optionName”: “Color”,
“name”: “Brown”
}
]
},
{
“price”: 19.99,
“sku”: “shopify100409”,
“inventoryItem”: {
“tracked”: true
},
“inventoryQuantities”: {
“locationId”: “gid://shopify/Location/71707263157”,
“name”: “available”,
“quantity”: 20
},
“optionValues”: [
{
“optionName”: “Size”,
“name”: “M”
},
{
“optionName”: “Color”,
“name”: “Dark Red”
}
]
},
{
“price”: 19.99,
“sku”: “shopify1004500049”,
“inventoryItem”: {
“tracked”: true
},
“inventoryQuantities”: {
“locationId”: “gid://shopify/Location/71707263157”,
“name”: “available”,
“quantity”: 20
},
“optionValues”: [
{
“optionName”: “Size”,
“name”: “S”
},
{
“optionName”: “Color”,
“name”: “Black”
}
]
},
{
“price”: 19.99,
“sku”: “shopify1004500259”,
“inventoryItem”: {
“tracked”: true
},
“inventoryQuantities”: {
“locationId”: “gid://shopify/Location/71707263157”,
“name”: “available”,
“quantity”: 20
},
“optionValues”: [
{
“optionName”: “Size”,
“name”: “S”
},
{
“optionName”: “Color”,
“name”: “Brown”
}
]
},
{
“price”: 19.99,
“sku”: “shopify100459”,
“inventoryItem”: {
“tracked”: true
},
“inventoryQuantities”: {
“locationId”: “gid://shopify/Location/71707263157”,
“name”: “available”,
“quantity”: 20
},
“optionValues”: [
{
“optionName”: “Size”,
“name”: “S”
},
{
“optionName”: “Color”,
“name”: “Dark Red”
}
]
}
]
}
}
and then requesting that it gets processed:
Dim bulkProductMutation
bulkProductMutation = “mutation call($input: ProductSetInput!) {”
bulkProductMutation = bulkProductMutation & " productSet(input: $input) {"
bulkProductMutation = bulkProductMutation & " product {"
bulkProductMutation = bulkProductMutation & " id"
bulkProductMutation = bulkProductMutation & " }"
bulkProductMutation = bulkProductMutation & " productSetOperation {"
bulkProductMutation = bulkProductMutation & " id"
bulkProductMutation = bulkProductMutation & " status"
bulkProductMutation = bulkProductMutation & " userErrors {"
bulkProductMutation = bulkProductMutation & " code"
bulkProductMutation = bulkProductMutation & " field"
bulkProductMutation = bulkProductMutation & " message"
bulkProductMutation = bulkProductMutation & " }"
bulkProductMutation = bulkProductMutation & " }"
bulkProductMutation = bulkProductMutation & " userErrors {"
bulkProductMutation = bulkProductMutation & " code"
bulkProductMutation = bulkProductMutation & " field"
bulkProductMutation = bulkProductMutation & " message"
bulkProductMutation = bulkProductMutation & " }"
bulkProductMutation = bulkProductMutation & " }"
bulkProductMutation = bulkProductMutation & “}”
runMutation=" {""query"": ""mutation bulkOperationRunMutation { bulkOperationRunMutation( mutation: \""" & bulkProductMutation & "\"","
runMutation=runMutation & "stagedUploadPath: \""" & keytmp & "\"") { "
runMutation=runMutation & " bulkOperation {"
runMutation=runMutation & "id "
runMutation=runMutation & "url "
runMutation=runMutation & "status "
runMutation=runMutation & "}"
runMutation=runMutation & " userErrors {"
runMutation=runMutation & "message "
runMutation=runMutation & "field "
runMutation=runMutation & "}"
runMutation=runMutation & "}"
runMutation=runMutation & "}""}"
and then receive the following response back:
{“data”:{“bulkOperationRunMutation”:{“bulkOperation”:{“id”:“gid://shopify/BulkOperation/4508594143413”,“url”:null,“status”:“CREATED”},“userErrors”:}},“extensions”:{“cost”:{“requestedQueryCost”:10,“actualQueryCost”:10,“throttleStatus”:{“maximumAvailable”:2000.0,“currentlyAvailable”:1990,“restoreRate”:100.0}}}}
so shouldn’t the product appear in Products in the store?