PostmanでShopify Admin APIのクエリを実行・管理する

PostmanでShopify Admin APIのクエリを実行・管理する

Tsun Inc. CTOの小笠原です!
今回はShopify APIをPostmanで簡単に実行するノウハウをまとめました。
Shopify APIに限らずですが、毎回コンソールからAPIを実行して確認するのって意外と手間ですよね。
そういうときはPostmanというアプリを使って環境情報等をまとめておくとサクッと実行・確認ができますよ!

Postmanとは

PostmanはAPIを開発・テストすることに特化したコラボレーターツールです。

Postman とは、APIを開発・テストするためのコラボレーションプラットフォームです。
Postmanでは、Tokenなどを設定し、APIのエンドポイントにリクエストを投げ込めば Response(レスポンス)を確認することができます。
現在 Postman には、HTTP や REST、SOAP、GraphQL などのリクエストテストや、API design、API documentation、API detection、Mock Server、Monitors、Workspaces などの機能が存在します。
Postmanを利用することによってAPI開発が簡略化され作業効率の向上を実現することができます。

引用元: Postman を使用して API テストを行うには

前提条件

対象読者

  • Shopify Admin APIを使ったことがある

環境

  • Postman for Mac Version 10.11.1

Postmanのインストール

https://www.postman.com/https://circleci.com/ja/blog/testing-an-api-with-postman/ を参考にサインアップとインストールを行います。

PostmanでShopify Admin APIのクエリを実行する

インストールができたらPostmanを開いて、まずはShopify Admin APIの簡単なクエリを実行してみましょう。

Shopify Admin APIのクエリを実行するためにはAPIのトークンが必要なので、まずはトークンを生成します。

Shopify Admin APIのトークンを生成する

お使いのストアの(開発ストアがいいと思います)管理画面を開きます。
設定 > アプリと販売チャネル から、アプリを開発をクリックします。
アプリを作成をクリックします。
アプリ名はわかりやすく「Postman」などでいいと思います。(Postmanでしか利用しない前提)
アプリが作成されたら、アプリ画面の設定からアクセススコープを設定します。(アクセススコープは最小限にしましょう)
API資格情報からAdmin APIのアクセストークンを取得します。(一度しか取得できないので、1Passwordなど安全な場所に保管しておくことをオススメします)

これで、クエリを実行する準備が整いました。

PostmanでGraphQLクエリを実行する

Postmanを開きます。
Collections > Create new collectionを選択し、新しいコレクションを作成します。(名前は適当に入力します)
コレクションに新しいリクエストを追加できるようになったので、Add requestをしてリクエストを追加します。
GETをPOSTに変更します。
URLは https://{あなたのShopify Domain}.myshopify.com/admin/api/2023-01/graphql.json にします。
AuthorizationタブのTypeをAPI Keyにします。
Keyに「X-Shopify-Access-Token」、Valueに↑で取得したトークンを入力、Add toはHeaderにします。
PostmanのAuthorizationにAPI Keyを設定する
Bodyタブに下記のクエリを書きます。

query {
  shop {
    name
    currencyCode
    checkoutApiSupported
    taxesIncluded
  }
}

Sendを実行し、shopデータが取得できたら成功です!
PostmanでShopデータを取得する

変数を使ってリクエストを管理する

今後リクエストが増えてくると、新しいリクエストを作るたびに上記の設定をするのが手間になります。
そこでPostmanの変数機能を使って楽に管理できるようにします。

まずは、APIのバージョンとShopify Domainを変数にします。
コレクションの設定からVariablesタブを開きます。
API_VERSIONとSHOPという変数を追加します。値はそれぞれ任意の値を設定してください。
PostmanのVariablesにSHOPとAPI_VERSIONを設定する
先程のリクエストのURLを変数を使ったものに変更します。
下記になります。https://{{SHOP}}.myshopify.com/admin/api/{{API_VERSION}}/graphql.json

Sendを実行し、先程と同じデータが取得できることを確認します。

これで、APIのバージョンを変えて試したいときに全リクエストを一つずつ書き換えなくても変数の値を変えれば簡単にテストできるようにになりました!

複数のストアを分けて管理する

