海外のコミュニティに同様の投稿がありました。
また、私も実際にGraphQLを叩いてみて確認してみました。
質問者さまが言及されている挙動は仕様のようですね。
もし、ケースAを実行しよとするなら下記のようにする必要があるようです。
{
"input": {
"id": "gid://shopify/Customer/xxxxxxxxxxxxxxx",
"addresses": [
{
"id": {住所AのID},
"country": "{住所Bの国}",
"zip": "{住所Bの郵便番号}",
"province": "{住所Bの都道府県}",
"city": "{住所Bの市町区村}",
"address1": "{住所Bの住所1}",
"address2": "{住所Bの住所2}"
},
{
"id": {住所BのID}
}
]
}
}
ケースBの場合であれば、下記になりそうです。(こちらは検証していないです。)
{
"input": {
"id": "gid://shopify/Customer/xxxxxxxxxxxxxxx",
"addresses": [
{
"id": {住所AのID}
},
{
"id": {住所BのID},
"country": "{住所Aの国}",
"zip": "{住所Aの郵便番号}",
"province": "{住所Aの都道府県}",
"city": "{住所Aの市町区村}",
"address1": "{住所Aの住所1}",
"address2": "{住所Aの住所2}"
}
]
}
}
ご参考まで。
(キュー田辺)