Ticket #2102 (closed 新規開発: 修正済)
外部連携用APIの実装
| Reported by: | h_yoshimoto | Owned by: | somebody |
|---|---|---|---|
| Priority: | 高 | Milestone: | EC-CUBE2.13.0 |
| Component: | その他 | Version: | 2.12.2 |
| Keywords: | Cc: | AMUAMU | |
| 修正済み: | yes |
Description
外部システムや外部サービス等とのシステム連携を容易に実現出来るようなAPI機能を標準機能として実装する。
●機能概要
「Amazon Product Advertising API https://images-na.ssl-images-amazon.com/images/G/09/associates/paapi/dg/index.html」の仕様を元に、EC-CUBE用に実装。
●主な差異点
1.リクエストはREST APIのみ実装
Amazon APIと同名・基本リクエスト型が同じである対応するOperationは下記
| Operation | 概要 | 備考 |
| BrowseNodeLookup? | カテゴリ参照 | |
| ItemLookup? | 商品詳細参照 | |
| ItemSearch? | 商品検索 | |
| CartAdd? | カートへの追加 | (未動作) |
| CartClear? | カートのクリア | (未動作) |
| CartCreate? | カートの作成 | (未動作) |
| CartGet? | カート情報の取得 | (未動作) |
| CartModify? | カートの修正 | (未動作) |
リクエストパラメーターのうち、オプションのものは、ほとんどが非対応(EC-CUBEには対応する情報が無いため)
2.レスポンスはXML。EC-CUBE独自追加でJSON,PHP Serialize TEXTを追加。
XMLの接続先: HTTP_URL . '/api/xml.php'
JSONの接続先: HTTP_URL . '/api/json.php'
PHP Serializeの接続先: HTTP_URL . '/api/php.php'
3.各種パラメーターのうち不要なものを削除
(後日記述)
4.レスポンスグループ仕様の変更
構造のうち外形のみはAmazon相当とし、attributes項目はEC-CUBE仕様としている。
URL等EC-CUBEであるがため、最低限必要な項目は修正している。
例)ASN ⇒ product_id
5.EC-CUBE独自のOperationの追加
| Operation | 概要 | 備考 |
| GetVersion? | EC-CUBEバージョン | |
| AddrFromZip? | 郵便番号から住所を取得 | |
| and more.. |
●セキュリティ系
EC-CUBE独自のセキュリティ構造を用いている。
現在サポートされているAPIアクセス権限は下記を複合して利用可能
const API_AUTH_TYPE_REFERER = '1'; // リファラー
const API_AUTH_TYPE_SESSION_TOKEN = '2'; // CSRF TOKEN
const API_AUTH_TYPE_API_SIGNATURE = '3'; // API 署名認証 推奨
const API_AUTH_TYPE_CUSTOMER = '4'; // 会員認証
const API_AUTH_TYPE_MEMBER = '5'; // 管理者認証
const API_AUTH_TYPE_CUSTOMER_LOGIN_SESSION = '6'; // 顧客ログインセッションが有効
const API_AUTH_TYPE_MEMBER_LOGIN_SESSION = '7'; // 管理者ログインセッションが有効
const API_AUTH_TYPE_IP = '8'; // IP認証
const API_AUTH_TYPE_HOST = '9'; // ホスト認証
const API_AUTH_TYPE_SSL = '10'; // SSL強制
const API_AUTH_TYPE_OPEN = '99'; // 完全オープン
API毎にプログラムデフォルトがあり、設定はdtb_api_config が上位として扱われる
Change History
comment:5 Changed 12 years ago by h_yoshimoto
本チケットは以上で対応済とさせていただきます。
今後の追加開発については別チケット作成にて対応予定です。
今後は下記に情報をまとめていきます。
http://svn.ec-cube.net/open_trac/wiki/API%E9%96%A2%E9%80%A3%E6%83%85%E5%A0%B1

#1604 からの引継ぎ