2023年7月追記:
コレクションによるストア管理ではなく、PostmanのEnvironments機能を使った切り替えに変更しました。
Environmentsの使い方はこちらの記事がとてもわかりやすいので参考にしてください。
https://qiita.com/yokawasa/items/05913df60aea07395903

Shopifyパートナーであったり、開発ストアと本番ストアがあるストアの方におすすめなのは、複数のストアを分けて管理することです。
コレクションをストア単位にすることで、先程の変数を使ってコレクション配下のリクエストのURLを共通化できます。
またコレクション内のAuthorizationを共通化することもできます。

まずは、コレクションの設定からAuthorizationタブを開きます。
TypeをAPI Keyにし、Key、Valueはさきほどと同じものを入力します。
PostmanのコレクションのAuthorizationを設定する
各リクエストのAuthorizationタブを開きます。
TypeをInherit auth from parentにします。
PostmanのリクエストからコレクションのAuthorizationを参照する

これでコレクションのAuthorizationを参照するため、API Keyを変更する場合に全リクエストを書き換える手間がなくなります。

GraphQL APIとREST APIを分けて管理する

Shopify Admin APIにはGraphQL APIとREST APIの2種類があります。

好みの問題ですが、コレクション配下にGraphQLフォルダとRESTフォルダを作成し、それぞれのAPIリクエストを分けて管理することもできます。

まとめ

今回はPostmanを使ってShopify Admin APIを管理する方法をご紹介しました。

PostmanはGraphQLのスキーマを自動でフェッチする機能もあります。
GraphQLのクエリを書く際に自動補完が効くためクエリがとても書きやすくなります。

それでは、みなさんもPostmanを使って快適なShopify Admin APIライフをお送りください!

