Shopifyの顧客に対して2つ以上の住所が登録されている状態で住所が空欄になるケースについて

https://community.shopify.com/c/shopify-apis-and-sdks/graphql-admin-api-updating-customer-addresses-bug/td-p/477246

海外のコミュニティに同様の投稿がありました。

また、私も実際に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}"
      }      
    ]
  }
}

ご参考まで。

(キュー田辺)