less than 1 minute read

EC-CUBE4 対応の Web API プラグイン

外部サービスと連携するため、GraphQL による Web API 機能を実現します。

システム要件

  • EC-CUBE 4.0.5 or higher
  • PHP 7.2 or higher
  • PostgreSQL or MySQL
  • SSLサーバー証明書(TLS) は必須

  • テスト環境の作成には Docker が必要です

現在のバージョンでの制限事項

  • Windows 環境での動作は未確認です
  • SQLite3 には未対応です
  • システム間連携を想定したAPIを前提としています。 ネイティブアプリケーションや、 SPA(Single Page Application)、シングルサインオン(SSO)などの用途は想定されていません
  • Authorization code Grant 以外の Grant には未対応です
  • OAuth2.0(RFC6749) や OpenID Connect には完全に準拠していません。今後のバージョンアップで準拠を目指していく予定です

プラグインのインストール

他のプラグインと同様にEC-CUBE4の管理画面からインストールできます。

オーナーズストアのEC-CUBE 4.0 Web API プラグインページへ

Web API プラグイン自体の開発をされる場合はGitHubからインストール(開発者向け)をご覧ください。

  1. OAuth2.0 による認可 より API クライアントの認可をしてください。
  2. 機能仕様 より API をコールしてみましょう!

OAuth2.0 による認可

EC-CUBE で Web API を実行する際、顧客情報を参照したり、受注情報を更新する場合などは API クライアントの認可が必要です。

このプラグインでは、 OAuth2.0 プロトコルをサポートしています。

対応するフロー

Authorization Code Flow のみに対応しています。

エンドポイント

Authorization endpoint: https://<ec-cubeのホスト名>/<管理画面URL>/authorize
Token endpoint: https://<ec-cubeのホスト名>/token

機能仕様

この記事は GraphQL についての説明はしていませんので、GraphQL 自体の仕様についてGraphQL公式サイト等でご確認ください。

エンドポイントはQuery/Mutationで共通です。

API endpoint: https://<ec-cubeのホスト名>/api

GraphQLのスキーマbin/console eccube:api:dump-schema コマンドで出力できます。

GraphQL の Query で以下のデータの取得が可能です。

GraphQL の Mutation で以下のデータを更新可能です。

商品/受注/会員情報の変更時(登録/更新/削除)に登録されたWebHookに対して変更を通知します。

拡張機構

CustomizeディレクトリやプラグインでAPIを拡張できます。