Résoudre les problèmes liés aux comptes vendeurs
Découvrez comment dépanner et résoudre les erreurs d'API dans les comptes vendeurs.
Cette rubrique explique comment résoudre les problèmes liés à un compte vendeur lorsque vous rencontrez une erreur d'API. Les méthodes de dépannage suivantes peuvent vous aider à détecter les erreurs et à réussir la transmission d'un appel d'API entre SP-API et Seller Central.
Les API Selling Partner fournissent des messages d'erreur qui vous aident à détecter les erreurs. Les problèmes de compte et les appels d'API incorrects peuvent provoquer une erreur. Dans l'exemple suivant, 400
réponse d'erreur du createFeed
l'opération a été provoquée par un problème de compte inactif.
{
"errors": [
{
"code": "InvalidInput",
"message": "Invalid request parameters",
"details": ""
}
]
}
Code d'erreur | Cause | Étapes à suivre pour résoudre le problème |
---|---|---|
400 | La réponse du | The seller must check their account status in this marketplace. Note that the |
Résolution d'une erreur d'API
Lorsque vous recevez un message d'erreur d'API, vous devez déterminer s'il est dû à un problème de compte. Vérifiez les conditions suivantes :
- Y a-t-il un problème avec la requête elle-même ?
- Les vendeurs rencontrent-ils tous le même problème ?
- Le vendeur est-il actif sur le site de vente concerné ?
Le diagramme suivant peut vous aider à déterminer le plan d'action le plus approprié.
Détermination de la cause d'une erreur API
Lorsque vous recevez une erreur API et que le message d'erreur ne contient pas suffisamment d'informations pour permettre de détecter immédiatement le problème, la première chose à vérifier est le code d'état HTTP. Un code d'état 200
signifie que l'appel d'API a réussi. Un code d'état de série 400
ou 500
indique que l'appel d'API a échoué.
Par exemple, l'API getOrders
renvoie un code de série 200
, mais la réponse est une liste vide. Dans ce cas, l'appel d'API a réussi.
Pour obtenir une réponse appropriée de l'API, vérifiez les paramètres de requête pertinents. Par exemple, vérifiez si la plage de dates spécifiée dans les paramètres de requête est censée ne comporter aucune commande.
Le 500
class révèle une erreur interne du serveur indiquant que le serveur Amazon n'a pas répondu à une demande. Cependant, pour certaines API spécifiques, telles que getListingOffersBatch
opération, si le mauvais paramètre d'URI est présent dans le corps de la demande, la réponse est 500
au lieu de 400
.
Les documents techniques suivants couvrent les stratégies de dépannage et d'optimisation liées à 429
et 403
Codes d'état HTTP :
- Stratégies d'optimisation des limites de débit pour les charges de travail de vos applications
- Erreurs d'autorisation
Si le problème persiste, vérifiez vos rôles et vos jetons.
Étape 1 : vérifier les rôles et les jetons
Après avoir confirmé l'erreur, si le code d'erreur et les messages ne fournissent pas de solution, contactez l'équipe d'ingénierie pour déterminer si des modifications récentes du code auraient pu provoquer l'échec d'un appel d'API. Vérifiez les paramètres des rôles et des jetons, en particulier lors de l'utilisation d'une nouvelle API.
Roles
When checking role parameters, make sure an application has the correct role for the API call. For example, some analytical reports for brand owners (such as the GET_BRAND_ANALYTICS_ALTERNATE_PURCHASE_REPORT
report, which is available in the NA, EU and FE regions) require the Brand Analytics role. Also, make sure the role is applied to both the developer profile and the application, or a 403
error can occur.
Jetons d'accès
Ensuite, vérifiez les jetons d'accès. Il existe trois principaux types de jetons d'accès en fonction du type de demande d'API.
- Le jeton d'accès
The access token is the most commonly used access token for SP-API calls. If you include the refreshToken
key in the query parameter of the LWA
operation, then the access token appears in the response.
- Jeton d'accès pour les opérations sans autorisation
The access token for Grantless operations is only used for grantless operations
.
Include the scope
parameter in the query parameter of the LWA operation
, specifying either SCOPE_NOTIFICATIONS_API
for the Notifications
API or SCOPE_MIGRATION_API
for the Authorization
API.
- Jeton de données restreint
Un jeton de données restreint (RDT) est uniquement utilisé pour récupérer des informations personnelles identifiables (PII), telles que l'adresse de livraison, le nom de l'acheteur ou des informations fiscales.
An RDT can only be retrieved via the Tokens
API. For example, if a developer needs to retrieve shipping address information from the getOrders
operation response, the developer must first use the access token to request an RDT via theTokens
API, and then use the RDT from the response as the access token to call the getOrders
operation.
Lors de l'adoption d'une nouvelle API, la meilleure pratique consiste à utiliser Postman et à commencer par un simple appel d'API avec les paramètres minimaux. Dans la mesure du possible, utilisez uniquement les paramètres requis. Assurez-vous que l'appel d'API est réussi, puis ajoutez les options une par une pour éviter les conflits entre les paramètres facultatifs.
Après avoir vérifié les rôles et les jetons, vérifiez les chemins.
Étape 2 : vérifier les chemins
La vérification des chemins vous permet de déterminer si une erreur provient de problèmes liés au compte vendeur.
Pour déterminer si les vendeurs reçoivent le même message d'erreur, nous vous recommandons de consigner en permanence les informations suivantes pour chaque requête HTTP.
- Chemin d'accès aux ressources
- Code d'état
- Message d'erreur
- Identifiant du vendeur (identifiant du vendeur)
- Identifiant du site de vente
By logging this information, you're creating records that can be reviewed at any time to help you identify issues with your account. This marketplace information is used in Step 3.
En cas d'erreur, vérifiez le chemin de la ressource API pour identifier l'opération API, puis filtrez le journal selon ce chemin de ressource afin de déterminer combien de vendeurs ont un statut d'erreur.
If a service is having backend issues, the error returns for all sellers. The error message is indicative of an account issue if only one seller, or a limited group of sellers, encounters it. If only some sellers are getting an error message, you'll need to do more debugging to find the issue. By comparing the number of occurrences of the same error, you can roughly determine whether the next troubleshooting step is to continue to Step 3 or to reach out to sellers.
Étape 3 : déterminer le site de vente concerné
The final step is to check which marketplace the seller participates in, for the account causing the error.
API call failures can come from sellers providing you with incorrect account information. To avoid this, use the getMarketplaceParticipations
operation to determine which marketplaces a seller is participating in.
Si vous recevez l'une des réponses suivantes, contactez le vendeur concernant son compte sur ce site de vente ou demandez-lui de procéder à une nouvelle autorisation :
403
+Unauthorized
.- Le site de vente attendu n'est pas inclus dans la réponse.
- La valeur de
isParticipating
le champ de cette place de marché estfalse
.
Exemple de réponse pour la région de l'Extrême-Orient (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
}
}
]
}
You can check whether the API is available for the marketplace, especially for Reports API, Feeds API and Notifications API operations, because not all resource paths are available for every marketplace.
To determine which marketplace an API supports, refer to the Feeds Type, Reports Type and the Notification Type documentation.
L'un des moyens de prévenir les problèmes de compte consiste à configurer des API pour vous aider à surveiller votre compte.
Utilisation d'API pour éviter les problèmes liés aux comptes
Il est utile de savoir si un vendeur a un problème de compte avant d'effectuer l'appel d'API pour éviter des erreurs d'API inutiles. Vous pouvez demander deux API pour surveiller l'état d'un compte.
-
ACCOUNT_STATUS_CHANGED
Notification
A notification is sent whenever the account status changes for seller/marketplace pairs. By implementing this notification type, developers receive a notification whenever the merchant's account status changes betweenNORMAL
,AT_RISK
, orDEACTIVATED
. Go to Seller Account Information from Seller Central if notified that thecurrentAccountStatus
is notNORMAL
. -
GET_V2_SELLER_PERFORMANCE_REPORT
Report
This report type contains individual performance metrics data from the Seller Central Account Health dashboard. We provide a response similar to the following example. However, you must not rely on this format.
{
"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"
}
]
}
Appelez régulièrement l'opération GET_V2_SELLER_PERFORMANCE_REPORT
et vérifiez le premier niveau de l'objet performanceMetrics
. Il inclut des indicateurs sur le compte et chaque indicateur contient des informations sur le statut.
If any metrics are not in GOOD
status, check the seller’s account status in Seller Central for further information. Refer to the Reports API Use Case Guide for more information on adopting this API.
By combining the ACCOUNT_STATUS_CHANGED
and GET_V2_SELLER_PERFORMANCE_REPORT
APIs with the Sellers API
, you can determine which marketplaces the seller participated in, whether the account is active in this marketplace, and whether there are any indications of poor account performance.
Le diagramme suivant présente les meilleures pratiques en matière de conception de systèmes pour prévenir les problèmes liés aux comptes.
Updated 8 months ago