CData Software Blog

クラウド連携のCData Software の技術ブログです。

スマレジ Driver が商品画像登録をサポートしました:CSVからの画像一括登録方法を解説

f:id:sugimomoto:20201229104055p:plain

こんにちは。CData Software Japan リードエンジニアの杉本です。

最近のアップデートでスマレジ (Smaregi)Driverが商品画像登録機能をサポートしました!

www.cdata.com

f:id:sugimomoto:20201229104321p:plain

以前からAPIそのものは提供されていたのですが、お客様から「商品画像の一括登録・更新が大変」という声があり、今回正式に対応しました。

今回はその使い方・アプローチ方法をいくつかご紹介したいと思います。

機能について

今回の商品画像登録機能は「ProductImageUpload」というストアド・プロシージャを用いて、利用することが可能です。

f:id:sugimomoto:20201229104112p:plain

少し注意したいのは、画像そのものはどこからのURLから参照できる必要がある点です。そのため、例えば予めAmazon S3やAzure Blob Storageなど、スマレジのサーバーからアクセス可能なクラウドサービス上にホスティングしておく必要があるでしょう。(ECサイトでURLをすでに持っている、などであれば手軽ですね。)

あとは対象のProductIdと紐付けるような形で以下のようにクエリを発行します。

Exec ProductImageUpload ProductId='123',ImageUrl='https://www.mywebsite.com/sample.png'

もし一括でリクエストを行いたい場合は、一時テーブルに格納した上で、リクエストを発行します。

Insert into aggregate#TEMP (ProductId,ImageUrl)values('1234','https://www.mywebsite.com/sample.png')
Exec ProductImageUpload aggregate='aggregate#TEMP'

なお、画像の登録はリクエスト時点では正常に成功したかどうかはわかりません。失敗した場合、スマレジアカウントのEmailアドレスに対して、失敗通知が送信される仕組みになっています。

CSVデータを元に、一括で画像を更新する

今回は具体的な利用方法として、ArcESBというEDI・MFTのローコードツールを使い、CSVデータを元にスマレジの画像一括登録フローを作成してみたいと思います。

www.arcesb.com

f:id:sugimomoto:20201229104121p:plain

ArcESBの詳しい使い方は以下のBlogを参照してみてください。この記事ではセットアップ方法などは省略しています。

www.cdatablog.jp

対象データは以下のようなCSVファイルで、画像データはAmazon S3に保存したものを利用しました。今回はCSVとしましたが、画像のURLさえ持っていれば、RDBでもCData DriverラインナップにあるEC系のサービスでも連携可能です。

ProductId,ProductCode,ProductName,ImageURL
5,2000001000052,ユニセックススウェット(M),https://cdatajbuilds.s3-ap-northeast-1.amazonaws.com/CDataBlog/adapters.png
8,2000001000083,ユニセックススウェット(M),https://cdatajbuilds.s3-ap-northeast-1.amazonaws.com/CDataBlog/adapters.png
10,2000001000106,チェックシャツ(S),https://cdatajbuilds.s3-ap-northeast-1.amazonaws.com/CDataBlog/adapters.png
11,2000001000113,チェックシャツ(M),https://cdatajbuilds.s3-ap-northeast-1.amazonaws.com/CDataBlog/adapters.png
12,2000001000120,チェックシャツ(L),https://cdatajbuilds.s3-ap-northeast-1.amazonaws.com/CDataBlog/adapters.png
13,2000001000137,チェックシャツ(S),https://cdatajbuilds.s3-ap-northeast-1.amazonaws.com/CDataBlog/adapters.png
14,2000001000144,チェックシャツ(M),https://cdatajbuilds.s3-ap-northeast-1.amazonaws.com/CDataBlog/adapters.png
15,2000001000151,チェックシャツ(L),https://cdatajbuilds.s3-ap-northeast-1.amazonaws.com/CDataBlog/adapters.png
16,2000001000168,プルオーバーショートスリーブシャツ(S),https://cdatajbuilds.s3-ap-northeast-1.amazonaws.com/CDataBlog/adapters.png
17,2000001000175,プルオーバーショートスリーブシャツ(M),https://cdatajbuilds.s3-ap-northeast-1.amazonaws.com/CDataBlog/adapters.png
18,2000001000182,プルオーバーショートスリーブシャツ(S),https://cdatajbuilds.s3-ap-northeast-1.amazonaws.com/CDataBlog/adapters.png
19,2000001000199,プルオーバーショートスリーブシャツ(M),https://cdatajbuilds.s3-ap-northeast-1.amazonaws.com/CDataBlog/adapters.png

f:id:sugimomoto:20201229104129p:plain

最終的に以下のようなフローを構成します。

f:id:sugimomoto:20201229104136p:plain

ArcESBのフロー作成手順

それでは実際にArcESBでフローを構成してみましょう。

まず、Fileコネクタを配置して、対象のCSVファイルが配置されているフォルダーパスを指定します。

f:id:sugimomoto:20201229104143p:plain

次にスマレジ接続が利用できる「CData」コネクタを配置して、接続情報を入力します。

f:id:sugimomoto:20201229104149p:plain

接続設定が完了したら、「インプット&アウトプット」のタブから「+」ボタンをクリックし

f:id:sugimomoto:20201229104156p:plain

「ProductImageUpload」を追加します。

f:id:sugimomoto:20201229104200p:plain

f:id:sugimomoto:20201229104205p:plain

最後にCSVデータを「ProductImageUpload」の処理をマッピングします。

今回は元データがCSVなので、「CSV Map」を配置して、以下のようにコネクタを接続しましょう。

f:id:sugimomoto:20201229104210p:plain

あとはCSV Mapの設定画面を開いて、データソースとして対象のCSVファイルを登録し、「ProductId」と「ImageUrl」をマッピングすれば準備完了です。

f:id:sugimomoto:20201229104218p:plain

実行

ArcESBは自動・手動どちらでも実行可能です。

定期的にCSVファイルが更新される場合は、Fileコネクタのオートメーション設定から受信の設定で自動化しておくことが可能です。

f:id:sugimomoto:20201229104226p:plain

手動で実行する場合は、「アウトプット」タブから「受信」ボタンをクリックすることでCSVファイルがロードされ、処理が行われるようになります。

f:id:sugimomoto:20201229104232p:plain

最終的にログ画面で、スマレジコネクタのSendリクエストが完了していればOKです。

f:id:sugimomoto:20201229104239p:plain

スマレジの画面を見てみると、以下のようにAmazon S3の画像が反映されていることを確認できました。

f:id:sugimomoto:20201229104246p:plain

おわりに

他にもスマレジドライバーは様々な機能を追加しどんどんアップデートを進めています。

もし、希望の機能が見つからない場合は、お気軽にテクニカルサポートまで問い合わせしてみてください。

CData Software Japan - サポートフォーム