Méthodes de dépannage des exceptions API
1. Dépannage rapide
1. Organigramme de dépannage rapide
Pièce jointe : Adresse du document API : //open.taobao.com/api/api_list.htm ? a219a.7386781.0.0.g5ZY6Y
Adresse du centre de règles : //open.taobao.com/doc/detail.htm?id=101612
Coordonnées du service client Taobao : http://www.taobao.com/about / contact.php
Adresse de l'outil de test API : http://my.open.taobao.com/apitools/apiTools.htm
Adresse de la liste des codes d'erreur : //open.taobao.com/doc/detail.htm?id = 101645
Adresse du forum : //open.taobao.com/bbs/forum.php
Adresse FAQ : //open.taobao.com/doc/detail.htm?id=101783
Adresse du centre d'assistance : //open .taobao.com/support/index.htm?spm=a219a.7386781.0.0.r8QQcW
Groupe de questions d'urgence : 228708748
Explication détaillée des problèmes dans l'organigramme
Problèmes non liés à l'API
Problèmes qui se produisent avant que les développeurs n'envoient des requêtes HTTP pour les données Taobao, y compris les problèmes commerciaux Taobao, les problèmes commerciaux et les erreurs de conteneur.
1. Problèmes commerciaux Taobao :
(1) Problèmes de règles commerciales, tels que : produits ou utilisateurs punis, etc.
(2) Problèmes d'opérations infructueuses sur les pages Taobao, tels que : impossible d'afficher les produits à vendre dans le backend Taobao Attendez
2. Problèmes commerciaux :
(1) Problèmes d'accès aux applications, tels que : combien d'applications un développeur peut enregistrer, etc.
(2) Problèmes d'examen des applications, tels que : quelles applications ne le font pas accès au support, etc.
(3) Problèmes de lancement d'application, tels que : comment limiter la fréquence des appels, etc.
3. Problèmes d'erreur du conteneur :
Grâce au conteneur, les utilisateurs peuvent autoriser les développeurs à obtenir leurs informations sur les données, principalement lorsque le code d'erreur sur la page se situe entre 100 et 200 erreurs.
Problèmes d'API
Problèmes qui surviennent après que les développeurs envoient des requêtes HTTP pour les données Taobao, y compris les erreurs de connexion HTTP, les erreurs au niveau de la plate-forme et les erreurs au niveau de l'entreprise. Ces trois types de problèmes d'erreur surviennent lors de l'accès au serveur Taobao. qui se présentent à trois niveaux : la plateforme d'accès TOP et le serveur d'entreprise back-end Taobao.
1. Problème d'erreur de connexion HTTP :
Erreurs qui surviennent lors de la requête au serveur Taobao. Ce type d'erreur est généralement marqué par un code de réponse HTTP se compose de trois chiffres décimaux. message envoyé par le serveur HTTP La première ligne de la réponse. Il existe cinq types de codes de réponse, représentés par leur premier chiffre :
1xx : Information, demande reçue, traitement continue
2xx : Succès, l'action a été acceptée, comprise et adoptée avec succès
3xx : Redirection, afin de compléter la Demande, action qui doit être effectuée ultérieurement
4xx : Erreur client, la requête contient une erreur de syntaxe ou la requête ne peut pas être implémentée
5xx : Erreur du serveur, le serveur ne peut pas implémenter une requête manifestement invalide
La réponse la plus courante reçue par les développeurs lors de l'appel du Le service TOP est 200 : requête http réussie ; 404 : service demandé introuvable ; 500 Erreur de serveur interne, etc. Si le code de réponse reçu par le développeur est 404, cela signifie qu'il y a un problème avec le réseau de l'utilisateur. Si le code de réponse reçu par le développeur est 500, cela signifie que le réseau est normal mais que le service supérieur ne peut pas répondre.
S'il y a un problème avec le réseau local, vous pouvez entrer directement la ligne de commande ping gw.api.taobao.com pour tester la vitesse de requête du serveur Taobao. Si la vitesse est très lente, pensez à accélérer le serveur. Si le ping échoue, contactez l'administrateur réseau pour savoir si le serveur bloque les noms de domaine Taobao.
2. Problème d'erreur au niveau de la plateforme :
Une erreur se produit lors de la demande d'accès à la plateforme à ce moment, le code d'erreur renvoyé par TOP est inférieur à 100. Cette erreur est généralement due au fait que la demande de l'utilisateur ne respecte pas les autorisations. , la sécurité, le trafic et les paramètres les plus élémentaires provoqués par la vérification.
3. Problème d'erreur au niveau métier :
Lors d'une demande de problème avec le serveur d'entreprise back-end, le code d'erreur renvoyé est compris entre 500 et 1 000. Pour les sous-codes d'erreur et les solutions spécifiques, veuillez vous référer à la documentation de l'API.
2. Organigramme de dépannage détaillé
Détaille le flux de traitement du développeur après avoir découvert les problèmes ci-dessus.
3. Exemple de dépannage rapide
J'ai analysé taobao.item.recommend.add à partir du journal des erreurs et j'ai signalé l'erreur isv.item-recommend-service-service :ERROR_MORE_THAN_ALLOWED_RECOMMEND_NUM (dépasse le nombre total de recommandations de fenêtres) Il y a beaucoup d'erreurs, comment les résoudre ?
Localisez d'abord le problème de l'API selon le processus de dépannage, puis vérifiez la solution du code d'erreur dans le document API :
1 Lors de la recommandation de la fenêtre, l'utilisateur doit saisir le montant total de la recommandation de la fenêtre. perdra plus, alors signalez la recommandation de fenêtre. Si l'erreur dépasse le nombre maximum de recommandations, le nombre total de vitrines sera mis à jour régulièrement chaque jour. Le nombre total de vitrines = vitrines recommandées + vitrines restantes (cette erreur ne peut pas être complètement éliminée).
2. Le développeur appelle d'abord l'interface taobao.shop.remainshowcase.get pour obtenir le jugement logique du vendeur sur le nombre de fenêtres d'affichage restantes, puis appelle l'interface de recommandation de fenêtres.
Exemple 2
Le programme local signale une erreur de réinitialisation de connexion et aucun code d'erreur principal n'est renvoyé. Comment résoudre ce genre de problème ?
Recommandations :
1. Réduisez raisonnablement les tâches, réduisez la granularité des tâches, réduisez le temps de transaction, améliorez le taux de réussite de l'exécution des transactions et réduisez les coûts de restauration
2. Fusionnez le contenu en double dans les tâches dans l'intervalle de temps autorisé. opérations répétées possibles ;
3. Vérifiez s'il existe une interface d'opération par lots pour réduire le nombre d'appels à boucle unique ;
4. Contrôlez le nombre de threads dans le pool de threads de travail et définissez le nombre de tâches parallèles en fonction du nombre de threads. performances réelles et capacité de traitement de l'autre serveur. Chiffre :
Plus il y a de threads développés simultanément, plus le taux de réussite peut ne pas être élevé !
Tout d'abord, les ressources locales sont limitées (plus vous ouvrez de threads, plus la fréquence de recyclage du GC local est élevée, ce qui affecte la vitesse d'exécution et réduit l'efficacité)
Deuxièmement, l'autre partie peut refuser activement la connexion) ; en raison d'un trop grand nombre de connexions IP ; (protection DOS)
Encore une fois, le canal ne peut pas être réutilisé. (La version actuelle 1.6 du JDK a été capable de mieux réutiliser les canaux TCP. L'ouverture simultanée d'un grand nombre de canaux TCP est une perte en soi. Parfois, une sérialisation partielle réduira dans une certaine mesure le nombre de canaux TCP générés et utilisera les canaux de manière rationnelle. Pour améliorer l'efficacité et le taux de réussite, il est également important que le client effectue un contrôle de flux)
Exemple 3
Solution au problème de perte de paquets réseau :
Contexte du problème :
1. Les lignes physiques d'Internet ne sont pas à 100 %, il y a une perte de données dans la communication entre le serveur ISV et TOP
2. Les développeurs ont besoin d'un moyen de vérifier si les données obtenues par chaque accès sont complètes et s'il y a une perte de paquets
.3. Actuellement, certains éditeurs de logiciels utilisent cette méthode pour vérifier l'intégrité : appeler l'API plusieurs fois de suite et comparer les résultats renvoyés. S'ils sont exactement les mêmes, ils sont considérés comme complets. Cette méthode n'est pas fiable (plusieurs appels peuvent renvoyer des résultats commerciaux différents), augmente les coûts de développement de l'ISV et augmente également la pression sur le serveur TOP. Solution :
Afin de résoudre le problème des données de vérification ISV renvoyées par les développeurs, pour être complet, TOP a ajouté. un nouvel élément dans l'en-tête HTTP : top-bodylength.
Utilisation : le développeur obtient la valeur de la longueur supérieure du corps et calcule la longueur du corps HTTP reçu. Si les deux sont égales, cela signifie que les données renvoyées sont complètes. Si la longueur calculée du corps HTTP est inférieure à la longueur supérieure du corps. La valeur indique qu'une perte de paquets s'est produite.
Remarque :
1 : TOP ne modifie pas le corps HTTP, il n'aura donc aucun impact sur les applications existantes.
2 : top-bodylength est la longueur des caractères de chaîne représentant le corps HTTP (indépendamment du chinois et de l'anglais, les deux comptent pour 1 longueur)
2. Liste des codes d'erreur
1. appel de l'API Trois types d'erreurs peuvent survenir : les erreurs de plate-forme API, les erreurs commerciales ISV et les erreurs de conteneur. Ce qui suit est une introduction aux noms liés au taux de réussite de l'ISV :Visites efficaces = visites réussies + erreurs commerciales de l'ISV (les visites réussies font référence aux appels qui obtiennent des données normalement et ne comportent aucune erreur)
Taux de réussite de l'ISV = Visites réussies/Visites efficaces
2. Les erreurs lors de la connexion au serveur Taobao sont principalement des erreurs de connexion http ou des réinitialisations et des rejets de connexion. Ces erreurs sont causées par les développeurs accédant aux serveurs Taobao. Veuillez contacter directement le personnel de gestion du serveur. réponses en ligne.
1. Erreurs de la plateforme API
(1) Erreurs d'appel avec des codes d'erreur inférieurs à 100 (à l'exclusion des codes d'erreur 15, 40 et 41) , Cette erreur est généralement provoquée par une demande de l'utilisateur ne respectant pas diverses vérifications de base. Lorsque les utilisateurs rencontrent ces erreurs, ils vérifient d'abord les autorisations, la fréquence, etc. de l'application, puis se réfèrent à la documentation pour vérifier si les paramètres entrants sont complets et légaux.
(2) Le code de sous-erreur (sub_code) est une erreur d'appel commençant par "isp". Cette erreur est généralement causée par des exceptions côté serveur. Les utilisateurs rencontrant ce type d'erreur doivent réessayer après un certain temps pour la résoudre.
Erreur au niveau de la plateforme avec un code d'erreur inférieur à 100
Code d'erreur Description de l'erreur-Description de l'erreur en anglais-Solution chinoise 3Échec du téléchargement Le téléchargement de l'image a échoué. Modifiez le format de l'image entrante au format correct et à la taille appropriée dans le corps du message et transmettez-le si la transmission échoue. , vous devez réduire la taille de l'image ou augmenter la bande passante du réseau et essayer 7App Call Limited. Le nombre d'appels d'application dépasse la limite, y compris la fréquence d'appel dépassant le programme d'ajustement de la limite pour appeler correctement l'API. Attendez que le temps limite de fréquence soit écoulé. passé avant d'appeler à nouveau. La fréquence d'appel de Taoke est celle du système conformément à ce qui précède. Le volume de transactions mensuel est automatiquement modifié et la fréquence révisée sera notifiée sous la forme d'une annonce sur la page d'accueil officielle du forum. Action non autoriséeLa méthode HTTP est interdite. Veuillez utiliser des majuscules POST ou GET. Si des images et d'autres informations sont transmises, vous devez utiliser POST. 10Service actuellement indisponible L'indisponibilité du service est principalement causée par des exceptions inconnues. la description du document. 11Autorisations ISV insuffisantes. Autorisations de développeur insuffisantes. Le code de sous-erreur a actuellement isv.permission-api-package-empty n'est associé à aucun package d'accès. Il est recommandé de demander l'autorisation correspondante conformément aux règles métier. . isv.permission-api-package-not-allowed ne permet pas l'accès à l'API du groupe inaccessible. Il est recommandé de vérifier si l'étiquette d'application que vous avez demandée est correcte si elle est vraiment nécessaire pour accéder à l'API du. groupe inaccessible, vous devez demander des autorisations auprès du secteur d'activité correspondant selon les règles métier. Par exemple : dans le groupe inaccessible de l'acheteur, certaines API de commande ne permettront pas à l'application acheteur d'accéder à isv.permission-api-. package-limit. Le package associé ne permet pas l'accès à l'API, il est recommandé de demander l'autorisation correspondante isv.permission-ip-whitelist-limit selon les règles métier, les restrictions IP n'autorisent pas l'accès. pour configurer la liste blanche IP correcte isv.permission-api-widget-only-limit dans le centre de sécurité. Autoriser uniquement l'accès au widget (composant) 12Autorisations utilisateur insuffisantesAutorisations utilisateur insuffisantesL'application n'a pas l'autorisation d'appeler l'interface des autorisations à valeur ajoutée. Vous pouvez soumettre une demande d'autorisation dans le backend du partenaire Taobao13Autorisations de partenaire insuffisantesAutorisations de partenaire insuffisantesL'application n'a pas l'autorisation d'appeler l'interface des autorisations à valeur ajoutée. Vous pouvez la soumettre en arrière-plan du partenaire Taobao soumet la demande d'autorisation 21Méthode manquanteParamètre de nom de méthode manquant L'entrée. Le paramètre est ajouté au champ de méthode 22Méthode invalide Le nom de la méthode n'existe pas Le champ de la méthode entrante doit être le nom de l'API que vous appelez, et l'API existe réellement 23Format invalide Format de données invalide Le format transmis doit être l'un des json. ou xml. 24 Signature manquante Il manque un paramètre de signature. Le paramètre entrant doit contenir le champ de signe. 25 Signature invalide. La signature doit être calculée selon l'algorithme correct.Pour l'algorithme, veuillez consulter : //open.taobao.com/doc/detail.htm?id=101617#ss226La session manquante ne contient pas le paramètre SessionKey. Les paramètres transmis doivent contenir le champ de session 27Invalid Session, unmix-sessionkey. -failure Un paramètre SessionKey non valide est transmis. La session doit être obtenue par l'utilisateur qui lie la session. Si la session signalée est illégale, cela peut être dû au fait que l'utilisateur n'a pas lié la session ou que la session a expiré. puis transmettre une nouvelle sessionKey28Missing App Key ne contient pas le paramètre AppKey transmis. Les paramètres doivent inclure le champ app_key 29Invalid App Key Invalid AppKey paramètre L'environnement dans lequel se trouve l'application est incohérent avec l'environnement sélectionné. Par exemple : l'application est. dans un environnement de test sandbox mais choisit d'être testé dans l'environnement officiel. 30Missing Timestamp Le paramètre timestamp est manquant. Le paramètre entrant doit contenir le paramètre timestamp. 31Invalid Timestamp est un paramètre d'horodatage illégal. Le format est aaaa-mm-jj hh:mm:ss, par exemple : 2008-01-25 20 : 23h30 . Le serveur API Taobao permet au client de demander une erreur de temps de 10 minutes. 32 La version manquante ne contient pas le paramètre de version. Le paramètre entrant doit contenir le champ v 33. Le numéro de version transmis par l'utilisateur. un format incorrect et doit être au format numérique. 34 La version non prise en charge n'est pas prise en charge. Le numéro de version transmis par l'utilisateur n'a pas été fourni. 42 Autorisations de session insuffisantes. Les autorisations d'autorisation courtes sont insuffisantes. L'API à haut risque est appelée. le document de niveau de sécurité //open.taobao.com/doc/detail.htm?id=100243 Erreur de paramètre. Elle est généralement causée par des paramètres illégaux transmis par l'utilisateur. Veuillez vérifier attentivement si le format et la plage des paramètres d'entrée correspondent. à un à un 44Jeton d'accès invalide. Le jeton d'accès invalide est généralement la clé de session obtenue par l'utilisateur à l'aide du protocole supérieur et utilisée comme jeton d'accès pour appeler l'API ou appeler l'environnement via https. L'erreur d'encodage 47Invalid est généralement. causé par le fait que l'utilisateur n'utilise pas le codage UTF-8 lors des requêtes http |
2. Erreur commerciale de l'ISV
1 Les erreurs au niveau de l'entreprise de l'ISV sont causées par des paramètres manquants, incorrects ou formatés transmis par l'ISV. Par conséquent, isv doit vérifier si les informations correspondantes ont été transmises en fonction du message d'erreur. Pour ce type d'erreur, il est recommandé de la corriger et de réessayer.
Comprend principalement deux catégories :
(1) Les erreurs avec les codes d'erreur 40 et 41 ; 40 est principalement une erreur lorsque les paramètres requis ne sont pas transmis, et 41 est principalement une erreur lorsque le format des paramètres transmis est incorrect. :2.
(2) Le code d'erreur est supérieur à 100 ou égal à 15 et le code de sous-erreur (sub_code) commence par "isv."【( code d'erreur> 100 ou code d'erreur = 15) et (commence par isv.)】 Erreur d'appel :
2. La réponse d'erreur est la manifestation la plus directe de l'échec de l'interaction entre l'utilisateur et le serveur. Lorsque isv appelle le service supérieur, si l'appel échoue, veuillez essayer de conserver le journal des erreurs pour un suivi ultérieur des erreurs.
3, 40/41 Erreur Introduction
Error Code Erreur Description - Erreur d'anglais Description - Solution chinoise 40Missing Les arguments requis sont manquants paramètres obligatoires défini sur le document API requis dans le document API Les paramètres sélectionnés doivent être transmis, veuillez vérifier attentivement le document. 41Arguments invalides Le type de paramètre de paramètre illégal est incorrect, par exemple : le type de nombre doit être transmis, mais le paramètre de type de caractère est transmis dans |
4 . Sous-erreur au niveau de l'entreprise
Le propriétaire du message d'erreur au format du code d'erreur secondaire peut réessayer dans le programme isv.###-not-exist : ***Impossible d'effectuer une requête selon *** ###ISV. Aucun paramètre isv.missing-parameter : ***Paramètres nécessaires manquants***ISV Aucun paramètre isv.invalid :***Le paramètre*** n'est pas valide, format incorrect, valeur illégale, hors limites, etc. ISVNo isv.invalid -permission ne suffit pas , Accès illégal à ISV Non. isv.parameters-mismatch:***-and-###Les paramètres entrants *** et ### ne correspondent pas et il y a une certaine correspondance entre les deux. ISV No isv.***-service -error : ### L'appel du service *** renvoie false, erreur de logique métier, ### indique le message d'erreur spécifique ISV No |
Description en anglais
Solution |
| 53
| Niveau de sécurité insuffisantNiveau de sécurité insuffisant | Améliorez le niveau de sécurité de l'application ou actualisez le niveau de sécurité de l'autorisation |
Fête d'attribution
4. Autres codes d'erreur uniques
FAQ
- Il n'y a pas encore de FAQ sur ce document