Liquid、JavaScriptなどに関する質問
タイトルの通り、admin rest apiを利用して customer metafieldを更新したいです。
エンドポイント | https://{{ shop name }}/admin/api/2023-01/customers/{{ customer.id }}.json |
Webhookのバージョン | 2023-01 |
Admin APIアクセススコープ | write_customers、 read_customers |
const requestHeaders = { 'X-Shopify-Access-Token': accessToken, 'Content-Type': 'application/json', }; const Payload = { customer: { first_name, last_name, metafields: [ { key: metafieldKey_01, value: newValue, value_type: 'single_line_text_field', namespace: metafieldNamespace_01, }, { key: metafieldKey_02, value: newValue, value_type: 'single_line_text_field', namespace: metafieldNamespace_02, }, ], }, }; const updateCustomer = (payload) => { fetch(ApiUrl, { method: 'PUT', headers: requestHeaders, body: JSON.stringify(payload), }) .then((response) => response.json()) .then((data) => console.log(data)) .catch((error) => console.error(error, payload)); };
解決済! ベストソリューションを見る。
成功
最近解決したので、返信させていただきます。
メタフィールドを作成すると、ユーザー x メタフィールド ごとに固有のIDが生成されるので、それを一緒に送ると更新されました。
注意点は、メタフィールドの定義IDではなく、各ユーザーに紐づいたメタフィールドIDになります。
このIDを画面上で確認するのは難しいので、liquid などでユーザーのメタフィールドを表示させれて合わせてIDを出すとわかるかと思います。
{
id: ${number}
key: metafieldKey_02,
value: newValue,
value_type: 'single_line_text_field',
namespace: metafieldNamespace_02,
},
SIN_88 様
お世話になっております。
customerのメタフィールドの更新ですが、以前私もやったことがありました。
そのとき、メタフィールド内の更新できるときとできないときがありましたので、ご参考までに。
・更新できるとき
→メタフィールドが空のとき、更新してデータをいれることができました。
・更新できないとき
→メタフィールドになにかの値が入っているとき、更新できませんでしたが、200のレスポンスが返ってきました。
直接Shopifyに確認はしておりませんが、上記のような仕様かなと思いました。
この仕様からメタフィールドが使えなかったので、customer.noteとcustomer.tagsで代用しました。
なにかヒントになれば幸いです。
株式会社フルバランス様
ご返信ありがとうございます!
ご回答の通り最初からの状態でAPIを叩いたところ確かに更新ができ、二度目はできない状態になりました。
こちらの仕様の旨よくわかりませんが現状理解いたしました。
ありがとうございました!
成功
最近解決したので、返信させていただきます。
メタフィールドを作成すると、ユーザー x メタフィールド ごとに固有のIDが生成されるので、それを一緒に送ると更新されました。
注意点は、メタフィールドの定義IDではなく、各ユーザーに紐づいたメタフィールドIDになります。
このIDを画面上で確認するのは難しいので、liquid などでユーザーのメタフィールドを表示させれて合わせてIDを出すとわかるかと思います。
{
id: ${number}
key: metafieldKey_02,
value: newValue,
value_type: 'single_line_text_field',
namespace: metafieldNamespace_02,
},
サポートの選択肢が増えていく中、最適となる選択の判断が難しくなっているかと存じます。今回は問題の解決に最適となるサポートの選択方法を、紹介させて頂きます。 選択肢のご紹介...
By Mirai Oct 6, 20242023年初頭、Shopifyペイメントアカウント、及びShopifyアカウント全体のセキュリティを強化する為の変更が適用されました。ユーザーのアカウントセキュリティを強化す...
By Mirai Sep 29, 2024概要: 年末/年明けは、消費者が最もショッピングを行う時期の一つです。特に、ブラックフライデー・サイバーマンデー(BFCM)は、世界中で注目される大規模なセールイベントであ...
By JapanGuru Sep 25, 2024