FROM CACHE - jp_header
このコミュニティはピアツーピアサポートに移行しました。Shopify サポートは今後、このコミュニティへのサービスを提供いたしません。これからもぜひ、他のマーチャントやパートナーとつながり、サポートし合い、経験を共有してください。 当社の行動規範に違反する行動や削除を希望するコンテンツがありましたら、引き続きご報告ください

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

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

WL1
Shopify Partner
2 0 0

Shopifyの顧客に対して2つ以上の住所が登録されている状態で、
customerUpdate(2021-10版)のGraphQLにて住所を更新しようとすると、
以下2パターンの事象が見られます。

 

A:住所がすべて削除される

pasted-2022.08.08-17.21.07 (1).png

(ケース)

住所A(デフォルト住所)
住所B

★住所Bのidに対して住所Aの内容で更新

Shopifyの住所がすべて削除される

 

B:重複エラーになる

(ケース)

住所A(デフォルト住所)
住所B

★住所Aのidに対して住所Bの内容で更新

重複エラーになる

 

どちらも重複エラーになるか、指定した住所だけ残る形で住所が更新されてほしいのですが、

住所がすべて削除されるパターンはAPIの仕様でしょうか?

2件の返信2

Qcoltd
Shopify Partner
1288 511 493

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

 

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

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

 

ご参考まで。

(キュー田辺)

株式会社Q (キュー)
グラフィックデザイン、アパレル事業、Web制作など色々やっている渋谷区代々木の会社です。ShopifyでのECサイトの運営・開発も行なっています。
私たちについて: https://web.q-co.jp/ テックブログ: https://techlab.q-co.jp/
WL1
Shopify Partner
2 0 0

情報をいただきありがとうございました!

参考にさせていただきます!