CData Software Blog

クラウド連携のCData Software の技術ブログです。

GMOクラウドEC クラウドECプランのAPI をドライバー化 - Excel やPower BI など色々なツールから接続

こんにちは。CData Software Japan の色川です。

この記事では、Web APIODBC / JDBC / ADO.NET といった標準のDB 接続規格でアクセスできるようにするCData API Driver を利用して、クラウドEC システムである「GMO クラウドEC クラウドECプラン」のAPI に皆さんが使いなれている色々なツールから接続する方法を紹介します。

CData API Driver を使うことで、ExcelAccess、Power BI などエンドユーザー向けのツールはもちろん、Visual Stduio やEclipse、A5:SQL Mk-2 といった開発者向けツール、ODBCJDBC 規格に対応した連携ツールや帳票ツールなどからも「GMO クラウドEC クラウドECプラン」のAPI に接続してデータを取得することが可能です。

GMO クラウドEC クラウドECプランとは

GMO クラウドEC は、本格的なEC サイト構築のために必要な、インフラからショップフロント構築のノウハウを結集したソリューションでパッケージ・クラウドの両形式が提供されています。

www.cloudec.jp

その中でクラウドECプランは、クラウド上でフルオーダーメイドできる最新のクラウドEC システムです。中規模以上のEC サイト構築に向いており、事業者ごとの専用クラウド環境とヘッドレス構成(Headless Commerce)によって、カスタマイズへの柔軟な対応が可能になっているソリューションです。

www.cloudec.jp

GMO クラウドEC クラウドECプラン(以下、クラウドECプラン)では、標準機能として豊富なAPI やWebhook が用意されています。これらの外部連携機能を活用することで、データ連携による業務モデルの構築が可能になっています。今回はこのAPI を用いて様々なツールからの連携を実現します。

ツールからAPI 連携するための課題

この記事では クラウドECプランのAPI に対して、Excel 等のOffice ツール、Power BI や開発者向けツールなど、様々なツールから接続します。しかし提供されている各API は、そのままではそれぞれのツールから接続・連携することはできません。

これは、それぞれのツールがどのようにWeb API 側へリクエストを投げるべきかの判断材料や各種認証方法の処理、メタデータの情報等が無いためです。そのため、それぞれのツールから接続・連携しようとした場合、基本的にはクラウドECプランのAPI 仕様を意識したカスタムコネクタを作るか、プログラムを組まなければいけません。

このような「様々なAPI に接続したいときに生じる課題」を解決できるのが、CData API Driver です。

お好みのAPI 向けの独自ドライバーを作れるCData API Driver

CData API Driver は、あらゆるアプリケーション、データベース、SaaS にBI、ETL、アナリティクスツールからシームレスに連携を実現するユニバーサルなドライバーです。CData Drivers にビルトインのSQL エンジンによりあらゆるAPI に標準SQL でのクエリを可能にします。

それぞれのAPI の仕様に併せて用意したAPI Profile をCData API Driver に読み込ませるだけで事前に定義されたデータソースAPI への連携が可能になります。

それぞれのツールからはCData API Driver + API Profile をODBC / JDBC / ADO.NET といった標準のDB 接続規格で利用します。それぞれのツールから発行されたSQL をCData API Driver が解釈して、API Profile で与えられるWeb API のエンドポイントへSQL でリクエストされた内容に相当するHTTP リクエストを発行します。そしてAPI から返されたレスポンスはCData API Driver が解釈して、DB 接続規格のフォーマットに変換して、それぞれのツールへ結果セットとして返します。

これにより、それぞれのツールからはODBC / JDBC / ADO.NET といった標準のDB 接続規格を利用してクラウドECプランのAPI へ接続し、SQL でデータを取得することが可能になります。

各種接続シナリオと必要なツール

CData API Driver は様々なツールとの接続に利用できますが、今回は以下のツールを用いて接続する方法を解説していきます。

  • ExcelExcel Add-In で利用)
  • Power BI(Power BI Connector で利用)
  • A5:SQL Mk-2(ODBC 接続で利用)
  • CData Sync
  • CData Arc

なお、CData API Driver は上記以外にも様々なツールと連携することが可能です。

クラウドECプランのテーブル(ビュー)

CData API Drvier でGMO クラウドEC APIに接続するためには、専用の設定ファイル(API Profile)が必要です。

