Amazon セラーインド — SP-API エージェントスキル は何をしますか?
このスキルを使うべき時
ユーザーが以下のことを依頼した場合にこのスキルを使用します:
- Amazon SP-API 認証の設定またはトラブルシューティング(LWA OAuth、リフレッシュトークン、アクセストークン)
- Amazon セラーセントラルインドでのプライベートディベロッパー登録
- プライベート SP-API アプリケーションの自己認証
- インドマーケットプレイス向けの Amazon セリングパートナー API 呼び出し
- SP-API を介した注文、在庫、リスト作成、価格設定、フルフィルメントの管理
- レポートの取得(決済、GST/税、在庫、注文、FBA、パフォーマンス)
- フィードの送信(リスト作成、価格設定、注文フルフィルメント、FBA 入庫)
- Amazon ファイナンス、支払い、決済調整の処理
- PII を含む機密操作のための制限付きデータトークン(RDT)の処理
- FBA 入庫出荷、イージーシップ、外部フルフィルメントの管理
- カタログアイテム、製品タイプ、ブランド分析の取得
- SP-API 通知またはサブスクリプションの設定
- Amazon セラーインドのデータと Zoho Books/在庫管理または他の会計システムとの統合
インドマーケットプレイス定数
| パラメータ | 値 |
|---|---|
| マーケットプレイス ID | A21TJRUUN4KGV |
| 国コード | IN |
| SP-API エンドポイント | https://sellingpartnerapi-eu.amazon.com |
| AWS リージョン | eu-west-1 |
| セラーセントラル URL | https://sellercentral.amazon.in |
| LWA トークンエンドポイント | https://api.amazon.com/auth/o2/token |
インドは SP-API の 欧州 販売地域に属します。すべての API 呼び出しは
sellingpartnerapi-eu.amazon.comに送信されます。
クイックリファレンス
- 認証設定(初回登録、開発者プロファイル、自己認証、資格情報収集)の場合:
references/auth-setup-guide.mdを読み込む - 完全な API 操作カタログ(すべての API、エンドポイント、レポートタイプ、フィードタイプ、ロール)の場合:
references/api-operations-catalog.mdを読み込む - すぐに使えるスクリプト(トークン交換、API 呼び出し)の場合:
scripts/ディレクトリを参照
手順
ステップ 1: 資格情報の収集
API 呼び出しを行う前に、ユーザーから次の資格情報を収集します:
- LWA クライアント ID —
amzn1.application-oa2-client.xxxxx(セラーセントラル → アプリとサービス → アプリの開発 → LWA 認証情報) - LWA クライアントシークレット — クライアント ID とペアになったシークレット
- LWA リフレッシュトークン — 自己認証時に取得(長期有効な資格情報)
ユーザーがまだ開発者プロファイルまたはアプリケーションを設定していない場合は、完全な認証設定手順を案内します。references/auth-setup-guide.md を読み込んでステップバイステップガイドを参照してください。
ステップ 2: リフレッシュトークンをアクセストークンに交換
すべての SP-API 呼び出しには短命のアクセストークン(有効期限 3600 秒 / 1 時間)が必要です。
curl -X POST "https://api.amazon.com/auth/o2/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=refresh_token" \
-d "refresh_token=${REFRESH_TOKEN}" \
-d "client_id=${CLIENT_ID}" \
-d "client_secret=${CLIENT_SECRET}"
レスポンス:
{
"access_token": "Atza|IQEBLjAs...",
"token_type": "bearer",
"expires_in": 3600
}
再利用可能な Python 実装については scripts/get_access_token.py を使用してください。
ステップ 3: SP-API 呼び出しの実行
すべてのインドマーケットプレイス呼び出しでは以下を使用します:
- エンドポイント:
https://sellingpartnerapi-eu.amazon.com - マーケットプレイス ID クエリパラメータ:
marketplaceIds=A21TJRUUN4KGV - ヘッダー:
x-amz-access-token: {access_token}user-agent: {AppName}/{Version} (Language=Python/3.x; Platform=Linux)
例 — 注文の取得:
curl -X GET "https://sellingpartnerapi-eu.amazon.com/orders/v0/orders?MarketplaceIds=A21TJRUUN4KGV&CreatedAfter=2026-01-01T00:00:00Z" \
-H "x-amz-access-token: ${ACCESS_TOKEN}" \
-H "user-agent: MyApp/1.0 (Language=Python/3.10)"
ステップ 4: 制限付きデータの処理(PII)
一部の操作では個人情報(購入者名、住所、電話番号)が返されます。これらには通常のアクセストークンの代わりに**制限付きデータトークン(RDT)**が必要です。
RDT の取得:
curl -X POST "https://sellingpartnerapi-eu.amazon.com/tokens/2021-03-01/restrictedDataToken" \
-H "x-amz-access-token: ${ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"restrictedResources": [
{
"method": "GET",
"path": "/orders/v0/orders/{orderId}",
"dataElements": ["buyerInfo", "shippingAddress"]
}
]
}'
その後、制限付き呼び出しの x-amz-access-token ヘッダーに返された restrictedDataToken の値を使用します。
制限付き操作には以下が含まれます:
- 注文 API:
getOrders、getOrder、getOrderItems、getOrderAddress、getOrderBuyerInfo、confirmShipment - Merchant Fulfillment API:
getShipment、createShipment - Easy Ship API:
createScheduledPackageBulk - PII を含むレポート(配送レポート、税レポート)
ステップ 5: 一般的なワークフロー
決済レポートの取得(Zoho Books 調整用)
POST /reports/2021-06-30/reports
{
"reportType": "GET_V2_SETTLEMENT_REPORT_DATA_FLAT_FILE_V2",
"marketplaceIds": ["A21TJRUUN4KGV"]
}
その後、ステータスが DONE になるまで GET /reports/2021-06-30/reports/{reportId} をポーリングし、reportDocumentId を介してダウンロードします。
GST レポートの取得(インド固有)
| レポート | reportType 値 | 必要なロール |
|---|---|---|
| GST MTR B2B | GST_MTR_B2B | Tax Remittance(制限付き) |
| GST MTR B2C | GST_MTR_B2C | Tax Remittance(制限付き) |
| GST 在庫移動 | GST_MTR_STOCK_TRANSFER_REPORT | Tax Remittance(制限付き) |
| オンデマンド GST B2B | GET_GST_MTR_B2B_CUSTOM | Tax Invoicing(制限付き) |
| オンデマンド GST B2C | GET_GST_MTR_B2C_CUSTOM | Tax Invoicing(制限付き) |
| オンデマンド在庫移動 | GET_GST_STR_ADHOC | Amazon Fulfillment |
在庫の更新
Listings Items API またはフィードの送信を使用:
POST /feeds/2021-06-30/feeds
{
"feedType": "JSON_LISTINGS_FEED",
"marketplaceIds": ["A21TJRUUN4KGV"],
"inputFeedDocumentId": "{feedDocumentId}"
}
価格の更新
POST /feeds/2021-06-30/feeds
{
"feedType": "JSON_LISTINGS_FEED",
"marketplaceIds": ["A21TJRUUN4KGV"],
"inputFeedDocumentId": "{feedDocumentId}"
}
個別の価格更新には Listings Items API の patchListingsItem を使用します。
エラーハンドリング
| HTTP コード | 意味 | 対応 |
|---|---|---|
| 400 | 不正なリクエスト / 無効なパラメータ | クエリパラメータ、マーケットプレイス ID、日付形式を確認 |
| 401 | 無効または期限切れのアクセストークン | リフレッシュトークンを新しいアクセストークンに再交換 |
| 403 | ロール不足または認可されていない | 開発者プロファイルのロールを確認; 追加のロールが必要な場合あり |
| 404 | リソースが見つからない | 注文 ID、ASIN、SKU が存在するか確認 |
| 429 | レート制限超過 | バックオフし、指数バックオフで再試行 |
| 500/503 | Amazon サーバーエラー | 指数バックオフで再試行(最大 3 回) |
レート制限
SP-API は操作ごとにレート制限を適用します。高ボリューム操作の主な制限:
- getOrders: 0.0167 リクエスト/秒(1 分あたりバースト 20)
- getOrder: 0.5 リクエスト/秒(バースト 30)
- getOrderItems: 0.5 リクエスト/秒(バースト 30)
- createReport: 0.0167 リクエスト/秒(1 分あたりバースト 15)
- getReport: 2 リクエスト/秒(バースト 15)
- Catalog Items searchCatalogItems: 2 リクエスト/秒(バースト 2)
- Listings patchListingsItem: 5 リクエスト/秒(バースト 10)
- Feeds createFeed: 0.0083 リクエスト/秒(2 分あたり 1 リクエスト、バースト 15)
429 レスポンスには常に指数バックオフを実装してください。
重要な注意点
- AWS IAM/STS 不要: 2023 年以降、SP-API では AWS Signature V4 署名や IAM ロール引き受けは不要になりました。LWA OAuth トークンのみが必要です。
- 権限不要の操作: 一部の操作(例: Notifications API サブスクリプション)では、
refresh_tokenの代わりにclient_credentialsグラントを使用します。grant_type=client_credentialsとともにscope=sellingpartnerapi::notificationsを使用してください。 - サンドボックステスト: SP-API はテスト用に静的および動的サンドボックス環境を提供しています。静的サンドボックスでは
x-amzn-sandbox: trueヘッダーを、動的サンドボックスではサンドボックスエンドポイントパターンを使用します。 - インドのタイムゾーン: Amazon インドは IST (UTC+5:30) で運用されています。注文日とレポート日は UTC です。必要に応じて変換してください。
- 決済サイクル: Amazon インドは通常 7 日ごとに決済します。決済レポートには、手数料、返金、正味支払額を含むすべてのトランザクションレベルの詳細が含まれます。