Tools

Translation editing

Alongside the extended get_master_translations_v1 read (now with source values and per-store locale coverage): the bounded bulk read behind the translations grid (read), creating a missing locale/store translation (write), and copying a product's translations between stores (publish, because the interface publishes the copies). Edit translations with update_projection_attributes_v1 or bulk_patch_v1; publish the translated item with publish_master_v1.

bulk_read_translations_v1

bulk_read_translations_v1pim:read

For one store and up to 500 products or collections, read each item's source version on that store and its translations grouped by locale — each with the translation item id and the translation's per-store version (null where the cell does not exist yet: create it with create_translation_v1 before editing). Also lists the translatable fields. The bulk-edit translations grid's read.

ArgumentTypeDescription
channel_idstring, requiredThe store id.
parent_master_idsarray of string, requiredThe product or collection ids (at most 500, one type per call).

create_translation_v1

create_translation_v1pim:write

Create the missing translation of a product, collection, or metaobject entry for one locale on one store (get-or-create: an existing one is returned unchanged with 200, a new one with 201), optionally seeding translated values (non-translatable keys are ignored). Edit it afterwards with update_projection_attributes_v1 on the returned translation_projection_id, and publish the translated ITEM with publish_master_v1.

ArgumentTypeDescription
channel_idstring, requiredThe store id.
localestring, requiredThe target locale (one of the store's published locales other than its primary).
parent_master_idstring, requiredThe translated item's id.
changesobjectOptional translated values, field key → value.
  • Drafts only. Changes land in Peak PIM; nothing reaches Shopify until a publish.

copy_translations_v1

copy_translations_v1pim:publish

Copy every translation of one product from a source store to the selected target stores, locale by locale, keeping only the locales each target store has published (unsupported locales are reported as skipped). Like the interface's copy dialog the copies are PUBLISHED to the target stores as part of the call — this reaches Shopify — and the result reports per-store copied/skipped/failed locales plus the publish outcome. Products only.

ArgumentTypeDescription
idstring, requiredThe product id.
source_channel_idstring, requiredThe store to copy from.
target_channel_idsarray of string, requiredThe stores to copy to (at least one).
  • Extended timeout. 120 s per call — the operation runs server-side orchestration or a live Shopify read.
  • Reaches your stores. Annotated open-world and destructive; the in-app assistant always asks for confirmation before running it.