Я пытаюсь обновить объекты, используя конечную точку BatchRetrieveCatalogObjects (POST /v2/catalog/batch-upsert).
Когда я отправляю запрос, я получаю сообщение об ошибке
[type] => bad_request
[message] => Multi-location support is unavailable for this endpoint. Parameter `merchant_id` must correspond to a single-location account, not a business account
Как я могу обновить объекты, если есть несколько местоположений и если у элементов есть переопределения местоположения?
Есть ли другая конечная точка, которую я могу использовать?
UpsertCatalogObject (POST / v2 / catalog / object) также не работает. Та же ошибка.
Ниже приведен пример полезной нагрузки запроса:
Array
(
[idempotency_key] => 1122334455667788
[batches] => Array
(
[type] => ITEM
[id] => 5BLFIPNYBTDD5ARZYQU4K7SV
[item_data] => Array
(
[name] => Honey Mead
[description] => Mead is an adult beverage brewed exclusively with honey.
[category_id] => OIMGQF7DCO7W6SEXEMKGIJK5
)
[variations] => Array
(
[type] => ITEM_VARIATION
[id] => BEQZ6FXAJACGW55RRZBMXDEI
[item_variation_data] => Array
(
[item_id] => 5BLFIPNYBTDD5ARZYQU4K7SV
[name] => Case (24 bottles)
[pricing_type] => FIXED_PRICING
[ordinal] => 4
[price_money] => Array
(
[amount] => 11900
)
[location_overrides] => Array
(
[0] => Array
(
[location_id] => 81J6E4K21KGC9
[price_money] => Array
(
[amount] => 11900
)
[pricing_type] => FIXED_PRICING
[track_inventory] => 1
[inventory_alert_type] => LOW_QUANTITY
[inventory_alert_threshold] => 15
)
)
)
)
)
)
Дополнительные примечания для уточнения:
Я пытаюсь редактировать цену на уровне варианта или location_overrides. Я получаю сообщение об ошибке при любом вызове в конечную точку. Я думаю, что разработчики Square API не разрешают какие-либо вызовы конечной точке для каких-либо многокомпонентных местоположений. Я также не могу удалить местоположения ни на веб-сайте, ни в API. Они только позволяют скрывать локации, что я и сделал. Но ошибка все еще сохраняется.
Я попробовал конечную точку v1 и получил странные результаты. V1 и V2 используют разные вариации_id. Так что, если я передам вариант v2 вариации_id конечной точке v1, он создаст новый вариант, а не обновит его. Новый вариант затем отображает новое поле с именем catalog_v1_id. Затем, когда я пытаюсь удалить вариант на веб-сайте, он исчезает из представления веб-сайта, но все еще существует в качестве активного элемента, когда я вызываю конечную точку списка версий v2. Я думаю, что этот API имеет целый ряд ошибок и не готов к прайм-тайм.