[WIP][Shopify] API 2026-01 uptake #6244
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Shopify API 2026-01 Upgrade
Summary
This PR upgrades the Shopify Connector to API version 2026-01, addressing deprecations, new features, and breaking changes announced in the Shopify changelog.
Changes
Inventory Sync (Breaking Change)
inventorySetOnHandQuantitieswithinventorySetQuantitiesusingname: "on_hand"andreason: "correction"@idempotent(key: "...")directive to inventory mutations for safe retrieschangeFromQuantity: nullto opt-out of compare-and-swap (BC is the authoritative source)IDEMPOTENCY_CONCURRENT_REQUESTorCHANGE_FROM_QUANTITY_STALEerrors, then log to skipped records50,000 Inventory Quantities Limit
AddProductVariantsto respect the new limit of 50,000 inventory quantities per mutationGetMaxVariantsPerBatch()calculates max variants based on50000 div LocationCountGetDefaultLocationCount()andGetMaxVariantsPerBatch()internal for testabilityBulk Operations
currentBulkOperationquery (now usesGetBulkRequestby ID)ShpfyGQLBulkOperations.Codeunit.aland removedGetCurrentBulkOperationenum valueReturn Reasons
returnReasonenum withreturnReasonDefinition { name handle }Return Reason NameandReturn Reason Handlefields toShpfy Return LinetableReturn Reasonenum field as obsoletePayouts
externalTraceIdfield to payout queries andShpfy PayouttableImportPayout()internal for testabilityProduct Variants
taxCodefield from variant queries and mutationsTax Codefield as obsolete onShpfy Varianttable and pageMetafields
article_referencemetafield type withShpfyMtfldTypeArticleRef.Codeunit.alTest Changes
externalTraceIdtestcurrentBulkOperationhandlerBreaking Changes
inventorySetOnHandQuantitiesmutation replaced - no action required for usersreturnReasonfield deprecated - users should referenceReturn Reason NameinsteadtaxCodefield deprecated - users relying on this field should migrate awayReferences
Fixes AB#617321