Passer à la navigation

SDK Dépannage de l’intégration

Diagnostiquez les problèmes de Trading Widget, Agent SDK, de signature, webhook, de délai d’attente et d’environnement avant de transmettre une demande d’assistance.

Afficher en Markdown

Commencez par l’environnement, l’horodatage et l’identifiant d’entreprise de l’opération ayant échoué. Une vérification structurée sépare généralement les problèmes de configuration des problèmes d’authentification, de réseau et de traitement asynchrone.

Ordre de diagnostic recommandé

  1. Confirmez l’environnement concerné et basez URL.
  2. Enregistrez la plage horaire UTC et la première requête ayant échoué.
  3. Identifiez le module : Trading Widget, Agent SDK, REST API, WebSocket ou webhook.
  4. Capturez l’ID de demande, l’ID d’utilisateur partenaire, le agentOrderNo, l’ID de commande ou l’ID d’événement webhook.
  5. Vérifiez le code récent, les informations d’identification, la liste blanche IP ou les modifications de déploiement.
  6. Reproduisez avec le plus petit cas de test sûr.

Trading Widget problèmes

SymptômeCause probableRéparer
iframe demande un domaine local partenairebaseUrl est manquantPassez baseUrl : ‘https://app.6mm.com’.
l’iframe est invisible ou très courteLe conteneur parent n’a pas de hauteurRéglez la hauteur du conteneur ou la hauteur du passage.
token_provider_missingle mode jeton partenaire n’a pas de fournisseurAjouter une authentificationtokenProvider.
auth_exchange_failedJeton d’intégration invalide, expiré ou incompatibleVérifiez la réponse du jeton backend et channelId.

Agent SDK problèmes

SymptômeCause probableRéparer
Signature rejetéeMauvais secret, dérive d’horloge ou champs signés modifiés manuellementLaissez SDK générer les champs de signature et synchroniser l’heure du serveur.
Risque de mouvements de fonds en doubleNouveau numéro de commande utilisé après l’expiration du délaiRequête par agentOrderNo d’abord.
PROCESSING traité comme un échecÉtat en attente mal comprisAttendez webhook ou appelez queryOrder.
Webhook traité plusieurs foisRéessayer le comportement sans idempotenceAjoutez une clé d’idempotence et des vérifications de l’état final.

Des preuves à capturer

IntégrationPreuve utile
Trading WidgetPage URL, chemin de version SDK, console du navigateur, requêtes réseau ayant échoué, charge utile onError et dimensions du conteneur.
Agent SDKSDK langue/version, base URL, UTC horodatage, ID de demande, agentOrderNo, code de réponse et journaux nettoyés.
WebhookDélai de livraison, clé d’événement ou d’entreprise, résultat de validation de signature, état de traitement et hachage de corps brut aseptisé.
REST APIMéthode, chemin, environnement, ID de demande, code de réponse et paramètres nettoyés.

N’incluez jamais de mots de passe, de jetons d’accès, de secrets API, de signatures complètes, de clés privées ou de données personnelles non expurgées dans les diagnostics.

Avant d’escalader

  • Réessayez uniquement lorsque l’opération est documentée comme pouvant être réessayée en toute sécurité.
  • Après un délai d’attente, interrogez l’identifiant d’entreprise d’origine au lieu d’en créer un nouveau.
  • Confirmez l’horloge système et l’environnement d’identification pour les erreurs de signature.
  • Conservez le premier échec et les résultats des tentatives ultérieures.
  • Utilisez le Modèle de demande d’assistance d’envoyer un rapport complet et rédigé.

Documents associés

Diagnostic Java v0.3.0

SymptômeVérification et récupération
La demande de financement a un résultat inconnuConservez l’original agentOrderNo ; appelez queryWalletTransfer avec l’environnement d’origine. N’utilisez pas queryOrder.
L’interface utilisateur de simulation affiche des fonds inattendusVérifiez le frontend tradingMode séparément du backend environment ; le compte isSimulatedUser n’achemine pas les requêtes.
Erreur de requête 6905Reculez en utilisant le quota de partenaire partagé, puis réessayez le même curseur et les mêmes filtres via le SDK.
Erreur de requête 6904Réduisez les requêtes simultanées et réduisez la fenêtre temporelle ; contactez le support si vous persistez.
Curseur invalide ou expiréRedémarrez la même fenêtre d’historique fixe et dupliquez les enregistrements enregistrés.
Nouvelle méthode Java manquanteVérifiez l’artefact Maven résolu par rapport à la balise publique v0.3.0 ; supprimez les dépendances conflictuelles conformément à votre politique d’artefact.

Référence des requêtes et des erreurs · Guide de mise à niveau

Webhook problèmes de réception

SymptômeContrôle et manipulation
Aucune nouvelle tentative après un retour d’échec JSONVérifiez si le point de terminaison renvoie toujours HTTP 200. La livraison utilise uniquement le statut HTTP, pas un indicateur de réussite dans le corps.
Les tentatives se poursuivent après 401 ou 409Les réponses non-2xx suivent la politique de nouvelle tentative existante ; enquêtez sur les signatures, le contenu des notifications ou la configuration du commerçant.
Clé d’idempotence vide pour un avertissement de liquidationLe WebhookVerifier.idempotencyKey actuel extrait uniquement les identités des fonds et des événements. Après les vérifications de signature et de propriété, validez notificationId et créez la clé d’avertissement dans le code marchand. N’utilisez jamais une clé vide.
Notification en double après un traitement réussiConserver la déduplication au sein du commerçant et dans la portée de environment. Renvoyez 2xx pour les doublons identiques ; enregistrer les conflits et renvoyer non-2xx pour le même identifiant avec un corps différent.
Avertissement non traitéAcceptez liquidation.warning et les LIQUIDATION_WARNING historiques ; ne regroupez pas les ID de notification distincts par utilisateur, épisode ou type d’événement et supprimez-les.
La notification acceptée perd sa tâche en attenteEnregistrez une tâche de manière fiable avant de renvoyer 2xx ; démarrer une tâche asynchrone en mémoire est insuffisant.

Champs d’événement et compatibilité · HTTP réponses et accusé de réception fiable