2021.09.05 投稿
2026.08.10 更新
ShopifyのAPIで自社サイトと情報連携する方法を解説!
こんにちは。中川瞬(@buppan_system)です。
ShopifyとAPIの連携方法が知りたい)という方のために、サイトとShopifyをAPIで連携する方法について解説をします。
この記事を読むことで、
どのAPIを使用するかで各上限値を記載しましたが、商品登録や顧客データの登録は大きなデータを使うことが多いと思うので注意が必要です。
- ShopifyのAPIの種類がわかる
- 連携方法がわかる
- 連携をする上での注意点を確認できる
この記事を書かせて頂いている私は、現在、輸出・輸入・国内の転売のノウハウをお伝えしています。
時間がない会社員の方や子育てをしている主婦の方に、指導や転売システムの提供をして、忙しくても副業で収入を得てもらっています。
それではShopifyのAPIの連携方法について解説していきます。
APIとは
APIとは A:Application P:Programming I:Interface の略です。 それぞれを日本語にすると A:ソフト P:プログラム I:接点・境界線 と略し、ソフトとプログラムをつなげるという風に捉えることができます。 例えば、江戸時代に出島という外部と接触できる場所がありました。 日本をソフト、外国を別ソフト、出島をAPIと仮定します。 日本と外国との接点を持たせるのが出島の役割です。 これを出島=APIというように外部と連絡の架け橋をしてくれる働きがあり、アプリとアプリをつなげることで、機能を拡張させ更に便利にするという役割があります。 このように繋げることで ・ソフトウェアの開発の効率化 ・セキュリティーの向上 ・最新情報を簡単に取得可能 というメリットがあります。Shopifyが持つAPIの種類
ShopifyのAPIは5つあります。 ・Shopify Admin API ・Shopify Storefront API ・Partner API ・Shopify Themes ・Marketing activities API それぞれの機能や特徴について触れてみましょう。Shopify Admin API
Shopify Admin APIはアプリケーションとサービスがShopify上で繋げるときに使うAPIです。 個々のShopifyストアに訪れるようアクセスを提供し、ユーザーに独自の機能を追加できるようにします。 利用例として ・商品や在庫などに関する情報の読み込みや書き込み ・在庫を他の在庫管理場所と共有して管理 などがあげられます。 可視化して在庫から配送までの流れを確認しやすくするのがAPIです。Shopify Storefront API
Shopify Storefront APIは商品データの取得、注文手続きのカスタマイズ、顧客情報の取得が可能です。 またJavaScript、Android、iOS、Unityなどで外部埋め込みができるのも特徴でしょう。 活用例として ・Shopify以外のWebを通してShopifyストアから商品販売 ・Unityで作成したゲームなどを通じて製品を販売 が行えるようになります。Partner API
Partner APIは、Shopify内のパートナーダッシュボードにあるデータにアクセスすることができます。 これにより ・顧客アカウントの管理 ・注文管理 ・サブスクリプションの管理 といった管理がしやすくなり、業務の効率化も図れます。Shopify Themes
Shopify Themesは簡単にデザインを作成できるようになります。 ShopifyのオープンソースのLiquidテンプレート言語を使用して、テーマの構築やカスタマイズも可能です。 無料と有料があり、無料のものでは70以上の種類が準備されています。 有料のものでも約2万円程です。 このようなテーマがあることで、高い知識や技術を持ったプログラマ-に依頼する手間やコストを省くことができます。Marketing activities API
Marketing activities APIを使うことで、Shopify管理画面のマーケティングページからプロモーションキャンペーンとマーケティングオートメンションを管理できます。 ShopifyのマーケティングにはSEOやソーシャルメディアなど様々なものが存在します。 APIを活用してマーケティングのアクティビティを拡張し、管理画面からアプリを直接表示することも可能です。データー連携の使い方・活用例
Shopifyの中にあるAPIについて説明しましたが、使い方や活用例ではどのようなものがあるのでしょう。 ・注文データの連携 ・顧客データの連携 ・商品データの連携 について見てみましょう。注文データ連携
注文データをを連携する上で考えられるケースが2つあります。 Shopify上で作成された注文データを取得する場合と、自社データベースから過去に受けた注文データをShopify上の内容に入力する場合です。 Shopify上で受注した注文データ取得する場合では、どのような場面で取得が必要になるのかを考えます。 Webhook上では ・注文作成 ・注文削除 ・注文キャンセル ・注文フルフィルメント ・注文の支払い ・注文の更新 のケースでデータの取得が可能です。 今度はポストでWebhookを受信するエンドポイントを作成します。 必要となるイベントに合わせてAPIでWebhookを作成します。 { "webhook":{ "topic":"orders/create", "address":"https://whatever.hostname.com/", "format":"json" 自社データベースなどから過去の注文データをShopifyに登録する場合には、ポストで注文データを作成します。 データ作成時、line-itemsというフィールドが必要になり、実際に注文された商品のデータは以下のような形式にして登録されます。 "fulfillable_quantity" "fulfillment_service" "grams" "id" "price" "price_set" "product_id" "quantity" "requires_shipping" "sku" "title" "variant_id" "variant_title" "vendor" "name" "gift_card" "properties" "taxable" "tax_lines" "tip_payment_gateway" "tip_payment_method" "total_discount" "total_discount_set" "discount_allocations" "origin_location" "duties"顧客データの連携
新規顧客データをを連携する上で考えられるケースが2つあります。 Shopify上で作成された新規の顧客に関するデータをまとめる場合、自社データベースなどから過去の顧客データをShopifyに登録するといった場合です。 Shopifyのサイト内で作られた顧客データを取得する場合では、Webhookで以下のようなデータでの取得が可能です。 ・お客様の作成 ・お客様の更新 ・お客様の削除 ・お客様の有効化 ・お客様の無効化 ポストでWebhookを受信するエンドポイントを作成します。 必要となるイベントに合わせてAPIでWebhookを作成します。 { "webhook":{ "topic":"customera/create", "address":"https://whatever.hostname.com/", "format":"json" 注文データ同様、topicに当たる部分が顧客データを取得できるイベントになります。 自社データベースなどから過去の顧客データをShopifyに登録する場合では、ポストで顧客データ作成し、別のポストで顧客の住所を登録して顧客データと紐付けをします。商品データの連携
Shopifyの商品データは、画像とバリエーションデータの2つに分けることにより、在庫データと連携できる形とになっています。ShopifyでAPIを活用する上での注意点
自社で使用しているサイトと配送サービスや在庫管理のサービスと連携させたい!と考えている人が多いかもしれません。 このようにShopifyでAPIを連携するときに注意をしなければいけないことが3つあります。 ・ShopifyのAPIにはストアのプランがあり、上限がある ・Webhookを受信した際には、データー処理をする ・Webhook通知を受けてから実在在庫をAPIで取得することで在庫数の差分発生を防ぐことができる これらの注意点をさらに細かく見てみましょう。ShopifyのAPIにはストアのプランがあり、上限がある
プランの違いによって1秒間にコールできる上限値があります。 APIによるレート制限の比較を表にまとめました。| API | 標準制限 | ShopifyPlusの制限 |
| 管理API(GraphQL) | 50ポイント/秒 | 100ポイント/秒 |
| 管理API(REST) | 2リクエスト/秒 | 4リクエスト/秒 |
| ストアフロントAPI | • リクエストごとに最低0.5秒 | • リクエストごとに最低0.5秒 |
| • ユーザーIPごとに60秒 | • ユーザーごとに120秒 | |
| Payments Apps API(GraphQL) | 未定 | 未定 |
Webhookを受信した際には、データー処理をする
ShopifyのWebhookに関するチュートリアルの中で説明していますが、通知が受信したかどうかを判断するのは200番台のステータスコードを受け取れるかを見ています。 もし200番台以外のステータスコードで反応した場合、ShopifyはWebhookが通知が駄目だった判断し、24時間で9回も通知を出し続けなければいけません。 処理する側の問題で、200番台以外を反応していた場合、19回全て成功しないとShopifyにより登録したWebhookが自動的に削除されるので注意が必要です。Webhook通知を受けてから実在在庫をAPIで取得することで在庫数の差分発生を防ぐことができる
在庫管理のためにWebhookを使うときは、order/createなどで注文を受けた商品を、連携した先のデータの在庫数から少なくする処理をすることがあるかもしれません。 毎回ではないですが、1度に大量に注文が入ってしまい処理が追いつかない間にShopify上では在庫がない状態など実在在庫との差分の発生が生じてしまう場合が考えられるでしょう。 そのような状態を回避するためにも、Webhookを受けてからShopify上での在庫数をProduct APIを使って確認を行い、連携先のデータを上書きすることで連携が実現できるようになります。ShopifyとAPIを連携して業務の効率化を目指しましょう
顧客データや注文データをAPIをインターフェースすることで、情報管理がスムーズにいきやすくなることがわかったと思います。 最初はAPIで設定するのが大変だと思いますが、設定が終わると管理が楽になり、経営もしやすくなります。 APIを使用して効率的に経営できるようにしましょう。 下記のLINEで ①パソコンの選び方 ②国内転売マニュアル ③メルカリマニュアル が記載されている「ネット物販スタートマニュアル」をプレゼントしているのでぜひ受け取ってくださいませ!あなたにおすすめの記事
ShopifyのECサイトにQRコードを導入する方法を解説
ShopifyのECサイトにQRコードを導入したいけど、作成方法や導入方法について知りたいという方のために、QRコードの作成・導入方法について解説をします。...
2021.10.06 更新
Shopifyのサイトで問い合わせフォームを作成する方法を解説
Shopifyのお問い合わせフォームについて知りたいという方のために、Shopifyで問い合わせフォームを作成する方法について解説をします。...
2021.08.04 更新
Shopifyのページ作成方法を解説!充実したサイトを作ろう
Shopifyのページ作成方法について知りたいという方のために、固定ページの作成方法やテーマの選び方について解説をします。...
2021.09.09 更新
Shopifyは使いにくい?リアルな評判や口コミから自分に適しているかを判断
初めてネットショップサービスを利用する人は、口コミや評判をチェックすることも多いでしょう。...
2021.08.04 更新
Shopifyを退会する方法と注意すべき点を解説!
この記事ではShopifyで運営していたけど、他のECサイトに移行したい、解約方法について知りたいという方のために、Shopifyを解約する方法について解説をします。...
2021.09.10 更新
ShopifyのページURLを変更するメリットと変更方法を解説
この記事ではShopifyストアのページURLついて知りたいという方のために、ShopifyストアのページURLを変更するメリットと変更方法について解説をします。...
2021.09.13 更新