こんにちは。CData Software Japan の色川です。
この記事では、Web API を ODBC / JDBC / ADO.NET といった標準のDB 接続規格でアクセスできるようにするCData API Driver を利用して、クラウドEC システムである「GMO クラウドEC クラウドECプラン」のAPI に皆さんが使いなれている色々なツールから接続する方法を紹介します。
CData API Driver を使うことで、Excel やAccess、Power BI などエンドユーザー向けのツールはもちろん、Visual Stduio やEclipse、A5:SQL Mk-2 といった開発者向けツール、ODBC やJDBC 規格に対応した連携ツールや帳票ツールなどからも「GMO クラウドEC クラウドECプラン」のAPI に接続してデータを取得することが可能です。
GMO クラウドEC クラウドECプランとは
GMO クラウドEC は、本格的なEC サイト構築のために必要な、インフラからショップフロント構築のノウハウを結集したソリューションでパッケージ・クラウドの両形式が提供されています。
その中でクラウドECプランは、クラウド上でフルオーダーメイドできる最新のクラウドEC システムです。中規模以上のEC サイト構築に向いており、事業者ごとの専用クラウド環境とヘッドレス構成(Headless Commerce)によって、カスタマイズへの柔軟な対応が可能になっているソリューションです。
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 は様々なツールとの接続に利用できますが、今回は以下のツールを用いて接続する方法を解説していきます。
- Excel(Excel 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 圧縮された定義ファイル群です。
興味のある方はこちらの記事などを参考にカスタマイズしてみてください。触っていると大変良くできた面白い仕組みになっているのが分かります。
CData API Driver のインストール
それぞれのツールとクラウドECプランのAPI を繋ぐために必要となるCData API Driver をインストールします。
基本的なインストールや設定方法はODBC / JDBC / ADO.NET やExcel Add-In など各Driver 共通です。ここではODBC Driver を例に説明します。
まず、API Driver for ODBC の30日間の評価版をダウンロードします。
ダウンロードしたインストーラを実行してください。インストールウィザードに従い、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から入手できます。
インストール後、A5:SQL Mk-2 を起動したら、データベースの追加と削除で接続情報を登録します。これまでに既にODBC データソースは構成していますので「ODBC システムデータソースを列挙する」で簡単に接続してしまいます。
データベースエクスプローラーから、クラウドECプラン用に作成したDSN を選択して、接続します。これで接続は完了です。
このようにクラウドECプランのオブジェクトにアクセスができるようになりました。
クエリしてみると、データの取得が確認できます。
CData Sync からクラウドECプランAPI に接続
続いて、SaaS データのDB/DWH への連携/パイプラインを実現する CData Sync からクラウドECプランのデータを任意の同期先DB に連携します。
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 からも、もちろん利用できます。
CData ArcESB からクラウドECプランのデータを任意のSaaS やアプリケーションに連携する方法については、こちら の記事をごらんください。
終わりに
この記事で紹介したODBC インタフェースやPower BI コンポーネント、Excel Add-In 以外にも、CData API Driver はJDBC やADO.NET インタフェース、SSIS やBizTalk コンポーネントなど豊富なインタフェースに対応しており、さまざまなデータ連携ツールや帳票ツールなどからも接続することが可能です。
CData のナレッジベースには、各種ツールからの接続方法を紹介した記事が多数掲載されているので、ぜひ参考にしてください。
お試しいただく中で何かご不明な点があれば、テクニカルサポートへお気軽にお問い合わせください。