出品用アカウントのトラブルシューティング
出品用アカウントのAPIエラーをトラブルシューティングして解決する方法をご覧ください。
このトピックでは、APIエラーが発生した場合の出品用アカウントのトラブルシューティング方法について説明します。以下のトラブルシューティング方法を使用すると、エラーを突き止め、SP-APIとセラーセントラルの間でAPIコールを正常に送信するのに役立ちます。
販売パートナーAPIには、エラーの追跡に役立つエラーメッセージが表示されます。アカウントの問題と誤ったAPI呼び出しの両方がエラーの原因となる可能性があります。次の例では、 400
からのエラー応答 createFeed
操作は非アクティブなアカウントの問題によって引き起こされました。
{
"errors": [
{
"code": "InvalidInput",
"message": "Invalid request parameters",
"details": ""
}
]
}
エラーコード | 原因 | 解決の手順 |
---|---|---|
400 | からの応答 | 出品者は、このマーケットプレイスでアカウントのステータスを確認する必要があります。以下の点にご注意ください。 |
API エラーのトラブルシューティング
API エラーメッセージを受け取ったら、それがアカウントの問題によるものかどうかを確認する必要があります。以下の条件を確認してください。
- リクエスト自体に問題はありますか?
- すべての出品者が同じ問題を抱えていますか?
- 出品者は指定されたマーケットプレイスで活動していますか?
次のフローチャートは、最適な行動方針を決定するのに役立ちます。
APIエラーの原因の特定
APIエラーを受け取り、問題をすぐに検出するのに役立つ十分な情報がエラーメッセージに含まれていない場合、最初に確認するのはHTTステータスコードです。ステータスコードが200
の場合、API呼び出しは成功しています。ステータスコードが400
または500
クラスの場合、API呼び出しは失敗しています。
たとえば、getOrders
APIは200
クラスを返しますが、応答は空のリストです。この場合、API呼び出しは成功しています。
正しいAPI応答を取得するには、関連するリクエストパラメーターを確認してください。たとえば、クエリパラメーターで指定された日付範囲に注文がないかどうかを調べます。
ザの 500
クラスから、Amazon サーバーがリクエストに応えられなかったことを示す内部サーバーエラーが明らかになります。ただし、のようないくつかの特定の API では getListingOffersBatch
操作。リクエスト本文に誤った URI パラメーターが存在する場合、レスポンスは 500
の代わりに 400
。
以下のテクニカルペーパーでは、以下に関連するトラブルシューティングと最適化戦略について説明しています。 429
そして 403
HTTP ステータスコード:
それでも問題が解決しない場合は、ロールとトークンを確認してください。
ステップ1:ロールとトークンを確認する
エラーを確認した後、エラーコードとメッセージで解決策が得られない場合は、エンジニアリングチームに問い合わせて、最近のコード変更によってAPI呼び出しが失敗した可能性があるかどうかを確認してください。特に新しい API を使用するときは、ロールとトークンのパラメーターを確認してください。
Roles
ロールパラメータを確認するときは、アプリケーションに 正しい役割 API 呼び出し用です。たとえば、ブランドオーナー向けの分析レポート (など) GET_BRAND_ANALYTICS_ALTERNATE_PURCHASE_REPORT
レポート (NA、EU、FE の各地域で入手可能) には、 ブランド分析の役割。また、ロールが開発者プロファイルとアプリケーションの両方に適用されていることを確認してください。または 403
エラーが発生する可能性があります。
アクセストークン
次に、アクセストークンを確認します。API リクエストのタイプに応じて、アクセストークンには主に 3 つのタイプがあります。
- アクセストークン
アクセストークンは、SP-API呼び出しで最も一般的に使用されるアクセストークンです。LWA
オペレーションのクエリパラメーターにrefreshToken
キーを含めると、アクセストークンが応答に表示されます。
- 許可不要のオペレーションのアクセストークン
Grantlessオペレーションのアクセストークンは、以下の目的にのみ使用されます。 grantless operations
。
LWA operation
のクエリパラメーターに必ずscope
パラメーターを含めて、Notifications
APIにはSCOPE_NOTIFICATIONS_API
、Authorization
APIにはSCOPE_MIGRATION_API
を指定してください。
- 制限付きデータトークン
制限付きデータトークン(RDT)は、配送先住所、購入者名、税関連情報などの個人を特定できる情報(PII)データを取得する場合にのみ使用されます。
RDTはTokens
API経由でのみ取得できます。たとえば、開発者がgetOrders
API応答から配送先住所情報を取得する必要がある場合、開発者はまずアクセストークンを使用して、Tokens
API経由でRDTをリクエストし、次に応答のRDTをアクセストークンとして使用して、getOrders
APIを呼び出す必要があります。
新しい API を採用する場合のベストプラクティスは、Postman を使用し、最小限のパラメーターで簡単な API 呼び出しから始めることです。可能な場合は、必須パラメーターのみを使用してください。API 呼び出しが成功したことを確認してから、オプションパラメーターの競合を避けるためにオプションを 1 つずつ追加します。
ロールとトークンを確認したら、パスを確認します。
ステップ2:パスを確認する
パスを確認することで、エラーの原因が出品用アカウントの問題であるかどうかを判断できます。
出品者が同じエラーを受け取っているかどうかを確認するには、HTTPリクエストごとに次の情報を常に記録することをお勧めします。
- リソースパス
- ステータスコード
- エラーメッセージ
- 出品者 ID (マーチャント ID)
- マーケットプレイスID
この情報を記録することで、いつでも確認できる記録が作成され、アカウントの問題を特定しやすくなります。このマーケットプレイス情報は ステップ 3。
エラーが発生した場合は、APIリソースパスを確認してAPIオペレーションを特定し、このリソースパスのログをフィルターで除外して、エラーステータスを持つ出品者の数を特定します。
サービスにバックエンドの問題があると、すべての出品者にエラーが返されます。エラーメッセージは、1人の出品者または限られた出品者グループのみが問題に遭遇した場合に、アカウントの問題が発生していることを示しています。一部の出品者だけがエラーメッセージを受け取っている場合は、問題を特定するためにさらにデバッグを行う必要があります。同じエラーの発生回数を比較することで、次のトラブルシューティング手順を続行する必要があるかどうかを大まかに判断できます。 ステップ 3 または売り手に連絡するため。
ステップ3:影響を受けるマーケットプレイスを特定する
最後のステップは、どちらかを確認することです マーケットプレイス エラーの原因となったアカウントについて、出品者が参加します。
APIコールの失敗は、出品者が誤ったアカウント情報を提供したことが原因である可能性があります。これを回避するには、以下を使用してください。 getMarketplaceParticipations
出品者がどのマーケットプレイスに参加しているかを判断する操作。
以下のいずれかの応答が表示された場合は、このマーケットプレイスのアカウントについて出品者に再確認するか、再承認を依頼してください。
403
+Unauthorized
。- 予想されるマーケットプレイスは回答に含まれていません。
- の価値
isParticipating
このマーケットプレイスのフィールドはfalse
。
極東 (FE) 地域のサンプルレスポンス:
{
"payload": [
{
"marketplace": {
"id": "A1VC38T7YXB528",
"countryCode": "JP",
"name": "Amazon.co.jp",
"defaultCurrencyCode": "JPY",
"defaultLanguageCode": "ja_JP",
"domainName": "www.amazon.jp (http://www.amazon.jp/)“
},
"participation": {
"isParticipating": true,
"hasSuspendedListings": false
}
},
{
"marketplace": {
"id": "A1VN0HAN483KP2",
"countryCode": "JP",
"name": "Non-Amazon",
"defaultCurrencyCode": "JPY",
"defaultLanguageCode": "ja_JP",
"domainName": "jp-shipment-injection.stores.amazon.co.jp"
},
"participation": {
"isParticipating": true,
"hasSuspendedListings": false
}
}
]
}
また、すべてのリソースパスがすべてのマーケットプレイスで利用できるわけではないため、特にレポートAPI、フィードAPI、通知APIの操作でAPIが利用できるかどうかも確認する必要があります。
APIAPIがサポートするマーケットプレイスを確認するには、フィードタイプ、レポートタイプ、通知タイプのドキュメントを参照してください。
アカウントの問題を防ぐ方法の 1 つは、アカウントの監視に役立つ API を設定することです。
アカウントの問題を防ぐためのAPIの使用
API呼び出しを行う前に出品者がアカウントに問題を抱えているかどうかを知ることは、不要なAPIエラーを防ぐのに役立ちます。アカウントのステータスを監視するためにリクエストできる API は 2 つあります。
-
ACCOUNT_STATUS_CHANGED
通知タイプAPI
出品者/マーケットプレイスのペアのアカウントステータスが変わるたびに通知が送信されます。この通知タイプを実装すると、マーチャントのアカウントステータスがNORMAL
、AT_RISK
、またはDEACTIVATED
の間で変わるたびに開発者に通知が届くようになります。currentAccountStatus
がNORMAL
でないと通知された場合は、セラーセントラルから出品用アカウント情報にアクセスしてください。 -
GET_V2_SELLER_PERFORMANCE_REPORT
レポート
このレポートタイプには、セラーセントラルのアカウントヘルスダッシュボードの個々のパフォーマンス指標データが含まれます。次の例のような回答が返されます。ただし、この形式に頼ってはいけません。
{
"accountStatuses":[
{
"marketplaceId":"A1VC38T7YXB528",
"status":"NORMAL"
}
],
"performanceMetrics":[
{
"lateShipmentRate":{},
"invoiceDefectRate":{},
"orderDefectRate":{
"afn":{},
"mfn":{}
},
"onTimeDeliveryRate":{},
"validTrackingRate":{},
"preFulfillmentCancellationRate":{},
"warningStates":[],
"accountHealthRating":{},
"listingPolicyViolations":{},
"productAuthenticityCustomerComplaints":{},
"productConditionCustomerComplaints":{},
"productSafetyCustomerComplaints":{},
"receivedIntellectualPropertyComplaints":{},
"restrictedProductPolicyViolations":{},
"suspectedIntellectualPropertyViolations":{},
"foodAndProductSafetyIssues":{},
"customerProductReviewsPolicyViolations":{},
"otherPolicyViolations":{},
"documentRequests":{},
"marketplaceId":"A1VC38T7YXB528"
}
]
}
GET_V2_SELLER_PERFORMANCE_REPORT
を定期的に呼び出して、performanceMetrics
オブジェクトの第1レベルを確認します。これにはアカウント指標が含まれ、各メトリックスにはステータス情報が含まれます。
GOOD
ステータスに含まれていない指標がある場合は、セラーセントラルで出品用アカウントのステータスを確認して詳細を確認してください。このAPIの採用について詳しくは、「レポートAPIユーザーガイド」をご覧ください。
ACCOUNT_STATUS_CHANGED
とGET_V2_SELLER_PERFORMANCE_REPORT
のAPIとSellers API
組み合わせて使用すると、出品者が参加したマーケットプレイス、そのマーケットプレイスでアカウントが有効かどうか、アカウントのパフォーマンスが低下している兆候がないかどうかを確認できます。
次のフローチャートは、アカウントの問題の防止に関するシステム設計のベストプラクティスをまとめたものです。
Updated 8 months ago