ブログに戻る
1 6
  • Shopify Liquidとは|特徴や基本構文、学習リソースまで紹介

    Shopify Liquidとは|特徴や基本構文、学習リソースまで紹介

    Tsunライターチーム

    Shopify Liquidは、Shopifyが開発したオープンソースのテンプレート言語です。本記事では、Shopify Liquidの基本概念、主な特徴、そしてその学習に役立つリソースについて解説します。

    Shopify Liquidとは|特徴や基本構文、学習リソースまで紹介

    Tsunライターチーム

    Shopify Liquidは、Shopifyが開発したオープンソースのテンプレート言語です。本記事では、Shopify Liquidの基本概念、主な特徴、そしてその学習に役立つリソースについて解説します。

  • Shopify Polarisとは? 効率的なShopifyアプリ開発に!

    Shopify Polarisとは? 効率的なShopifyアプリ開発に!

    Tsunライターチーム

    Shopify Polarisは、Shopifyのエコシステムにおいて重要な役割を果たす包括的なデザインシステムです。本記事では、Shopify Polarisの概要やメリット、デメリット、Polarisを活用したShopifyアプリの事例、Shopify Polarisを使用する際のヒントとコツを紹介します。

    Shopify Polarisとは? 効率的なShopifyアプリ開発に!

    Tsunライターチーム

    Shopify Polarisは、Shopifyのエコシステムにおいて重要な役割を果たす包括的なデザインシステムです。本記事では、Shopify Polarisの概要やメリット、デメリット、Polarisを活用したShopifyアプリの事例、Shopify Polarisを使用する際のヒントとコツを紹介します。

  • 【Tips】Shopify の GraphQL Admin API で顧客総数を取得する

    【Tips】Shopify の GraphQL Admin API で顧客総数を取得する

    小笠原 京平

    Shopifyの GraphQL Admin API の小ネタです。 Shopifyの顧客総数を取得したい場合のクエリは、いざ探そうと思ってもパッと見つからないのでメモしておきます。 対象読者 Shopify GraphQL Admin API を使ったことがある方 顧客総数を取得するクエリ 2023-07 バージョンから CustomerSegmentMemberConnection に変更があったため、2023-07より前と以降で若干クエリが異なります。 ※ changelog 2023-07以降 { customerSegmentMembers(first: 1, query: "") { totalCount } } 2023-07より前...

    【Tips】Shopify の GraphQL Admin API で顧客総数を取得する

    小笠原 京平

    Shopifyの GraphQL Admin API の小ネタです。 Shopifyの顧客総数を取得したい場合のクエリは、いざ探そうと思ってもパッと見つからないのでメモしておきます。 対象読者 Shopify GraphQL Admin API を使ったことがある方 顧客総数を取得するクエリ 2023-07 バージョンから CustomerSegmentMemberConnection に変更があったため、2023-07より前と以降で若干クエリが異なります。 ※ changelog 2023-07以降 { customerSegmentMembers(first: 1, query: "") { totalCount } } 2023-07より前...

  • Shopify Vite Plugin でテーマ拡張機能の開発体験を改善する

    Shopify Vite Plugin でテーマ拡張機能の開発体験を改善する

    小笠原 京平

    今回は Barrel が提供する Shopify Vite Plugin を導入して、テーマ拡張機能の開発体験を改善する方法をご紹介します。 対象読者 テーマ拡張機能の開発経験がある方 はじめに Shopifyのテーマ拡張機能 (Theme app extensions) はShopify アプリ開発において、ストアフロントに機能を追加するための機能です。 Liquid、JavaScript、CSSなどを使って開発することができますが、通常のアプリ開発と比較すると、ローカルでの開発体験はそれほどよくありません。 そこで、今回は Shopify Vite Plugin を導入して、開発体験を改善していきます。 Shopify Vite Plugin とは Barrel が提供する Vite用プラグインです。ViteをShopify テーマ開発に組み込んで開発体験を改善することを目的として作られていますが、テーマ拡張機能においてもその恩恵を受けることができます。...

    Shopify Vite Plugin でテーマ拡張機能の開発体験を改善する

    小笠原 京平

    今回は Barrel が提供する Shopify Vite Plugin を導入して、テーマ拡張機能の開発体験を改善する方法をご紹介します。 対象読者 テーマ拡張機能の開発経験がある方 はじめに Shopifyのテーマ拡張機能 (Theme app extensions) はShopify アプリ開発において、ストアフロントに機能を追加するための機能です。 Liquid、JavaScript、CSSなどを使って開発することができますが、通常のアプリ開発と比較すると、ローカルでの開発体験はそれほどよくありません。 そこで、今回は Shopify Vite Plugin を導入して、開発体験を改善していきます。 Shopify Vite Plugin とは Barrel が提供する Vite用プラグインです。ViteをShopify テーマ開発に組み込んで開発体験を改善することを目的として作られていますが、テーマ拡張機能においてもその恩恵を受けることができます。...

  • Shopify Admin API GraphiQLとは? 使い方やメリット・デメリットを解説

    Shopify Admin API GraphiQLとは? 使い方やメリット・デメリットを解説します

    小笠原 京平

    ShopifyのAdmin APIにはGraphQLを用いたAPIがあります。手軽に試す方法としてGraphiQL (GraphQLではなくGraphiQLなのに注意) というIDEがありますので、今回はShopify GraphiQLの使い方やメリット・デメリットを解説します。 GraphiQLとは GraphQL公式が運営しているオープンソースプロジェクトです。GraphQLをブラウザ上でインタラクティブに操作・実行することができます。 グラフィカル (/ˈɡrafək(ə)l/) と発音します。(graphicalと同じ発音) GraphQLとは GraphQLはAPIのためのクエリ言語であり、既存のデータでクエリを実行するためのランタイムです。 GraphQLはAPI内のデータの完全で理解しやすい説明を提供し、クライアントに必要なものだけを要求する力を与え、APIを長期的に進化させることを容易にし、強力な開発者ツールを可能にします。 引用: GraphQL | A query language for your API Shopify GraphiQLの使い方 Shopify GraphiQLは各ストアにアプリをインストールするだけで使えますが、Shopify Devサイト上でデモを触れるので、まずは触ってみましょう! https://shopify.dev/docs/apps/tools/graphiql-admin-api Workshopをやってみよう! Shopifyが作成した「Learn...

    Shopify Admin API GraphiQLとは? 使い方やメリット・デメリットを解説します

    小笠原 京平

    ShopifyのAdmin APIにはGraphQLを用いたAPIがあります。手軽に試す方法としてGraphiQL (GraphQLではなくGraphiQLなのに注意) というIDEがありますので、今回はShopify GraphiQLの使い方やメリット・デメリットを解説します。 GraphiQLとは GraphQL公式が運営しているオープンソースプロジェクトです。GraphQLをブラウザ上でインタラクティブに操作・実行することができます。 グラフィカル (/ˈɡrafək(ə)l/) と発音します。(graphicalと同じ発音) GraphQLとは GraphQLはAPIのためのクエリ言語であり、既存のデータでクエリを実行するためのランタイムです。 GraphQLはAPI内のデータの完全で理解しやすい説明を提供し、クライアントに必要なものだけを要求する力を与え、APIを長期的に進化させることを容易にし、強力な開発者ツールを可能にします。 引用: GraphQL | A query language for your API Shopify GraphiQLの使い方 Shopify GraphiQLは各ストアにアプリをインストールするだけで使えますが、Shopify Devサイト上でデモを触れるので、まずは触ってみましょう! https://shopify.dev/docs/apps/tools/graphiql-admin-api Workshopをやってみよう! Shopifyが作成した「Learn...

  • ブログ記事 Shopifyの必須Webhooks (Mandatory Webhooks)とは? GDPRや対応例など

    Shopifyの必須Webhooks (Mandatory Webhooks)とは? GDPR...

    小笠原 京平

    今回はShopifyアプリ開発を始めたときに詰まるポイントの1つ「必須Webhooks」について解説します。実装をしていなかったり、実装が不十分なためにレビューが通らなかった経験をされた方は多いんじゃないでしょうか?レビューで詰まらないためにも、ぜひご確認ください! Webhooksとは? Shopifyの必須Webhooksを説明する前に、Webhooksについて理解しましょう。Webhooksとは、Webアプリケーションと連携するために用いられるイベント通知の仕組みです。Webhooksを使うことで、あるWebアプリケーションで特定のイベントが起きたときに、データを受け取ったり、何かしらの動作をすることが可能になります。 エンジニアにとって身近な例でいうと、GitHubにコードをプッシュしたときに自動でビルドやテストをするときにWebhooksが使われています。 ShopifyのWebhooks そんなWebhooksはShopifyでも使うことができます。Shopifyアプリ開発では、Shopify Admin APIからWebhooksを使うことができます。また、アプリ以外でもShopify管理画面からWebhookを作成することもできます。 ShopifyのWebhooksにはHTTPSのエンドポイントのほか、Amazon EventBridgeやGoogle Cloud Pub/Subといったメッセージングサービスを使うこともできます。購読するイベントやマーチャントによっては瞬間的に大量のWebhooksを処理する必要があるため、スケールさせやすいメッセージングサービスを使ってWebhooksを処理することをおすすめします。 必須Webhooks (Mandatory Webhooks) とは? 必須Webhooksとは、Shopifyアプリを開発するときに必ず実装しなければならない3つのWebhooksのことです。この3つのWebhooksはGDPRに対応するために必要なWebhooksで、EU加盟国に関わらず、すべてのShopifyアプリはGDPRに準拠しなければなりません。必須Webhooksを実装していない場合、アプリレビューで却下されます。 (3つの必須Webhooks以外のWebhooksは任意で実装すればOKです。) また、必須Webhooksの3つはHTTPSのエンドポイントでのみ作成可能です。上述したEventBridgeやPub/Subを利用することはできません。 GDPRとは? GDPR(General Data Protection Regulation:一般データ保護規則)は、ヨーロッパ連合(EU)の個人情報保護法規で、2018年5月25日から施行されています。これは、EU全域での個人情報のプライバシーを保護し、データの取り扱い方に関して個々の人々により多くの制御権を付与するためのものです。 GDPRは、EU市民または居住者の個人データを処理する全ての組織に適用されます。これには、EU内外の組織も含まれ、EUの市民や居住者のデータを処理する場合、世界のどこにその組織があろうともGDPRの規定を守る必要があります。 GDPRの主な目的は、個人が自分の個人データをどのように収集、保存、使用されるのかを知り、そしてその制御をする権利を持つべきであるという考え方を強化し、統一化することです。これは、個人情報の透明性、アクセスの権利、修正の権利、忘れられる権利(データ削除の権利)、データ移行の権利など、いくつかの重要な権利を個々の人々に付与します。 参考: ChatGPT 必須Webhooksの対応例 上記で説明したように、必須WebhooksとはGDPRに準拠するためのWebhooksなので、顧客情報、ストア情報をデータベースなどに保存しているかどうかで対応方法が変わります。...

    Shopifyの必須Webhooks (Mandatory Webhooks)とは? GDPR...

    小笠原 京平

    今回はShopifyアプリ開発を始めたときに詰まるポイントの1つ「必須Webhooks」について解説します。実装をしていなかったり、実装が不十分なためにレビューが通らなかった経験をされた方は多いんじゃないでしょうか?レビューで詰まらないためにも、ぜひご確認ください! Webhooksとは? Shopifyの必須Webhooksを説明する前に、Webhooksについて理解しましょう。Webhooksとは、Webアプリケーションと連携するために用いられるイベント通知の仕組みです。Webhooksを使うことで、あるWebアプリケーションで特定のイベントが起きたときに、データを受け取ったり、何かしらの動作をすることが可能になります。 エンジニアにとって身近な例でいうと、GitHubにコードをプッシュしたときに自動でビルドやテストをするときにWebhooksが使われています。 ShopifyのWebhooks そんなWebhooksはShopifyでも使うことができます。Shopifyアプリ開発では、Shopify Admin APIからWebhooksを使うことができます。また、アプリ以外でもShopify管理画面からWebhookを作成することもできます。 ShopifyのWebhooksにはHTTPSのエンドポイントのほか、Amazon EventBridgeやGoogle Cloud Pub/Subといったメッセージングサービスを使うこともできます。購読するイベントやマーチャントによっては瞬間的に大量のWebhooksを処理する必要があるため、スケールさせやすいメッセージングサービスを使ってWebhooksを処理することをおすすめします。 必須Webhooks (Mandatory Webhooks) とは? 必須Webhooksとは、Shopifyアプリを開発するときに必ず実装しなければならない3つのWebhooksのことです。この3つのWebhooksはGDPRに対応するために必要なWebhooksで、EU加盟国に関わらず、すべてのShopifyアプリはGDPRに準拠しなければなりません。必須Webhooksを実装していない場合、アプリレビューで却下されます。 (3つの必須Webhooks以外のWebhooksは任意で実装すればOKです。) また、必須Webhooksの3つはHTTPSのエンドポイントでのみ作成可能です。上述したEventBridgeやPub/Subを利用することはできません。 GDPRとは? GDPR(General Data Protection Regulation:一般データ保護規則)は、ヨーロッパ連合(EU)の個人情報保護法規で、2018年5月25日から施行されています。これは、EU全域での個人情報のプライバシーを保護し、データの取り扱い方に関して個々の人々により多くの制御権を付与するためのものです。 GDPRは、EU市民または居住者の個人データを処理する全ての組織に適用されます。これには、EU内外の組織も含まれ、EUの市民や居住者のデータを処理する場合、世界のどこにその組織があろうともGDPRの規定を守る必要があります。 GDPRの主な目的は、個人が自分の個人データをどのように収集、保存、使用されるのかを知り、そしてその制御をする権利を持つべきであるという考え方を強化し、統一化することです。これは、個人情報の透明性、アクセスの権利、修正の権利、忘れられる権利(データ削除の権利)、データ移行の権利など、いくつかの重要な権利を個々の人々に付与します。 参考: ChatGPT 必須Webhooksの対応例 上記で説明したように、必須WebhooksとはGDPRに準拠するためのWebhooksなので、顧客情報、ストア情報をデータベースなどに保存しているかどうかで対応方法が変わります。...

1 6

編集プロセス

EコマースやShopifyの初学者にとって、できるだけ “やさしく” “わかりやすく” “正確に” 難しいコマース用語やマーケティング用語、ストア構築から販売までの仕組み・ノウハウを伝えることを心がけて、記事コンテンツを作成しています。

掲載情報に関して

掲載している各種情報は、株式会社Tsunが経験および、調査した情報をもとにしています。できるだけ“最新“かつ“正確“な情報の掲載に努めておりますが、内容を完全に保証するものではありません。当サイトによって生じた損害について、株式会社Tsunではその賠償の責任を一切負わないものとします。掲載情報に誤りがある場合には、お手数ですが株式会社Tsunまでご連絡をいただけますようお願いいたします。