Cart Attributeで取得した項目をFlowで注文のメタフィールドに入れたい

質問させていただきます。

CartAttributeで「お届け希望日」と「希望時間帯」を設置し、Order noteに取得しています。

時期限定の商品を扱っており、選択できるお届け日が2日しかないため、日付もdateではなくプルダウン選択にしています。

この2つをShopify Flowを使って注文のメタフィールドに格納したいと思っております。

目的としては、data champでCSV抽出の項目へ含めたいからです。

(cart attributeで取得した項目をそのまま抽出できないため)

こちらの他質問などを見て設定を試みていますが、うまくいきません。

Flowの実行結果で「条件はTrue」となるので条件設定は(おそらく)できているのだろうと思っているのですが、アクションがエラーになってしまいます。

原因と正しい設定方法をご教示いただければ幸いです。

何卒よろしくお願いいたします。

@suginishi

Cart Attributeを利用されているとのことなので、order.noteには、お届け日の情報が入っていないのではないでしょうか?

動作検証はできていませんが、下記ではどうでしょうか?

{%- for attribute in order.attributes -%}
{%- assign attributeKey = attribute | first -%}
{%- if attributeKey contains 'お届け日' -%}
{{ attribute | last }}
{%- endif -%}
{%- endfor -%}

また、

「お届け日」と「お届け希望日」のどちらが正しいのかも気になります。

ご参考まで。

(キュー田辺)

キュー 田辺さま

ご回答誠にありがとうございました。

ご教示いただいたものをValueに差し替えてみたところ、添付のようにエラーが出てしまい設定ができませんでした。

(「お届け希望日」が正しかったです。)

Cart attributeのコードは添付2のように書いています。

注文完了画面、注文完了メールには問題なく書き出せていますが、

メタフィールドへの書き出しだけ上手く行かず躓いております。

何度も申し訳ありませんがお知恵をお借りできれば幸いです。

何卒よろしくお願いいたします。

@suginishi

検証してみたところ、

Shopify Flowの中では、

order.attributesではなく、

order.customAttributesのようでした。

ですので、下記はどうでしょうか?

{%- for customAttributes_item in order.customAttributes -%}
{%- if customAttributes_item.key contains 'お届け希望日' -%}
{{ customAttributes_item.value }}
{%- endif -%}
{%- endfor -%}

(キュー田辺)

キュー 田辺さま

ご教示いただいた方法で、無事にメタフィールドの更新flowが成功しました。

ありがとうございます!本当に助かりました。

1 Like