
セリングパートナーAPI(SP-API)は、Amazonのセリングパートナー向けの自動化機能の次世代APIスイートで、AmazonマーケットプレイスWebサービス(MWS)APIが進化したものです。MWSはAmazonの重要な機能へのプログラムによるアクセスを10年以上提供してきました。SP-APIが公開されれば、現在MWSをサポートしているすべてのAmazonの店舗において本番環境で利用できるようになります。
現在、MWSを利用している開発者の方は、2024年4月1日までにSP-APIに移行する必要があります。(2023年1月23日時点の情報)
Selling Partner API for Catalog Items
Catalog-ItemsのAPIは、カタログ内のアイテム情報の詳細を取得することができます。
環境準備
PythonでSP-APIを利用するためには、python-amazon-sp-apiライブラリをインストールする必要があります。私はaws lambdaでpythonを実行するので、lambdaの対象プロジェクトにライブラリをインストールするために「-t .」のオプションをつけています
pip install python-amazon-sp-api -t .
SP-APIの実行には資格情報が必要です。資格情報は、credentialsにまとめて格納しておくと便利です。それぞれの値の取得方法は別記事で紹介します。
credentials : {
"refresh_token":リフレッシュトークン,
"lwa_app_id":クライアントID,
"lwa_client_secret": クライアント秘密情報,
"aws_access_key":AWSアクセスキー,
"aws_secret_key":AWSシークレットキー
}
API実行
CatalogItems APIは以下の操作を提供しています。
searchCatalogItems Amazon カタログ アイテムと関連情報のリストを検索して返します。
getCatalogItems Amazon カタログ内のアイテムの詳細を取得します。
searchCatalogItems
from sp_api.api import CatalogItems
from sp_api.base.marketplaces import Marketplaces
def lambda_handler(event, context):
#CatalogItems API利用のためのオブジェクト生成
obj = CatalogItems(marketplace=Marketplaces.JP,
credentials=event['credentials'])
#検索に必要な値を設定し商品情報を取得
result = obj.search_catalog_items(keywords='test',
pageSize=1,
brandNames=None,
includedData='images,summaries',
classificationIds='')
return result.payload
パラメータの説明
実行結果(例)
{
"numberOfResults": 682495,
"refinements": {
"brands": [
{
"numberOfResults": 31634,
"brandName": "DFV mobile"
},
{
"numberOfResults": 11337,
"brandName": "HM&CL"
},
{
"numberOfResults": 10035,
"brandName": "Yise Knight"
},
{
"numberOfResults": 9922,
"brandName": "House Of Candles"
},
{
"numberOfResults": 7716,
"brandName": "Independently Published"
},
{
"numberOfResults": 7040,
"brandName": "QIAOMEL"
},
{
"numberOfResults": 5546,
"brandName": "Routledge"
},
{
"numberOfResults": 5153,
"brandName": "XXXXXbrand"
},
{
"numberOfResults": 5070,
"brandName": "Jpp"
},
{
"numberOfResults": 4890,
"brandName": "Createspace Independent Publishing Platform"
}
],
"classifications": [
{
"numberOfResults": 236985,
"displayName": "洋書",
"classificationId": "52231011"
},
{
"numberOfResults": 132804,
"displayName": "家電&カメラ",
"classificationId": "3210991"
},
{
"numberOfResults": 53667,
"displayName": "ファッション",
"classificationId": "2229203051"
},
{
"numberOfResults": 43870,
"displayName": "ホーム&キッチン",
"classificationId": "3839151"
},
{
"numberOfResults": 39640,
"displayName": "産業・研究開発用品",
"classificationId": "3445394051"
},
{
"numberOfResults": 31742,
"displayName": "DIY・工具・ガーデン",
"classificationId": "2016930051"
},
{
"numberOfResults": 27062,
"displayName": "車&バイク",
"classificationId": "2017305051"
},
{
"numberOfResults": 23699,
"displayName": "DVD",
"classificationId": "562002"
},
{
"numberOfResults": 23013,
"displayName": "パソコン・周辺機器",
"classificationId": "2127210051"
},
{
"numberOfResults": 18235,
"displayName": "本",
"classificationId": "465610"
}
]
},
"items": [
{
"asin": "1260470350",
"images": [
{
"marketplaceId": "A1VC38T7YXB528",
"images": [
{
"variant": "MAIN",
"link": "https://m.media-amazon.com/images/I/41kSp18z0gL.jpg",
"height": 500,
"width": 389
},
{
"variant": "PT01",
"link": "https://m.media-amazon.com/images/I/41W8uD-hSoS.jpg",
"height": 311,
"width": 500
},
{
"variant": "PT02",
"link": "https://m.media-amazon.com/images/I/41RJrpym0US.jpg",
"height": 309,
"width": 500
}
]
}
],
"summaries": [
{
"marketplaceId": "A1VC38T7YXB528",
"brandName": "McGraw-Hill Education",
"browseNode": "97801011",
"itemName": "The Official Guide to the TOEFL iBT Test (Official Guide to the TOEFL Test)",
"manufacturer": "McGraw-Hill"
}
]
}
]
}
getCatalogItems Amazon カタログ内のアイテムの詳細を取得します。
from sp_api.api import CatalogItems
from sp_api.base.marketplaces import Marketplaces
def lambda_handler(event, context):
#CatalogItems API利用のためのオブジェクト生成
obj = CatalogItems(marketplace=Marketplaces.JP,
credentials=event['credentials'])
#検索に必要な値を設定し商品情報を取得
result = obj.get_catalog_item(asin='B09JFLJTZG')
return result.payload
パラメータの説明
実行結果(例)
{
"asin": "B09JFLJTZG",
"summaries": [
{
"marketplaceId": "A1VC38T7YXB528",
"brandName": "Amazon",
"browseNode": "2285132051",
"colorName": "BLACK",
"itemName": "Fire TV Stick 4K Max - Alexa対応音声認識リモコン(第3世代)付属 | ストリーミングメディアプレーヤー",
"manufacturer": "Amazon",
"modelNumber": "K2R2TE"
}
]
}
パラメータをいろいろ設定し、必要なデータを取得できるようになりましょう。
Comentarios