id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	modified_flg
1604	外部連携用APIの実装	AMUAMU	AMUAMU	"外部システムや外部サービス等とのシステム連携を容易に実現出来るような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'[[BR]]
JSONの接続先: HTTP_URL . '/api/json.php'[[BR]]
JSONの接続先: HTTP_URL . '/api/json.php'
=== 3.各種パラメーターのうち不要なものを削除 ===
 (後日記述)
=== 4.レスポンスグループ仕様の変更 ===
構造のうち外形のみはAmazon相当とし、attributes項目はEC-CUBE仕様としている。[[BR]]
URL等EC-CUBEであるがため、最低限必要な項目は修正している。[[BR]]
例）ASN ⇒ product_id
=== 5.EC-CUBE独自のOperationの追加 ===
||Operation||概要||備考||
||GetVersion||EC-CUBEバージョン|| ||
||AddrFromZip||郵便番号から住所を取得|| ||
||and more..|| ||

== ●セキュリティ系 ==
EC-CUBE独自のセキュリティ構造を用いている。[[BR]]
現在サポートされているAPIアクセス権限は下記を複合して利用可能[[BR]]
{{{
    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 が上位として扱われる"	新規開発	assigned	高	EC-CUBE2.12.2	フロント	2.12.0 α				0
