HTTPリクエストを送信する
このページはSep 08, 2024に印刷されています。最新のバージョンについては、https://help.shopify.com/ja/manual/shopify-flow/reference/actions/send-http-requestをご覧ください。
[HTTPリクエストを送信する] アクションが実行されると、ワークフローをウェブサーバーまたはURLに接続し、HTTPリクエストを送信します。
Flowは、HTTPリクエストを送信してから最長で30秒間、HTTPレスポンスコードによる応答を待ちます。30秒が経過しても応答が得られない場合、Flowはアプリとの接続を切断します。後ほど、そのリクエストは再試行されます。
フィールド
[HTTPリクエストを送信する] アクションには、以下のフィールドが含まれます。
フィールド | 説明 |
---|---|
HTTPメソッド | 送信するHTTPリクエストのメソッド。[HTTPリクエストを送信する] アクションでは、以下のメソッドをサポートしています。
|
URL | HTTPリクエストが送信されるサーバーのURL。 |
ヘッダー | HTTPリクエストのキーと値のペアです。複数のキーと値のペアを入力できます。 |
ボディ | サーバーに送信するコンテンツ。 |
トリガー
[HTTPリクエストを送信する] アクションは、どのワークフローでも使用できます。
ストアの例
Shopify GraphQL Adomin APIを呼び出す
この例では、Flowを使用し、productUpdate APIを呼び出して商品名を編集します。
開始する前に、以下の手順を実行してください。
-
write_products
スコープを持つカスタムアプリを設定してインストールします。この例では、Admin APIアクセストークンを使用してAPIを呼び出します。
次に、Flowの以下の手順に従います。
- [商品のステータスが更新されとき] トリガーを選択すると、商品のステータスを変更してこのワークフローをテストできます。
- ワークフローに [HTTPリクエストを送信する] を追加して、トリガーに接続します。
- [HTTPリクエストを送信する] ステップをクリックして、設定パネルを開きます。
-
[HTTPメソッド] フィールドに、
POST
を入力します。 -
[URL] フィールドに、ショップドメインと目的のAPIバージョンに代わる
https://admin.shopify.com/store/shopname/api/2023-01/graphql.json
を入力します。 -
[ヘッダー] セクションで、最初のステップで取得した
X-Shopify-Access-Token
の [キー] とYOUR_API_SECRET_KEY
の [値] を入力します。 -
[ヘッダー] セクションで、
Content-Type
[キー] とapplication/json
の [値] を含む2番目のヘッダーを入力します。 - [本文] セクションで、以下の情報を入力します。
json
{"query": "mutation { productUpdate(input: {id: \"{{ product.id }}\", title: \"{{product.title}}-edited\"}) { product { id } } }"}
- このコードでは、タイトルの末尾に
-edited
を追加します - スペースと改行は、Liquidエディタにとって意味のあるものなので、スペースの追加・削除は行わないでください。また、Liquidを出力する場合を除き、
{{
や}}
などの括弧は、Liquid変数専用であるため、折りたたまないでください。
- 残りのワークフローを設定して有効にしてください。
- 商品のステータスを [下書き] から [アクティブ] に変更するか、またはその逆に変更してテストします。
外部のAPIを呼び出す
このワークフロー例では、注文の支払いが行われるとPOST HTTPリクエストがサーバーに送信されます。
レスポンスコード
次の表には、Flowで応答を受信した後、HTTPレスポンスコードをどのように処理するかが説明されています。
HTTPレスポンスコード | Flowがレスポンスコードを処理する方法 |
---|---|
2XXまたは3XXリクエスト成功 | FlowはHTTPリクエストを成功としてマークし、ワークフローで後続のアクションを実行します。 |
429または5XXエラー | Flowは、別のレスポンスコードを受け取るまで、またはタイムアウトするまで、最大24時間、アクションを自動的に再試行します。 | その他のレスポンスコード | アプリが、この表に記載されていないコードを返す場合、またはアクションの再試行中にタイムアウトする場合、FlowはHTTPリクエストを失敗としてマークします。それ以降のワークフローアクションは実行されません。 |
制限
[HTTPリクエストを送信する] アクションには、以下の制限があります。
- このアクションは、ミューテーションの結果として、データをFlow環境に返すことはありません。