IT仕事 AI PowerAutomate

Power Automate DesktopからShopifyのAPI経由で注文の支払状況を得る

投稿日:

やりたかったこと

Power Automate Desktopから、ShopifyのAPIにアクセスして、特定の注文番号の支払い状況が済んでいるかを知りたい。

PADとArigatoAutomateionの組み合わせはNG

最初、ArigatoAutomateionで試してみた。
なぜなら、以前に作って今も正常に動いているPADのフローでは、Arigatoを使っていたから、
ちなみにこのフローは、PADでArigatoのAPIをたたき、Arigato側では、それをトリガーに何かをする、という仕組みで、値を持ってくるとか返すとか、そんな仕組みはない。

最初は簡単にできるかと思っていたが、難しかった。
ChatGPTやGeminiで半日トライしても、うまくいかなかった。
作業日の当日夜に、あきらめた。

翌日、Antigravity(AI)で最初からやり直してみたところ、以下の回答を得た。

Arigato Automation の Webhook URL は、リクエストを受け取った瞬間に「ワークフローをキュー(実行待ち)に登録しました」という確認の返答(workflow_queued)をして即座に通信を切る仕様になっています。

そのため、Arigato が Shopify からデータを取得する 前に PAD への通信が終わってしまっており、GraphQL の結果が PAD に届いていません。

PADとShopifyアプリの組みあわせはOK

そして、Shopifyのカスタムアプリを使うやり方を提案してきた。

解決案 ①:Shopify API を PAD から直接呼び出す(最も推奨・確実)
Arigato Automation を挟まず、PAD から直接 Shopify の API を呼ぶことで、1〜2秒で即時に displayFinancialStatus を取得できます。

URL: https://【ストア名】.myshopify.com/admin/api/2024-07/graphql.json

この後は、うまくいったスクショ。

PAD側

要求本文はわかりにくいので、テキストで書いておく。

{
“query”: “{ orders(first: 1, sortKey: CREATED_AT, reverse: true, query: \”name:\’#%key%\’\”) { edges { node { id name createdAt displayFinancialStatus fullyPaid unpaid } } } }”
}

Shopify側(カスタムアプリ)

実行結果(PAD)

PAIDなら支払済み、PENDINGなら未払い(決済保留中)となる。

-IT仕事, AI, PowerAutomate

執筆者:

関連記事

no image

facebookアプリに初挑戦

そろそろ、手を付けないとやばいかもと、重い腰をあげることにした。 まずは早速、ディベロッパー登録でつまずいた。 登録するには携帯メール(docomoなどのキャリアメール)が必要なのだが、自分はPHSし …

no image

TWSNMPマネージャを使ってみた。

大変素晴らしい、ネットワークツール(全機能の1/100も使わない私が言うのもなんだが) TWSNMPマネージャ :::Twise Labo, Inc. 一通り使ってみた所感など。 ・IPアドレスで範囲 …

no image

MDTM対応FTPクライアント

Webサーバにあるファイルをほとんど全て上書きしたい。 しかし、その中に最近お客様が書き換えたファイルが2・3あり、それは対象外。 しかししかし、量に埋もれているのでファイル名で探すのが骨。更新日で探 …

no image

以前から興味のあったCreateerというサービスを試用中。

https://beta2.createer.com/Wordpress 公式サイトにある動画を見れば、大体イメージが掴めると思うけど、テンプレート化されたデザインコンテンツを選択してさらに自身でカス …

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

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