I’m using the Square Nodejs api to get a list of all items in the catalog. In my simple data set I have two locations and a modifier that contains different price points for each location.
In this simple case… Bacon… the original amount of the modifier is present in the JSON however the Location Overrides node is missing that contains the adjusted price for the two locations.
Any idea how to get this data returned?
{
"type": "MODIFIER_LIST",
"id": "RZVLVY3XXXXXXXXPXXXXXX",
"updatedAt": "2024-03-20T19:16:34.298Z",
"version": "1710962194298",
"isDeleted": false,
"presentAtAllLocations": true,
"modifierListData": {
"name": "Hot Dog Modifiers",
"ordinal": 1,
"selectionType": "MULTIPLE",
"modifiers": [
{
"type": "MODIFIER",
"id": "F4WXXXXXXXXBIZAWZXXXXXX",
"updatedAt": "2024-03-20T19:16:34.298Z",
"version": "1710962194298",
"isDeleted": false,
"presentAtAllLocations": true,
"modifierData": {
"name": "Bacon",
"priceMoney": {
"amount": "200",
"currency": "USD"
},
"ordinal": 1,
"modifierListId": "RZVLVY3XXXXXXXXPXXXXXX"
}
}
]
}
}
They will be listed in the location_overrides
.
{
"object": {
"type": "MODIFIER_LIST",
"id": "RZVLVY3W7PYI6VLJ7PK6ZLSS",
"updated_at": "2024-03-20T19:16:34.298Z",
"created_at": "2024-03-20T18:32:36.197Z",
"version": 1710962194298,
"is_deleted": false,
"present_at_all_locations": true,
"modifier_list_data": {
"name": "Hot Dog Modifiers",
"ordinal": 1,
"selection_type": "MULTIPLE",
"modifiers": [
{
"type": "MODIFIER",
"id": "F4W57OQ55JYBIZAWZXQ6ERUB",
"updated_at": "2024-03-20T19:16:34.298Z",
"created_at": "2024-03-20T18:32:36.197Z",
"version": 1710962194298,
"is_deleted": false,
"present_at_all_locations": true,
"modifier_data": {
"name": "Bacon",
"price_money": {
"amount": 200,
"currency": "USD"
},
"on_by_default": false,
"ordinal": 1,
"modifier_list_id": "RZVLVY3W7PYI6VLJ7PK6ZLSS",
"location_overrides": [
{
"location_id": "L7VB7HXHSW01Y",
"price_money": {
"amount": 250,
"currency": "USD"
}
},
{
"location_id": "LG68M5496QKZM",
"price_money": {
"amount": 225,
"currency": "USD"
}
}
]
}
}
]
}
}
}
Thanks for the reply. That is exactly where I would expect them to be however the call that I’m making does not return the location_overrides.
let { catalogApi } = client;
let response = await catalogApi.listCatalog();
The JSON in my initial post does not contain that location_overrides node… Is there something that I need to add to the listCatalog call?
I’m using the latest version of the Node.js package (v35.1.0). Is it possible that these location_overrides node is missing from that implementation?
The team is looking into this. The location_override
are being returned with REST calls but they’re not being returned in the SDK response.
Thank you Bryan. I will see if we can implement a rest call in our API in the meantime.
Were looking into why its not being returned.
How did you create the overrides? Was it with our APIs or the Dashboard?
We created the overrides with the dashboard to simulate the way our customers make changes to their catalog.
Do you have any idea if any progress has been made on this issue?
Bryan-Square:
RZVLVY3W7PYI6VLJ7PK6ZLSS
@Bryan-Square I just updated to the latest version (36) and the location_overrides is not being brought in for the MODIFIER_LIST. DO they have an ETA on a fix?
We are seeing the location_overrides
on our end. How exactly are you creating them. It appears that the structure of them is what’s causing the issue.
We are just using the browser based Square Dashboard to create the modifier, adding a location override for the price but the data is not available in the getCatalog call we make from the Nodejs SDK. You mentioned it was visible in the REST calls however this data is still not being returned from the SDK.