3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

postmanでshopifyのAPIを叩いてみる

Last updated at Posted at 2021-02-07

はじめに

こんにちは。
最近shopifyを触る機会があったので、自分の頭を整理することもかねてAPIの叩き方を備忘録がてら残しておこうと思います。
shopifyはいくつかのAPIを提供していますが、その中でも今回は基本となる admin APIstorefront API の叩き方についてまとめていきます。
今回はpostmanを使ってAPIを叩いてみます。

前提

  • shopify partnersにアカウントを作成済みであること
  • ストアが作成済みであること
  • ストアにshopifyアプリをインストール済みであること。

試すだけならプライベートがお手軽です。

目次

  • admin APIを叩く
  • storefront APIを叩く
  • 注意点
  • 最後に

叩いてみる

スクリーンショット 2021-02-06 23.49.37.png

admin APIを叩く

admin APIは GraphQLとRESTの形式でAPIを提供しています。それぞれのAPIを叩くためにはストアにインストールしてあるアプリで発行した APIキーパスワード が必要になるので確認できるよう、事前にストアにログインしておきましょう。

上記キーはストアにログインし アプリ管理>インストール済みのアプリ を選択した先で確認できます。
スクリーンショット 2021-02-04 11.04.48.png

GraphQLの場合

設定はこんな感じです。

  • URLは${store_domain}を自分のストアのドメインに置き換える
  • Headerを二つ追加
    • Content-Type : application/json
    • X-Shopify-Access-Token : AdminAPIのパスワード
  • BodyでGraphQLを選択し、希望のクエリをコピペ(必要に応じて変数も)

スクリーンショット 2021-02-06 20.11.25.png

スクリーンショット 2021-02-06 20.15.42.png

結果例

{
    "data": {
        "shop": {
            "name": "${store_domain}",
            "primaryDomain": {
                "url": "https://${store_domain}",
                "host": "${store_domain}"
            }
        }
    },
    "extensions": {
        "cost": {
            "requestedQueryCost": 2,
            "actualQueryCost": 2,
            "throttleStatus": {
                "maximumAvailable": 1000.0,
                "currentlyAvailable": 998,
                "restoreRate": 50.0
            }
        }
    }
}

RESTの場合

設定はこんな感じです。

  • URLは${store_domain}を自分のストアのドメインに置き換える+使いたいAPIのURLを指定する
  • AuthorizationはBasic Authを選択し以下の情報を入力する
    • Username : AdminAPIのAPIキー
    • Password : AdminAPIのパスワード

スクリーンショット 2021-02-04 11.18.51.png

結果例

{
    "orders": [
        {
            "id": 0000000,
            "email": "${customer_email}",
            "closed_at": null,
            "created_at": "2021-02-04T04:23:09-05:00",
            "updated_at": "2021-02-04T04:23:10-05:00",
            "number": 3,
            "note": "",
            (長いので省略)
        }
    ]
}

storefront APIを叩く

storefront APIはGraqhQLの形式のみでAPIを提供しています。
またストアの管理画面から確認できるアクセストークンをリクエストと一緒に渡すことでAPIを利用することができます。
スクリーンショット 2021-02-05 12.56.08.png

GraphQLを叩く

設定こんな感じです。

  • URLは${store_domain}を自分のストアのドメインに置き換える。admin APIに比べてdomainの後ろが一つPATHが少ないです。
  • Headerを二つ追加
    • Content-Type : application/json
    • X-Shopify-Storefront-Access-Token : storefrontのアクセストークン

スクリーンショット 2021-02-06 20.57.00.png

スクリーンショット 2021-02-06 23.32.21.png

結果例

{
    "data": {
        "shop": {
            "name": "${store_domain}",
            "primaryDomain": {
                "url": "https://${store_domain}",
                "host": "${store_domain}"
            }
        }
    }
}

注意点

Admin APIを叩く際の注意点

  • APIキーとパスワードはストアにインストールしているアプリから取得してください。(shopify partnersの方でも作れますがそっちじゃないです)
  • 間違ったリクエストを送ってpostmanにキャッシュが残っているとリクエストに失敗することがあります。

めも

最初に載せたスクショに URLの例 とありますが、こちらをそのままブラウザで叩くだけでもレスポンスを取得できます。
https://{apikey}:{password}@{hostname}/admin/api/{version}/{resource}.json

最後に

今進行しているプロジェクトがshopifyを使ったものになっているので、今後もまたこんな記事を書くと思います。

それではまた。

スクリーンショット 2021-02-07 19.45.42.png

references

shopify公式ドキュメント

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?