クラウドECプランでは、売り場機能やカート機能、注文系機能や会員系機能など、EC サイトのフロント側より、商品情報の検索、呼び出し、会員登録、カート投入、決済処理といったEC サイトのお客様が接する画面での様々なデータを司る「フロントAPI」と、会員や商品、注文など、EC サイトのバックエンド側の業務を遂行するための「管理API」が提供されています。

この記事の時点で、クラウドECプラン用のAPI Profile では「管理API」で提供されるAPI の中から、以下のテーブル(ビュー)を提供しています。

Name Resource
Users 会員一覧取得API
Orders 注文一覧取得API
OrderDetail 注文詳細取得API
OrderDetailTaxes 注文詳細取得API(税額)
OrderDetailDeliveryUnits 注文詳細取得API(配送区分)
OrderDetailDeliveryUnitsSKUs 注文詳細取得API(配送区分ごとの商品)
OrderDetailUseCoupons 注文詳細取得API(クーポン)
ItemSKUs 商品SKU 一覧取得API
ItemSKUDetail 商品SKU 詳細取得API

認証情報の取得

クラウドECプランの管理API に接続するには、管理API ホストのドメイン、管理API を発行する管理者のID(Manager Id)、API キーが必要です。管理APIの利用にあたっては、クラウドECプランの管理者に”API 専用の管理者”を登録して利用する形が推奨されています。

管理API ホストのドメイン はアカウント詳細で確認することができます。

管理者一覧から、"API 専用の管理者" を登録します。管理者の登録が完了すると、管理者ID の払い出しがおこなわれます。この管理者ID が管理API のリクエスト時に用いるmanager_id となります。

作成した管理者でAPI キーを発行します。提供されている認証方式にはシンプルキーとHMAC 方式がありますが、この記事の時点で、クラウドECプラン用のAPI Profile ではシンプルキーに対応しています。シンプルキー方式のAPI キーを発行して取得しておいてください。

これらの情報は、のちほどクラウドECプラン用のAPI Profile を使う際に求められる ProfileSettings で指定します。

情報 接続プロパティ名
管理API ホストのドメイン Domain システム詳細の 管理APIホスト で表示される値
管理者のID(Manager Id) ManagerID 作成した"API 専用の管理者"に払い出されたID
API キー APIKey 発行したAPI キーの値

クラウドECプラン用API Profile の取得

CData API Driver を利用して接続するために、クラウドECプラン用のAPI Profile が必要です。

先ほど紹介したテーブル(ビュー)の定義が含まれたAPI Profile が こちら からダウンロードできます。

ダウンロードしたAPI Profile(GMOCloudEC.apip)は、ツールからアクセスが可能な任意のフォルダに配置してください。この記事では C:\APIProfiles\GMOCloudEC.apip に配置しています。

なお、API Profile で事前定義されているカラム情報などは利用する方が自由にカスタマイズすることができます。apip ファイルはzip 圧縮された定義ファイル群です。

興味のある方はこちらの記事などを参考にカスタマイズしてみてください。触っていると大変良くできた面白い仕組みになっているのが分かります。

www.cdata.com

CData API Driver のインストール

それぞれのツールとクラウドECプランのAPI を繋ぐために必要となるCData API Driver をインストールします。

基本的なインストールや設定方法はODBC / JDBC / ADO.NETExcel Add-In など各Driver 共通です。ここではODBC Driver を例に説明します。

まず、API Driver for ODBC の30日間の評価版をダウンロードします。

www.cdata.com

ダウンロードしたインストーラを実行してください。インストールウィザードに従い、EULA を確認した上でインストールを完了します。

インストールが完了すると、ODBC のDSN 設定のウィンドウが立ち上がります。

以下の項目をセットし、「接続のテスト」をクリックします。

プロパティ名 備考
Profile C:\APIProfiles\GMOCloudEC.apip あらかじめダウンロードしたクラウドECプラン用API Profile のパスを指定します。
ProfileSettings Domain=your_domain;ManagerId=your_managerid;APIKey=your_apiky; 接続先となるDomain、ManagerId とAPI Key を指定します。

これで CData API Driver からクラウドECプランAPI への接続が完了します。

それではここから実際に、それぞれのツールからの接続方法をご紹介していきます。

