Amazon マーケットプレイスWebサービス(MWS)は、Amazonの出品者が、出品、受注、決済などを、既存システムと自動連携して効率的に処理するために提供されているAPIであり、PHPに向けてクライアントライブラリが提供されています。
しかし、このクライアントライブラリは圧縮されたZIPファイルで提供されており、現時点ではPackagistには公式に登録されていません。
そのため、公式に提供されているZIPファイルを使用して、このクライアントライブラリをComposerで管理するための方法をまとめました。
composer.jsonの編集
composer.jsonに、それぞれAPIのクライアントライブラリごとに、ZIPファイルの場所と、autoloadの設定を記述します。
composer.json
{
"name": "my_project",
"license": "proprietary",
"type": "project",
"repositories": [
{
"type": "package",
"package": {
"name": "mws/orders",
"version": "2013-09-01",
"dist": {
"url": "https://images-fe.ssl-images-amazon.com/images/G/01/mwsportal/clientlib/Orders/2013-09-01/MWSOrdersPHPClientLibrary-2013-09-01._V293335039_.zip",
"type": "zip"
},
"autoload": {
"classmap": ["src/MarketplaceWebServiceOrders/"]
}
}
},
{
"type": "package",
"package": {
"name": "mws/feeds",
"version": "2015-06-18",
"dist": {
"url": "https://images-fe.ssl-images-amazon.com/images/G/01/mwsportal/clientlib/feeds/amazon-mws-v20090101-php-2015-06-18._V316922305_.zip",
"type": "zip"
},
"autoload": {
"classmap": ["src/MarketplaceWebService/"]
}
}
}
]
インストールの実行
あとは、repositoriesに記載したnameを使って、インストールするだけ。
$ composer require mws/orders mws/feeds