IT仕事 Shopify

難解なAPIを使わずにShopifyの注文データをAccessに取り込む

投稿日:2021年10月12日 更新日:

Shopify側

・Matrixfyアプリをインストールする。
・Matrixfyはデモプランでも最大10件ダウンロードできる。スケジュールタスクは何個でも作成できるので、例えば、コンビニ知らはい、銀行振り込み、代引きの3つのタスクを作れば、最大30件を一度にダウンロードできる。
・Matrixfyの設定により、定期的に注文ファイルをアプリ用のWebフォルダに作成してくれる。例えば1時間ごとに生成するようにする。リンクはランダムな英数字混じりになっているために容易に推測されないものになってはいるし、たしかShopifyアプリのディレクトリは外部から検索できないようになっているので、ある程度安全性は高いと思う。
・例えば自分のリンクは「・・・export_order_d.csv?job=69934904&kind=exported」となっているが「?」以降は省いて「・・・export_order_d.csv」とする。こうしておかないと、最新状態が取得できない。

参考:
Shopify(Matrixify)でスケジュール化したJobのキャンセル – Home and Abroad

PowerShell側

・Shopifyのダウンロードリンクを、ファイルとして保存するPowerShellの処理ファイル(例えばGetCsv.ps1)を作る。
・処理ファイルには、Shopify(Matrixify)の定期更新で生成される注文ファイルを、指定フォルダにダウンロードする処理を書く。自分は、社内のファイルサーバのディレクトリを指定した。

参考:
windowsのコマンド(DOS/PowerShell)でファイルをダウンロードする方法について | あいしんくいっと

Access側

・上記で作成したPowerShellファイル「GetCsv.ps1」をAccessのフォームに配置したボタンで呼び出すことで、CSVが最新化されるようにする。
・自分はそのCSVファイルをリンクテーブル化し、他の処理でクエリから呼び出して利用している。

参考:
【VBA】PowerShellファイルを同期実行する | 現場で使える! Excel/VBA実践ガイド

それにしてもすごいぞ、Matrixfy! 最近、Matrixifyが神に見えてきています。

-IT仕事, Shopify

執筆者:

関連記事

no image

VBA-JSONはダメだったがPowerQueryはよかった

オンラインショップの在庫管理目的で、業務システムを動かしているAccessかExcelで、何とかしてWebの商品マスターAPIのデータを取ってきたい。 最初、VBA-JSONというのを使えばいいのかな …

JQueryでカレンダー入力機能(先日の続き)

・現在はテキストボックスをクリックしたら表示されるカレンダー。それをクリックせずとも出しっぱなしにしたものも一つ欲しい。クリック版も残す。 ・「在庫僅少」「注文不可」をわかりやすく表示したい。管理画面 …

no image

FabricJSについて調べてみた。

ベースは、こちらのブログで公開されていたコード。深く感謝! Fabric.jsを使ってLGTM画像を作る | KRAY Inc ページ下にあるリポジトリよりファイルをダウンロードさせていただき、先日イ …

no image

Photoshopでストライプを使うときに、いいもの発見

ベーシックなストライプのPhotoshopパターン 460個セットを作りました : 460 Basic Stripe Set | Arch これをパターン登録しておき(最初だけ、PSP上に解凍したパタ …

no image

秀丸マクロで文字の折り返しを最大

今まで秀丸マクロでできないと思っていた、文字の折り返しを最大にする操作と、その後カーソルを移動させる操作が、実はできることがわかった。 自分のケースだと、 config “xAutoAdj …