Excel からクラウドECプランAPI に接続(API Driver for Excel

CData API Driver for Excel をインストール後、Excel を立ち上げるとCData タブが追加されていることがわかります。このタブから各種操作を実施します。

接続を開始するには、CDataタブから[取得元 API]- [新しいAPI 接続] をクリックします。

最初に接続するためのウィザードが表示されるので、「CData API Driver のインストール」の内容と同様に各種パラメータを入力します。

接続後、対象テーブルを選択し「OK」をクリックします。

クリック後、対象のデータが一括で取得できます。

Power BI からクラウドECプランAPI に接続(API Driver for Power BI)

続いて、CData API Driver for Power BI を使って Power BI からクラウドECプランのデータを取得します。

CData API Driver for Power BI をインストールします。こちらもインストールはシンプルです。EULA を確認してインストールを完了してください。

PowerBI Desktop を起動して「データを取得」をクリックします。

データ接続先一覧の中から「ODBC」を選択し、「接続」をクリックします。

データソース名は先ほど登録したクラウドECプランのDSN を入力し「OK」をクリックします。

テーブルの一覧から対象となるテーブルを選択し「読み込み」をクリックします。

以下のようにクラウドECプランのデータが読み込まれます。

あとはPower BI の機能を使って、クラウドECプランのデータをビジュアライズに利用することができますね。

A5:SQL Mk-2 からクラウドECプランAPI に接続(API Driver for ODBC

続いて、開発者に人気の高いフリーのSQL クライアントである A5:SQL Mk-2 からクラウドECプランのデータを取得します。

「A5:SQL Mk-2」は以下のURLから入手できます。

a5m2.mmatsubara.com

インストール後、A5:SQL Mk-2 を起動したら、データベースの追加と削除で接続情報を登録します。これまでに既にODBC データソースは構成していますので「ODBC システムデータソースを列挙する」で簡単に接続してしまいます。

データベースエクスプローラーから、クラウドECプラン用に作成したDSN を選択して、接続します。これで接続は完了です。

このようにクラウドECプランのオブジェクトにアクセスができるようになりました。

クエリしてみると、データの取得が確認できます。

CData Sync からクラウドECプランAPI に接続

続いて、SaaS データのDB/DWH への連携/パイプラインを実現する CData Sync からクラウドECプランのデータを任意の同期先DB に連携します。

www.cdata.com

CData Sync ではデータソース(連携元)として、クラウドECプランに接続することができます。

なお、CData Sync のWindows 版を利用する場合は「GMOCloudEC.apip」のプロファイルをCData Sync の本体が存在するフォルダの「www\app_data\profiles」に配置してください。profiles フォルダが存在しない場合は手動で作成してください。

C:\ProgramData\CData\sync\profiles

Cross-Platform 版の組み込みJetty で構成している場合は、以下のフォルダにapip ファイルを配置します。

/opt/sync/profiles

配置後、CData Sync を起動すると以下のようにデータソースとしてクラウドECプランが利用できるようになります。

接続プロパティは以下の通り設定します。

プロパティ名
ProfileSettings Domain=your_domain;ManagerId=your_managerid;APIKey=your_apiky;

入力後、「接続」ボタンをクリックし、接続テストが完了すればOKです。

併せて、任意の同期先の接続情報も構成しておきましょう。この記事では同期先は手軽にCSV で構成しました。

接続完了後、新しくジョブを作成します。ソースには先ほど作成したクラウドECプランのコネクションを。同期先には同じく先ほど作成したCSV のコネクションを選択します。

ジョブを作成した後は、クラウドECプランの同期対象となる任意のテーブルを選択しましょう。この記事では Users とOrders を選択しました。

データのプレビュー画面で、実際に取得が成功しているかどうかを確認できました。

あとは、任意のスケジュールを指定してデータのレプリケーションを実行できます。

試しに手動で実行してみると、それぞれのレプリケーション件数が結果として表示されます。

同期先に指定したCSV ファイル出力先ディレクトリにデータがレプリケーションされたCSV ファイルが確認できました。

CData ArcESB からクラウドECプランAPI に接続

CData API Driver は、CData 製品の中で自動化(AUTOMATE)を担うCData ArcESB からも、もちろん利用できます。

www.arcesb.com

CData ArcESB からクラウドECプランのデータを任意のSaaS やアプリケーションに連携する方法については、こちら の記事をごらんください。

終わりに

この記事で紹介したODBC インタフェースやPower BI コンポーネントExcel Add-In 以外にも、CData API Driver はJDBCADO.NET インタフェース、SSIS やBizTalk コンポーネントなど豊富なインタフェースに対応しており、さまざまなデータ連携ツールや帳票ツールなどからも接続することが可能です。

CData のナレッジベースには、各種ツールからの接続方法を紹介した記事が多数掲載されているので、ぜひ参考にしてください。

www.cdata.com

お試しいただく中で何かご不明な点があれば、テクニカルサポートへお気軽にお問い合わせください。

www.cdata.com