Portefeuille de financement
Portefeuille de financement : intégration de Agent Java SDK v0.3.0, exemples, paramètres et sémantique de réponse.
Ce guide cible Agent Java SDK v0.3.0, Java 8+ et le contrat public étiqueté. Exemples exécutés dans un backend partenaire après l’initialisation de client dans Démarrage rapide.
Exemples de prérequis
Les extraits de code Java partagent ces importations. Initialisez client à l’aide de Quick Start et obtenez platformUserId à partir de la liaison enregistrée. Les exemples d’ID utilisateur/commande doivent être remplacés par vos propres valeurs persistantes.
Requêtes et transferts de portefeuille
Distinguer les trois portefeuilles
queryAccount Interrogez le compte sur marge de la plateforme marchande, et non le portefeuille de l’utilisateur marchand. Cette interface n’a pas de paramètres environment et ne peut pas être interrogée en tant qu’actif utilisateur simulé.
Interrogez les deux portefeuilles de plateforme des utilisateurs simulés :
Interface : POST /v1/agent/query-user-assets. Le financement est demandé uniquement lorsque includeFunding=true ; la sémantique originale de requête d’actif de contrat est utilisée par défaut.
Les montants sont traités sous forme de chaînes ou de BigDecimal, et non de float/double.
Orientations en matière de transfert de fonds
Créer : POST /v1/agent/wallet-transfer, SDK walletTransfer.
La devise actuelle ne prend en charge que USDT. Le montant fixe doit être une chaîne positive comportant jusqu’à 8 décimales et ne peut pas utiliser de notation scientifique. Lorsque transferAll=true, omettez amount et enregistrez-le comme réponse finale amount ; « tout » inclut uniquement les fonds retirables.
Exemple : Le commerçant transfère 10 USDT vers un financement simulé. Enregistrez d’abord la commande commerciale et l’environnement dans le système du commerçant, puis envoyez la demande :
Financement Transférez tous les fonds pouvant être transférés vers le contrat simulé :
La même opération doit continuer à utiliser le agentOrderNo d’origine ; différentes opérations et différents environnements utilisent des numéros de commande différents. La modification du montant, de l’utilisateur, de la direction ou de l’environnement avec le même numéro de commande sera rejetée. Les transferts de financement/contrat ne peuvent être effectués que dans le même environnement, et les fonds simulés ne peuvent pas être transférés vers des fonds réels.
Confirmation des résultats et récupération des résultats inconnus
Les réponses au financement sont représentées par status, SUCCESS, PROCESSING ou FAILED, et sont renvoyées orderNo, direction, currency, amount, resultCode, etc. code=0 signifie uniquement que la demande a été traitée avec succès et que vous devez continuer à juger status.
La requête de financement utilise l’interface dédiée POST /v1/agent/wallet-transfer-status :
Utilisez ce point de terminaison dédié pour récupérer l’opération de financement d’origine ; queryOrder ne peut pas le remplacer. Enregistrez l’environnement d’origine et transmettez-le explicitement lors de la récupération. Si environment est omis dans wallet-transfer-status, le serveur utilise l’environnement enregistré sur la commande d’origine, y compris les commandes simulées. Un environnement explicitement en conflit renvoie 102002 (order environment mismatch). Lorsque l’appelant omet l’environnement, la réponse omet également environment ; cela ne signifie pas que la commande initiale est un ordre de production.
Les dépôts et retraits locaux des commerçants sont idempotents ; les commandes et soldes persistants sont réservés avant le lancement et sont réservés pour confirmation lorsque le résultat est inconnu. L’accès au financement utilise une requête dédiée pour confirmer le statut final ; ne présumez pas que les anciennes méthodes de transfert de contrat Webhook ou d’annulation sont automatiquement applicables au financement.
Flux de transfert de contrat existant
Les transfer, transferAllOut, reverse, queryOrder, listOrders continuent de traiter le processus de transfert de contrat d’origine. queryOrder interroge les ordres de transfert de fonds, listOrders est une liste de rapprochement des transferts ; plutôt, Requêtes perpétuelles sont utilisés pour les ordres de négociation perpétuels.
La réponse de financement originale utilise orderStatus ; la réponse de Financement utilise status, ne les mélangez pas. Le transfert original Webhook est vérifié à l’aide de X-Agent-Timestamp, X-Agent-Nonce, X-Agent-Signature, et le texte de la signature originale est timestamp + nonce + rawBody ; le corps de la requête d’origine est d’abord vérifié, puis désérialisé et idempotent. Les notifications explicites d’environnement simulé contiennent environment=SIMULATED, les notifications de production restent compatibles avec les anciens champs. Le montant, le numéro de commande, le statut et l’environnement doivent être vérifiés avec la commande commerciale locale.