【EC-CUBE】APIを使ってみる


EC-CUBEにはあんまりメジャーじゃないですが、
2.12からAPIが導入されています。

一番簡単なAPIを使ってみる

まず、管理画面のシステム設定>パラメータ設定で「API_ENABLE_FLAG」というAPIを有効にするかどうかというフラグがあるので「true」に設定します。
(※上記設定は2.13から。2.12の時は設定切り替えができずデフォルトでtrueだったはず)

そして、ブラウザに下記のようなURLを打ち込んで実行します。

http://{EC-CUBEのサイトのドメイン}/api/xml.php?Operation=GetVersion&Service=abc

実行すると使用しているEC-CUBEのバージョンをXML形式で返してくれます。

試しにEC-CUBEのデモサイトで使ってみる

先ほど使用したのと全く一緒のURLを実行してみます。

http://demo.ec-cube.net/api/xml.php?Operation=GetVersion&Service=abc


データが出力されました。
デモサイトは2.12.5みたいですね。

他のフォーマット形式も試してみます。
先ほどのURLの「xml.php」を「json.php」に変更します。

http://demo.ec-cube.net/api/json.php?Operation=GetVersion&Service=abc


データがJSON形式で返されてくるのが確認できました。

じゃあ、今度は「php.php」にしてみます。

http://demo.ec-cube.net/api/php.php?Operation=GetVersion&Service=abc


シリアライズされたデータが取得できました。

使用したパラメータを見てみる

Operation

APIの動作を指定します。今回でいえば「GetVersion」です。
他にもAPIのOperationに指定できる値はありますが……
「data/class/api/operations」をのぞいてみるといいかも。

Service

何に使うかよくわからない任意の文字列です。
必須項目なのですが何を渡しても問題ありません。
おそらく名称がサービスなので、
サービスを指定して何かやりたかったんだと思います。

まとめ

デフォルトで用意されている動作だけではイマイチ使いにくいAPIではありますが
自分でAPIを作れるようになると別アプリとの連携が意外と楽になったりします。
2系を使用してかつ外部連携がありそうならば、こういう機能を覚えていてもいいのではないでしょうか。