FAQ sur les erreurs SP-API
Foire aux questions concernant les erreurs SP-API.
Astuce
Pour vérifier l'état actuel de toutes les API SP, reportez-vous au Tableau de bord de santé des API. Vous pouvez accéder au tableau de bord de l'état de l'API à tout moment en sélectionnant le État de l'API bouton en haut à droite du site de documentation du SP-API.
Erreurs courantes
Pourquoi est-ce que je reçois un null
valeur enum ?
null
valeur enum ?Sélectionnez pour développer la réponse.
Vous utilisez une version de modèle obsolète. Mettez à jour la version du modèle Swagger dans votre intégration (par exemple, régénérez les bibliothèques clientes) et réessayez.
Comment puis-je éviter les erreurs de limitation ?
Sélectionnez pour développer la réponse.
Dans l'API SP, le algorithme de bucket de jetons limite les taux de demande. Pour plus d'informations sur la manière d'éviter les erreurs d'étranglement, reportez-vous à Plans d'utilisation et limites de débit dans le SP-API.
Opérations par lots
Les opérations par lots suivantes sont disponibles pour SP-API :
Pour plus d'informations, consultez le Annonce de sortie du SP-API en mai 2022.
API Notification
Cette API envoie des notifications au lieu de devoir envoyer plusieurs requêtes à d'autres API. Pour plus d'informations, consultez le Guide des cas d'utilisation de l'API Notifications v1.
Limiteur de débit
Pour savoir comment implémenter un limiteur de débit côté client, reportez-vous à Optimisez les limites de débit pour les charges de travail des applications.
Pourquoi est-ce que je reçois un message “Traitement en cours” pour l'appel de l'API Transactions ?
Sélectionnez pour développer la réponse.
L'état de la transaction sera pris en charge pour les opérations d'API suivantes :
- Accuser réception de la commande
- Soumettre les confirmations d'expédition
- Soumettre des mises à jour d'état des expéditions
- Demande d'étiquette d'expédition
- Flux de stock
Si le statut de la transaction n'est pas passé de Processing
pour Failure
ou Success
après 5 minutes, la transaction n'a pas été finalisée avec succès dans notre système. Si le statut de la transaction est réussi, le statut passe à Success
. Si le statut de la transaction est réussi, le statut passe à Failure
et possède un code d'erreur associé.
Vous ne pouvez pas utiliser cette API pour Invoice
messages car leur vérification n'est pas prise en charge et le statut sera toujours Processing
.
Pour les demandes d'étiquettes d'expédition, si la transaction a échoué avec un code de raison d'erreur du terminal (par exemple, Internal server error
), vous devez contacter l'équipe d'assistance aux développeurs de l'API Selling Partner à l'aide du Nous contacter formulaire d'enquête. Cela est dû à des contraintes opérationnelles.
Pourquoi est-ce que je reçois un message d'erreur lorsque j'appelle l'opération “Soumettre des factures” ?
Sélectionnez pour développer la réponse.
Les paramètres de l'opération doivent être correctement renseignés. Tenez compte des points suivants lorsque vous renseignez les paramètres pour effectuer l'appel d'API :
- Les numéros de facture doivent être uniques et ne doivent jamais être réutilisés (même après un an).
- Si une facture envoyée par API échoue en raison de données incorrectes mais que la facture papier contient les données correctes, le fournisseur doit la mettre à jour via l'API avec les données correctes sous le même numéro de facture.
- Si la facture (papier et API) contient des données incorrectes, la facture est annulée et une nouvelle facture doit être envoyée avec un nouveau numéro de facture.
- Aucune facture avec le montant total
0
doit être envoyé, car cela entraînerait l'échec de la facture. - Amazon a besoin de l'adresse complète dans les segments d'adresse pour des raisons de conformité fiscale. Cette exigence est particulièrement importante pour la partie à facturer. Pour ce segment, le système Amazon Payee nécessite une correspondance exacte.
- Les conditions de paiement envoyées sur la facture doivent correspondre aux conditions de paiement convenues avec l'acheteur Amazon
- L'identifiant de l'article commandé doit correspondre à celui qui a été envoyé au fournisseur dans le bon de commande correspondant. Le montant total de la facture doit être égal à la somme totale des articles, des frais et des indemnités.
- Le total du montant des taxes au niveau de chaque ligne doit être égal au total du montant des taxes au niveau de l'en-tête.
- La quantité totale de la facture doit correspondre à la somme de la quantité de tous les articles. Chaque frais et indemnité doit être détaillé au niveau de l'en-tête.
Si l'un de ces paramètres est manquant ou mal renseigné, l'appel d'API récupérera des informations incorrectes. Assurez-vous de fournir les informations requises lors de la soumission de l'opération.
Pourquoi est-ce que je reçois une erreur SPDC300 ?
Sélectionnez pour développer la réponse.
Cette erreur peut être due à l'utilisation de certaines balises HTML, en particulier les balises d'en-tête <h1><h2><h3><h4>
. Supprimez ces balises d'en-tête et utilisez uniquement les balises fournies dans l'éditeur de texte.
Cette erreur peut également indiquer que le compte est passé à l'état inactif en raison d'une absence d'activité. Vous pouvez mettre à jour les informations relatives à votre carte de crédit pour réactiver le compte. La prochaine fois que vous vous connecterez à Seller Central, vous serez redirigé vers la page de mise à jour de la carte de crédit. Votre compte sera rétabli environ 48 heures après la mise à jour de la carte de crédit.
Pourquoi est-ce que je reçois un code d'erreur 500 lorsque je fais une demande pour obtenir un jeton d'accès LWA dans Postman ?
Sélectionnez pour développer la réponse.
Si vous recevez une erreur interne au serveur 500, vérifiez que Content-Type header est réglé sur application/x-www-form-urlencoded
et les paramètres de requête sont ajoutés au corps et non en tant que paramètres de requête.
Pourquoi est-ce que je reçois un code d'erreur 500 lorsque j'envoie une demande vers un point de terminaison de l'environnement de test ?
Sélectionnez pour développer la réponse.
L'environnement de test SP-API fonctionne comme de nombreux outils de simulation. En effet, il utilise la correspondance de modèles pour renvoyer une réponse spécifique lorsque les paramètres indiqués sont réunis. Un développeur reçoit une réponse définie dans l'objet x-amazon-spds-sandbox-behaviors
lorsqu'il envoie une demande incluant les paramètres indiqués.
Si la demande envoyée au point de terminaison de l'environnement de test ne correspond pas aux valeurs des paramètres de l'objet x-amazon-spds-sandbox-behaviors
, vous recevrez une “Erreur de serveur interne 500” dans la réponse. Vous devez envoyer la demande avec les valeurs exactes spécifiées dans le modèle.
Si l'API nécessite des paramètres qui ne sont pas spécifiés dans l'objet x-amazon-spds-sandbox-behaviors
, l'environnement de test fournit la réponse quelles que soient les valeurs des paramètres de la demande, tant que celle-ci est valide.
Pour en savoir plus sur les appels vers l'environnement de test SP-API, consultez la rubriqueEnvironnement de test de l'API partenaire de vente.
Pourquoi est-ce que je reçois un code d'erreur MD1000 ?
Sélectionnez pour développer la réponse.
{{0}} est le processus d'autorisation que les autres vendeurs lanceront pour autoriser votre application dans l'Appstore.
Si vous incluez la valeur version=beta parameter
, le workflow autorise une application à l'état de brouillon. Si vous n'incluez pas le paramètre version=beta
, le workflow autorisera une version publiée de l'application avec cet identifiant sur l'Appstore, sinon un code d'erreur “MD1000” sera renvoyé.
Pourquoi est-ce que je reçois un code d'erreur MD1000 lorsque je lance le workflow OAuth ?
Sélectionnez pour développer la réponse.
Si vous avez une application SP-API qui n'est pas publiée mais que le workflow OAuth pointe vers le workflow de production, cette erreur est renvoyée. Pour résoudre le problème, vérifiez que l'application est à l'état de brouillon. Si c'est le cas, ajoutez le paramètre version=beta
à l'URI d'autorisation OAuth créé. Une fois l'application publiée, ce paramètre peut être supprimé.
Pourquoi est-ce que je reçois un code d'erreur MD5100 ?
Sélectionnez pour développer la réponse.
L'erreur MD5100 peut être due aux problèmes suivants :
- Des erreurs dans l'URL d'autorisation OAuth.
- Liens de redirection manquants dans l'application.
- Fragments dans l'URL.
Essayez ces solutions pour résoudre une erreur MD5100 :
- Vérifiez l'état de l'application :
- Si l'application est à l'état de brouillon, vérifiez que l'URL inclut version=beta.
- Si l'application est publiée, vérifiez que l'URL n'inclut pas version=beta. Si version=beta est inclus dans l'URL, le processus OAuth est lancé pour l'application à l'état de brouillon au lieu de l'état publié.
- Vérifiez que vous avez suivi toutes les étapes pour autoriser des applications API partenaire de vente.
- Vérifiez que votre application possède un URI de connexion et un URI de redirection. Vous pouvez mettre à jour l'URI de connexion et l'URI de redirection en modifiant votre application dans Portail des fournisseurs de solutions et en mettant à jour l'URI de connexion et les détails de l'URI de redirection.
- Vérifiez que l'application est compatible avec le site de vente sur lequel le développeur est autorisé. Dans le Portail des fournisseurs de solutions, choisissez le Edit option de mise en vente pour votre application, et dans la section Tarification, choisissez les sites de vente que l'application doit prendre en charge.
Si, après avoir revu ces informations, le problème persiste, soumetez un dossier d'assistance.
Pourquoi est-ce que je reçois un code d'erreur SPDC8143 ?
Sélectionnez pour développer la réponse.
Cette erreur se produit lorsque vous tentez d'autoriser une application en tant qu'utilisateur secondaire. Pour éviter cette erreur, contactez le propriétaire du compte et demandez-lui d'effectuer cette action pour vous.
Pourquoi est-ce que je vois toujours la page d'autorisation MWS au lieu de la page de consentement SP-API lorsque je lance le workflow OAuth ?
Sélectionnez pour développer la réponse.
Vérifiez s'il manque un URI de connexion et un URI de redirection dans votre application. Vous pouvez mettre à jour l'URI de connexion et l'URI de redirection en modifiant l'application. Naviguez vers Appstore > Develop Apps et choisissez Edit App pour l'application que vous utilisez pour afficher le formulaire d'enregistrement de l'application et mettre à jour les détails de l'URI de connexion et de l'URI de redirection.
Pourquoi est-ce que je reçois un message d'erreur lorsque j'utilise un SKU avec des caractères spéciaux ?
Sélectionnez pour développer la réponse.
Le SKU que vous utilisez peut comporter des caractères spéciaux, tels qu'une barre oblique normale ou inversée (\
, /
), qui nécessitent un encodage d'URL. Celui-ci peut être réalisé par programmation dans plusieurs langages. Voici un exemple en Java :
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.io.UnsupportedEncodingException*;*
// Method to encode a SKU using the UTF-8 encoding scheme
private static String encodeSKU(String sSKU) {
try {
return URLEncoder.encode(sSKU, StandardCharsets.UTF_8.toString());
} catch (UnsupportedEncodingException ex) {
e*.*printStackTrace*();*
}
}
Pour plus d'informations, reportez-vous à Codage d'URL.
J'ai reçu un message d'erreur 400, que dois-je faire ?
Sélectionnez pour développer la réponse.
Pour plus d'informations, reportez-vous à Résolution de 400 erreurs.
Vous avez besoin d'aide supplémentaire ?
Pour une assistance supplémentaire, contactez Assistance aux développeurs d'API pour les partenaires commerciaux.
Updated 23 days ago