2022年6月21日 20:23 by takeuji
ECグループのタケウジです。
ひさびさの(はじめての?)技術ブログです。
システムフレンドでは、EC-CUBEだけでなくShopifyでのECサイト構築も行っています。
≫ EC-CUBE工房のHPはこちら
今回は、よくあるご要望の1つとして
「商品に独自の項目を追加して、CSVで一括登録したい!」
という要件を実現する方法を簡単にご紹介します。
Shopifyでは、商品名や価格、詳細情報といった標準の項目のほかに、独自のフィールドも”メタフィールド”として持たせることができます。
たとえば、商品に、”ケース”といった「単位」のフィールドを追加したり、「メーカURL」といった項目を自由に追加できたりします。
これをCSVアップロード時にも指定しようとすると、有料のアプリ・・となってしまうわけです。
実は、日本の
無料アプリもあって、こちらは使い勝手がいいです。
ただし、もともとある自社のフォーマットに合わせてアップロードしたい! となるとアプリ開発の出番です。
実装の方法としては、
GraphQLのMutaionを利用し、メタフィールドも含めた登録/更新を行います。
ただ、単純に登録しようとすると、例えばShopify内の販売チャンネルと紐付かないとか、仕様にあることないことのクセを見ながら、クエリー文を作成します。
上の場合、publishedAtを必ず指定することで、この問題をクリアできます。
クエリーができたら、今度はサーバへの配備です。アプリは自前のサーバに配備する必要があって、このあたりが当たり前ではありますがEC-CUBEと違う点です。
Herokuを使うのが手っ取り早いかもしれませんが、
今回のアプリはAWS Lambda Function URLsを使っています。
そして、ダブりますが、静的コンテンツ用にAWS Amplify Hostingにも持っていきます。
デプロイは
$ sls deploy
$ amplify publish
の2つのコマンドだけで行えます。
これで、独自のフィールドを含んだ商品を自社のフォーマットでCSVアップロードできるようになりました。
”アップロード”っといっても、実際にサーバにCSVをアップしているわけではなく、すべてクライアント側で処理し、クエリーを呼んでいます。
システムフレンドではShopifyでのECサイト構築もお手伝いしています。
お気軽にお問い合わせください。