FROM CACHE - jp_header

注文時の住所の文字数がオーバーしたときにShopifyFlowで通知メールを送りたい

n_ogawa3
遊覧客
19 0 6

テーマは「Dawn」を使用しています。

ShopifyのプランはBasicです。

 

配送は「ヤマト運輸」を利用しており、伝票発行はヤマトのB2システムを使っています。

(ShopifyからCSVを取得→ヤマトB2にCSVを読み込ませて伝票発行→発送しています)

 

ただ、ヤマトには以下の通り住所に文字数制限があります。

(文字数がオーバーしたままCSVを取り込むとエラーになり発送作業に支障が出ています)

都道府県(4文字以内)+市区郡町村(12文字以内)+町・番地(16文字以内)

本当は、カート内で文字数制限を設けたかったのですが、以下の記事ではプラン的に厳しそうでした。

https://community.shopify.com/c/%E7%B7%8F%E5%90%88%E7%9A%84%E3%81%AA%E3%83%87%E3%82%A3%E3%82%B9%E3%8...

 

そこで、せめて事前に文字数オーバーをスタッフ側で検知して、発送前に配送住所を修正できればと思っています。

 

具体的には、ShopifyFlowを使って、注文時の配送先住所の文字数をチェック→文字数オーバーした時にスタッフに通知(メール)を送るといったことは可能でしょうか。

可能な場合、具体的なShopifyFlowの設定内容も教えていただけると助かります。

 

※その他、もっと良い方法やアプリがあればご教示いただきたいです。

 

丸投げな質問で申し訳ないのですが、どなたか教えていただけますでしょうか。

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

 

 

1件の返信1

Qcoltd
Shopify Partner
1049 428 412

@n_ogawa3 様

 

Shopify Flowでは下記のようになるかと思います。

screenshot_20240402_04.png

 

Run codeを使った方がスマートなフローになりそうですが、まだ早期アクセスの機能であるため、昔ながらのアプローチで組んでみました。

https://help.shopify.com/ja/manual/shopify-flow/reference/actions/run-code

 

 

1. 注文情報にメタフィールド「custom.is_more_than_17_cahrs」を真偽値で、準備します。

2. Create Orderdをトリガーにします。

3. Update order metafieldsで「custom.is_more_than_17_cahrs」を更新します。

 

Valueには下記を設定します。

 

{%- assign prefecture = order.shippingAddress.province | replace: 'Aichi', '愛知県' | replace: 'Akita', '秋田 県' | replace: 'Aomori', '青森県' | replace: 'Chiba', '千葉県' | replace: 'Ehime', '愛 媛県' | replace: 'Fukui', '福井県' | replace: 'Fukuoka', '福岡県' | replace: 'Fukushima', '福島県' | replace: 'Gifu', '岐阜県' | replace: 'Gunma', '群馬県' | replace: 'Hiroshima', '広島県' | replace: 'Hokkaidō', '北海道' | replace: 'Hyōgo', '兵庫県' | replace: 'Ibaraki', '茨城県' | replace: 'Ishikawa', '石川県' | replace: 'Iwate', '岩手県' | replace: 'Kagawa', '香川県' | replace: 'Yamanashi', '山梨県' | replace: 'Yamaguchi', '山口県' | replace: 'Kōchi', '高知県' | replace: 'Kumamoto', '熊本県' | replace: 'Kyōto', '京都府' | replace: 'Mie', '三重県' | replace: 'Yamagata', '山形県' | replace: 'Miyazaki', '宮崎県' | replace: 'Nagano', '長野県' | replace: 'Nagasaki', '長崎県' | replace: 'Nara', '奈良県' | replace: 'Niigata', '新潟県' | replace: 'Ōita', '大分県' | replace: 'Okayama', '岡山県' | replace: 'Okinawa', '沖縄県' | replace: 'Ōsaka', '大阪府' | replace: 'Saga', '佐賀 県' | replace: 'Saitama', '埼玉県' | replace: 'Shiga', '滋賀県' | replace: 'Shimane', '島根県' | replace: 'Shizuoka', '静岡県' | replace: 'Tochigi', '栃木県' | replace: 'Tokushima', '徳島県' | replace: 'Tottori', '鳥取県' | replace: 'Toyama', '富山県' | replace: 'Tōkyō', '東京都' | replace: 'Miyagi', '宮城県' | replace: 'Wakayama', '和 歌山県' | replace: 'Kanagawa', '神奈川県' | replace: 'Kagoshima', '鹿児島県' -%}
{%- assign prefecture_num = prefecture | size -%}
{%- assign city_num = order.shippingAddress.city | size -%}
{%- assign address1_num = order.shippingAddress.address1 | size -%}
{%- assign count = 0  | plus: prefecture_num | plus: city_num | plus: address1_num -%}
{%- if count > 16 -%}
true
{%- else -%}
false
{%- endif -%}

 

これで、都道府県、市区町村、住所の文字数の合計が17文字以上の時に、custom.is_more_than_17_cahrsがTrueに、そうでなければFalseに設定されます。

 

4. メタフィールドの更新に時間がかかることがあるため、Waitで1分待機します。

5. custom.is_more_than_17_cahrsがTrueかどうか判定します。

このような設定になります。

screenshot_20240402_05.png

 

6. custom.is_more_than_17_cahrsがTrueであれば、Send internal emailでメールを送信します。

 

以上となります。

 

もっと簡単に設定できるアプリもあるかもしれませんが、

取り急ぎ、Shopify Flowでの実装方法をご紹介いたしました。

※十分に検証していないので、なにか不具合があるかもしれません。

 

ご参考まで。

(キュー田辺)

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