- ShopifyAPIはShopifyの機能を拡張するインターフェース
- ShopifyAPIにはさまざまな種類がある
- APIを必要に応じて使い分けて機能をカスタマイズすることで、ユーザー体験の向上が見込める
ShopifyAPIは、Shopifyの既存機能を拡張しカスタマイズするためのインターフェースです。
さまざまな機能が提供されており、導入することで業務効率やユーザー体験の向上が見込めます。
この記事では、アプリ開発初心者向けに、ShopifyAPIの種類と具体的な使い方について分かりやすく解説します。
ShopifyAPIとは
Shopifyは、誰でも簡単にネットショップを開業できるサブスクリプション型のオールインワンECプラットフォームです。
ゼロからのストア構築やストアのカスタマイズ、商品の販売・管理はもちろん、7,000種以上の豊富なShopifyアプリを導入することで機能の拡張も行えます。
Shopifyアプリに欲しい機能がなければ、ShopifyAPIを使ってカスタマイズもできます。
ShopifyAPIにはさまざまな機能が提供されており、自社ストア用のカスタムアプリを作成することで業務を効率化し、売り上げに貢献します。
APIを利用して、大手ブランドにも引けを取らないリッチでユニークなユーザーエクスペリエンス(UX)を提供しましょう。
Shopifyを利用するためのルール
Shopifyで提供されるAPIを利用するための基本的なルールを見ていきます。
公式マニュアルで4つのルールが規定されています。
公式サイト:Shopify API reference docs
ライセンスと利用規約の適用
すべてのAPIには、ShopifyAPIライセンスと利用規約が適用されます。
APIを利用すると、ライセンスと規約に同意したと見なされます。規約に反した利用をした場合には、アカウントの終了や一時停止の措置が取られる場合があります。
レート制限の適用
すべてのAPIには、レート制限が適用されます。
レート制限とは、同アクションを短時間内で繰り返して実行した際に、一時的にブロックをかける制限を言います。サーバー攻撃を防ぎ、サービスやリソースを保護するため、APIには一般的に導入されている仕組みです。制限数はAPIの種類により異なります。
制限数の詳細については公式ドキュメントを参照してください。
公式:Shopify APIのレート制限
認証
すべてのAPIで、開発者は利用する前に必ず認証を受ける必要があります。
認証には「oAuth」「セッショントークン」「アクセストークン」の3種類があります。
認証の詳細については公式ドキュメントを参照してください。
公式:Shopify API認証
バージョン管理
一部のAPIはバージョン管理されています。
バージョン管理とは、プログラムコードに変更が加えられた際にそれらの情報を追跡・管理する仕組みで、利用者が多い重要な機能に付けられるのが一般的です。
APIがバージョン管理されるということは、開発者が快適にAPIを利用できるよう常にメンテナンスされているという保障であり、新機能の追加や不要分の削除などが頻繁に行われることを意味します。
バージョン管理されたAPIを利用している場合は、最新バージョンがリリースされたタイミングでバージョンアップなどの対応が必要です。
Shopifyで提供されているAPIの種類
ShopifyAPIの種類について見ていきます。
【AdminAPI】Shopifyやストアの管理機能
既存のShopify機能を拡張し、商品、在庫、注文、配送といったストア情報を読み書きするために利用するAPIです。
店舗の商品在庫を他のマーケットプレイスと共有できるほか、ストア管理画面やPOS(店舗販売管理用アプリ)の機能を拡張してカスタマイズできます。
【StorefrontAPI】ストアフロント機能
Shopifyストア内の商品やサービスを、他のWebサイトやアプリ、ゲームなどで販売したい場合に利用するAPIです。
商品や顧客情報の取得、カート機能、チェックアウト機能など、注文に関する手続きをカスタマイズできます。
StorefrontAPIを快適に利用するため、JavaScriptライブラリReact(リアクト)をベースに開発された独自フレームワーク「Hydrogen」が提供されています。
【PartnerAPI】パートナー管理機能
複数のShopifyストアとクライアント契約があり、それぞれのクライアントデータにアクセスしたい場合に利用するAPIです。
クライアントのダッシュボードデータにアクセスし、注文や在庫管理、売上集計などを一括管理することで業務を効率化できます。
【ShopifyQL API】データクエリ機能
ストアはそれぞれ、商品データや注文データをデータベースのテーブルのような形で持っています。
ShopifyQLはこれらのデータにアクセスし、フィルター処理等を行った上で分析クエリを作成できるAPIです。
ストアごとの数値分析のためのレポート作成などを実施する際に利用します。
【テーマ構築API】テーマ作成・カスタマイズ機能
Shopifyのテーマは、Shopifyが開発したオープンソースのテンプレート言語「Liquid」を使用して生成します。
ストアに動的要素を追加する場合には「Ajax API」や「セクションレンダリングAPI」が必要になります。
テーマのカスタマイズを行う場合には、Shopifyテーマエディターが便利です。コード編集等が必要ないので初心者でも簡単にカスタマイズができます。
こんなとき、どのAPIを使えばいい?
「APIの種類は分かっても、どれを使えばいいのか分からない!」
という人に向けて、具体的なケースにどのAPIを使うべきかをご紹介します。
ストアのデザインをカスタマイズしたい!
ECサイトで最も重要なビジュアルをカスタマイズするには、テーマ構築APIを使用します。
HTMLやCSS、JavaScriptの知識があるなら、テンプレート言語「Liquid」を利用してオリジナルのテーマ作成ができます。
ReactやVue.jsを使えるのであれば、StorefrontAPIを使用した開発も可能です。
開発スキルがない、または自信がないという人は、Shopifyテーマストアで公開されているさまざまなテンプレートの中から選択するか、Shopifyテーマエディターを利用してノーコードでカスタマイズができます。
ストアの機能を拡張したい
機能拡張のためのさまざまなアプリがすでに提供されているので、まずは既存のものから探しましょう。
求める機能が見つからない、またはどうしても独自のカスタマイズが必要ということなら、AdminAPIを使用することでアプリ開発ができます。
商品データや顧客情報、売上情報などの読み書きが可能なので、他のECサイトと連動した在庫管理なども可能です。
クライアントを効率的に管理したい
Shopifyパートナーのように多くのクライアント支援を行っている場合、複数のストアを効率的に管理する必要があります。この場合には、PartnerAPIを使います。
クライアントの情報にプログラムからアクセスできるため、複数サイトの情報を一覧で表示できるほか、売上情報の一括管理などが可能になります。
アプリやゲーム内でストアを開きたい
モバイルアプリやゲーム内でストア構築を行う場合、Storefront APIで提供されている開発フレームワークとSDKを使用します。
※SDKとは
SDKとは、あるシステムに対応したソフトウェアを開発するために必要なプログラムや文書などをひとまとめにしたパッケージのこと。システムの開発元や販売元が希望する開発者に配布あるいは販売する。インターネットを通じて公開されているものもある。
引用:「IT用語辞典e-Words」
StorefrontAPIのSDKとして、以下のものが提供されています。
- curl(コマンドライン)
- Node.js
- PHP
- Ruby
- Android
- iOS
商品の顧客や売り上げデータをレポートとして出力したい
ECサイトのさらなる集客や売り上げアップを目指すなら、現状やユーザー動向の分析は不可欠です。
ビジネスインサイトをShopifyで確認したい場合には、ShopifyQL APIを利用します。
取得した分析データはエクスポートもできるので、外部分析ツールと連携することで詳細の分析にも活用できます。
まとめ
Shopifyには豊富なアプリが提供されていますが、機能面やデザイン性に不足があればShopifyAPIでカバーできるようになっています。
技術的な知識は多少なりとも必要になりますが、ユーザーエクスペリエンスのさらなる向上にAPIは不可欠です。
既存アプリとAPIをうまく組み合わせ、満足度の高いリッチなECサイトを作りましょう。