Hello Make.com Community,
I’m building an automation scenario that integrates Dropbox, Printify, and Etsy to create Print on Demand posters. While most of the scenario functions as expected, I am encountering a persistent issue with the JSON formatting required by the Etsy API, specifically when trying to modify an Etsy listing with multiple color variants that are linked to Printify product via unique SKUs.
Goal:
My aim is to create Etsy listings where each product variant, corresponding to a different color, links back to its specific product on Printify. The challenge lies in structuring the JSON correctly to include multiple color variants per listing according to Etsy’s API requirements.
Issue:
The JSON I am currently generating is not accepted by Etsy’s API. Based on the error message received, there appears to be a problem with the structure of my JSON, particularly with how certain keys are nested or formatted. The differences are obvious from the working JSON example below and the non-working one that is output from my Create JSON module. (I dont have the experience to fix it though)
Error Message from Etsy:
“Array contains invalid keys: price, values, quantity, scale_id, value_ids, is_enabled”
This indicates that my JSON structure includes keys in incorrect locations or contexts.
Current JSON Format (Non-Working):
{
“products”: [
{
“sku”: “33657885355821525247”,
“price”: “69”,
“values”: “Red”,
“quantity”: “999”,
“scale_id”: “1”,
“value_ids”: “101”,
“is_enabled”: “true”,
“property_id”: “1”,
“property_name”: “Color”
},
{
“sku”: “18410885311790648307”,
“price”: “69”,
“values”: “Orange”,
“quantity”: “999”,
“scale_id”: “1”,
“value_ids”: “101”,
“is_enabled”: “true”,
“property_id”: “1”,
“property_name”: “Color”
},
{
“sku”: “36083950315634123334”,
“price”: “69”,
“values”: “Blue”,
“quantity”: “999”,
“scale_id”: “1”,
“value_ids”: “101”,
“is_enabled”: “true”,
“property_id”: “1”,
“property_name”: “Color”
},
{
“sku”: “26944425828331204527”,
“price”: “69”,
“values”: “Green”,
“quantity”: “999”,
“scale_id”: “1”,
“value_ids”: “101”,
“is_enabled”: “true”,
“property_id”: “1”,
“property_name”: “Color”
},
{
“sku”: “82358702278640520354”,
“price”: “69”,
“values”: “Grey”,
“quantity”: “999”,
“scale_id”: “1”,
“value_ids”: “101”,
“is_enabled”: “true”,
“property_id”: “1”,
“property_name”: “Color”
}
],
“property_id”: [
1
],
“sku_on_property”: [
1
],
“price_on_property”: [
1
],
“quantity_on_property”: [
1
]
}
Expected JSON Format (Working):
{
“products”: [
{
“sku”: “NEW_SKU_1”,
“property_values”: [
{
“property_id”: 1,
“value_ids”: [
101
],
“scale_id”: 1,
“property_name”: “Color”,
“values”: [
“Variant Name Here - COLOR 1”
]
}
],
“offerings”: [
{
“price”: 69,
“quantity”: 999,
“is_enabled”: true
}
]
},
{
“sku”: “NEW_SKU_2”,
“property_values”: [
{
“property_id”: 1,
“value_ids”: [
102
],
“scale_id”: 1,
“property_name”: “Color”,
“values”: [
“Variant Name Here - COLOR 2”
]
}
],
“offerings”: [
{
“price”: 79,
“quantity”: 999,
“is_enabled”: true
}
]
},
{
“sku”: “NEW_SKU_3”,
“property_values”: [
{
“property_id”: 1,
“value_ids”: [
103
],
“scale_id”: 1,
“property_name”: “Color”,
“values”: [
“Variant Name Here - COLOR 3”
]
}
],
“offerings”: [
{
“price”: 89,
“quantity”: 999,
“is_enabled”: true
}
]
},
{
“sku”: “NEW_SKU_4”,
“property_values”: [
{
“property_id”: 1,
“value_ids”: [
101
],
“scale_id”: 1,
“property_name”: “Color”,
“values”: [
“Variant Name Here - COLOR 4”
]
}
],
“offerings”: [
{
“price”: 69,
“quantity”: 999,
“is_enabled”: true
}
]
},
{
“sku”: “NEW_SKU_5”,
“property_values”: [
{
“property_id”: 1,
“value_ids”: [
101
],
“scale_id”: 1,
“property_name”: “Color”,
“values”: [
“Variant Name Here - COLOR 5”
]
}
],
“offerings”: [
{
“price”: 69,
“quantity”: 999,
“is_enabled”: true
}
]
}
],
“property_id”: [
1
],
“price_on_property”: [
1
],
“quantity_on_property”: [
1
],
“sku_on_property”: [
1
]
}
Steps I’ve Tried:
- I have used array aggregators and JSON creators in Make to structure the output.
- I’ve adjusted the mappings between variables and JSON fields.
Screenshots:
- I will include a screenshot of an abridged version of my workflow with sample data focusing on the JSON creation and the API posting to Etsy.
Could anyone guide me on how to correct the JSON structure to fit Etsy’s API requirements? Insights, examples, or any form of help would be greatly appreciated!
Thank you!