こんにちは。CData Software Japan のProduct Specialist の菅原です。
この記事は、アステリア Advent Calendar 2022 19日目の記事になります。
はじめに
2022年はさまざまな物の値上げラッシュが続きましたね。消費者としては厳しいですが・・・。
販売サイトを運営している店舗の方も、商品の価格変更が頻繁に発生しているのではないかと思います。
そこで今回はASTERIA Warp とCData JDBC Driver for Shopify を使用してShopify の商品の価格を変更してみようと思います。
シナリオ
使用したツール
・ASTERIA Warp
・CData JDBC Driver for Shopify ※30日間の無償トライアルがあります
事前準備
①CData JDBC Driver for Shopify をインストール
https://www.cdata.com/jp/drivers/shopify/jdbc/からダウンロードしてインストールします。
②「cdata.jdbc.shopify.jar」と「cdata.jdbc.shopify.lic」をASTERIA Warp に配置
「C:\Program Files\CData\CData JDBC Driver for Shopify 2022J\lib」にある
・「cdata.jdbc.shopify.jar」
・「cdata.jdbc.shopify.lic」
を「C:\asteriahome5\system\lib\drivers」にコピーして配置します。
③「cdata.jdbc.shopify.jar」でShopify へ接続できるか確認
「cdata.jdbc.shopify.jar」を起動して、Shopify へ接続するために必要な項目を設定します。
その後、「接続テスト」をクリックしてShopify へ接続できるか確認します。
Shopify に接続できたら、水色枠の「接続文字列」をコピーして、メモしておきます。
※⑤コネクション作成のURLに設定するため
<参考>
Shopify への認証方法は下記のヘルプを参照してください。
CData JDBC Driver for Shopify - 接続の確立
④ASTERIA Warp を再起動
ASTERIA Warp を再起動します。
⑤RDBのコネクション作成
ASTERIA のフローデザイナーの左下の「コネクション」タブで「コネクションの作成」をクリックします。
接続種別:「RDB」
名前:「Shopify」
として設定します。
ASTERIA のフローデザイナーの右上の「基本」を下記に設定します。
・データベースタイプ:「Other」
・ドライバー:「cdata.jdbc.shopify.ShopifyDriver」
・URL:③の「cdata.jdbc.shopify.jar」で接続が成功した接続文字列を設定
Shopify に接続できるか「接続テスト」を行います。
接続が成功すると下記のような画面が表示されます。
以上で、事前準備の完了となります。
フロー
それでは実際にフローを作成しましょう。
今回作成したフローは以下になります。
とってもシンプルなフローです!!
ターゲットの商品たち
RDBGet1
商品名と商品の価格を取得するために、「Products」テーブルと「ProductVariants」テーブルを結合しました。
結合条件はProducts.Id = ProductVariants.ProductId です。
Mapper1
商品の「野球ボール」「テニスボール」のそれぞれを別の係数で計算させるためレイヤーを追加しました。
レイヤー1
レイヤー1の条件式として「野球ボール」のみとしました。
$record.Title="野球ボール"
価格は現在の商品の価格×1.1となるように計算させて、計算後の価格へ設定します。
レイヤー2
レイヤー2の条件式として「テニスボール」のみとしました。
$record.Title="テニスボール"
価格は現在の商品の価格×0.9となるように計算させて、計算後の価格へ設定します。
RDBPut1
商品の価格を更新するために、「ProductVariants」テーブルのKey項目「Id」と「Price」を選択します。
実行する処理を「Update」に変更します。
フロー実行
では実際に価格が変更されているか確認してみましょう。
以下のようにそれぞれの価格が正しく計算されて、変更できました。
おわりに
ASTERIA Warp とCData JDBC Driver for Shopify を使用してShopify の商品の価格を変更してみました。
ASTERIA Warp を使用することで簡単にShopify への更新フローが作成できてしまいました。
今回はMapper1 内で計算した値に変更しましたが、実際にはExcelファイル等で管理した商品マスタを参照して、更新するようなフローを作成するといいのではないでしょうか。
本記事では価格の変更をメインとしましたが、その他にもShopify の各値を取得・変更・削除できますので、試してみてください。