Passer à la navigation

Grand livre des contrats

Grand livre des contrats: Intégration Agent Java SDK v0.3.0, exemples, paramètres et sémantique de réponse.

Afficher en Markdown

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.

import com.sixmm.agent.*;
import com.sixmm.agent.model.*;
import java.util.*;

listPerpetualLedger

Modèle de demande : PerpetualLedgerRequest.

import com.sixmm.agent.model.PerpetualLedgerRequest;
import com.sixmm.agent.model.PerpetualResponse;
import java.util.Collections;
PerpetualLedgerRequest request = new PerpetualLedgerRequest();
request.platformUserIds = Collections.singletonList("1188041528");
request.limit = 100;
request.endTime = System.currentTimeMillis();
request.startTime = request.endTime - 3_600_000L;
PerpetualResponse response = client.listPerpetualLedger(request);
System.out.println(response.data.items.size());
System.out.println(response.data.hasMore);
System.out.println(response.data.nextCursor);

Champs de requête

ChampJava tapezRequisSignification
platformUserIdsjava.util.List<String>Conditionnel1 à 100 identifiants publics uniques ; requis pour les exécutions et les commandes conditionnelles. Omettre les requêtes prises en charge pour la portée directe du lecteur ; [] n’est pas valide.
assetTypeStringNonClassification des actifs telle que renvoyée par le grand livre ; ne supposez pas USDT.
changeTypeStringNonType de changement commercial du grand livre, préservant les valeurs sources.
startTimeLongNonMillisecondes Unix incluses ; utilisez une fenêtre d’historique UTC fixe.
endTimeLongNonMillisecondes Unix exclusives.
limitIntegerNonPar défaut 500 ; 1 à 1000.
cursorStringNonUtilisez le nextCursor renvoyé avec des filtres inchangés ; arrêter lorsque hasMore est faux.

L’exemple lit une page. Pour les champs obligatoires, la portée du joueur, la sémantique du filtre, la limite, le curseur et les tentatives limitées, suivez Présentation de la requête. Gardez tous les filtres inchangés pendant la pagination ; n’interprètez pas une erreur comme un résultat vide.

Registres du grand livre des contrats

Interface : account/ledger. Les données renvoyées contiennent uniquement les 11 champs métier suivants et ne portent pas les indicateurs booléens d’ordre.

Champ datatapersignification
ledgerIdstringLe grand livre source enregistre l’ID de transaction ; la même transaction peut être divisée en plusieurs détails
symbolstringPaire de trading associée, peut être omise si elle n’est pas liée
assetTypestringType d’actif, enregistré par valeur source ; utilisé pour la classification des actifs, non déduit par défaut USDT
changeTypestringType d’activité de changement de compte, enregistré en fonction de la valeur source, telle que les frais de traitement, les profits et pertes, le transfert ; peut être filtré par le même champ
amountstringLe montant de la modification de ce détail, un nombre positif indique une augmentation, un nombre négatif indique une diminution ; la précision est conservée
walletBalanceBeforestringLe solde du portefeuille avant le changement de compte enregistré dans ce détail
walletBalanceAfterstringLe solde du portefeuille après le changement de compte enregistré dans ce détail
frozenBalanceBeforestringLe solde gelé enregistré avant le changement de compte est enregistré dans ce détail
frozenBalanceAfterstringLe solde gelé enregistré dans ce détail après le changement de compte
referenceIdstringNuméro d’entreprise associé ; interprété comme changeType et ne peut pas être uniformément considéré comme un ordre orderId ; “0” indique que la source n’a pas de numéro associé valide
createdAtintegerTemps de création des détails de modification du compte, millisecondes ; ce champ est utilisé pour le filtrage temporel dans cette interface

Utilisez le solde avant et après le changement de compte renvoyé par l’interface. Différents changeType ont une sémantique différente, et on ne peut pas supposer que chaque montant est égal à walletBalanceAfter − walletBalanceBefore. L’affichage/le résumé des enregistrements du grand livre doit conserver le type et l’identité détaillée.

Voici un exemple du format, utilisant un identifiant et un montant fictifs :

{
"code": 0,
"message": "success",
"data": {
"items": [
{
"platformUserId": "1188041528",
"entityType": "ACCOUNT_LEDGER",
"entityId": "900001",
"data": {
"ledgerId": "ledger-example-001",
"symbol": "BTCUSDT",
"assetType": "USDT",
"changeType": "HANDLING_FEE",
"amount": "-0.10000000",
"walletBalanceBefore": "100.00000000",
"walletBalanceAfter": "99.90000000",
"frozenBalanceBefore": "0.00000000",
"frozenBalanceAfter": "0.00000000",
"referenceId": "800001",
"createdAt": 1791590400000
}
}
],
"nextCursor": "",
"hasMore": false
}
}

Exemple d’enveloppe de réponse

Il s’agit d’une page vide illustrative, et non d’un échantillon d’une transaction terminée. Les tableaux de champs spécifiques aux ressources ci-dessus décrivent les items[].data renseignés.

{"code":0,"message":"success","data":{"items":[],"nextCursor":"","hasMore":false}}

Source et guides associés