Zur Navigation springen

Vertragsbuch

Vertragsbuch: Agent Java SDK v0.3.0-Integration, Beispiele, Parameter und Antwortsemantik.

Als Markdown anzeigen

Dieser Leitfaden richtet sich an Agent Java SDK v0.3.0, Java 8+ und den getaggten öffentlichen Auftrag. Beispiele werden nach der Initialisierung von client in einem Partner-Backend ausgeführt Schnellstart.

Beispielvoraussetzungen

Die Java-Snippets teilen diese Importe. Initialisieren Sie client mit Quick Start und rufen Sie platformUserId aus der gespeicherten Bindung ab. Beispiel-Benutzer-/Bestell-IDs müssen durch Ihre eigenen persistenten Werte ersetzt werden.

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

listPerpetualLedger

Anforderungsmodell: 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);

Anforderungsfelder

FeldJava TypErforderlichBedeutung
platformUserIdsjava.util.List<String>Bedingt1–100 eindeutige öffentliche IDs; erforderlich für Ausführungen und bedingte Bestellungen. Bei unterstützten Abfragen für den Direktspielerbereich weglassen; [] ist ungültig.
assetTypeStringNEINVermögensklassifizierung, wie vom Hauptbuch zurückgegeben; gehen Sie nicht von USDT aus.
changeTypeStringNEINLedger-Geschäftstyp ändern, Quellwerte beibehalten.
startTimeLongNEINInklusive Unix-Millisekunden; Verwenden Sie ein festes UTC-Verlaufsfenster.
endTimeLongNEINExklusive Unix-Millisekunden.
limitIntegerNEINStandard 500; 1–1000.
cursorStringNEINVerwenden Sie den zurückgegebenen nextCursor mit unveränderten Filtern. stoppen, wenn hasMore falsch ist.

Das Beispiel liest eine Seite. Informationen zu erforderlichen Feldern, Player-Bereich, Filtersemantik, Limit, Cursor und begrenzten Wiederholungsversuchen finden Sie hier Abfrageübersicht. Lassen Sie beim Blättern alle Filter unverändert; Interpretieren Sie einen Fehler nicht als leeres Ergebnis.

Vertragsbuchaufzeichnungen

Schnittstelle: account/ledger. Die zurückgegebenen Daten enthalten nur die folgenden 11 Geschäftsfelder und enthalten nicht die booleschen Bestellflags.

data FeldTypBedeutung
ledgerIdstringDas Quellbuch zeichnet die Transaktions-ID auf; Dieselbe Transaktion kann in mehrere Details aufgeteilt werden
symbolstringVerwandtes Handelspaar, kann weggelassen werden, wenn es nicht verwandt ist
assetTypestringAsset-Typ, gespeichert nach Quellwert; wird für die Asset-Klassifizierung verwendet, standardmäßig nicht abgeleitet USDT
changeTypestringGeschäftstyp des Kontowechsels, gespeichert nach Quellwert, z. B. Bearbeitungsgebühr, Gewinn und Verlust, Überweisung; können nach demselben Feld gefiltert werden
amountstringDer Änderungsbetrag dieses Details. Eine positive Zahl bedeutet eine Zunahme, eine negative Zahl bedeutet eine Abnahme. Präzision bleibt erhalten
walletBalanceBeforestringIn diesem Detail wird der Wallet-Saldo vor der Kontoänderung erfasst
walletBalanceAfterstringIn diesem Detail wird der Wallet-Saldo nach der Kontoänderung erfasst
frozenBalanceBeforestringIn diesem Detail wird der eingefrorene Saldo erfasst, der vor der Kontoänderung erfasst wurde
frozenBalanceAfterstringDer in diesem Detail erfasste eingefrorene Saldo nach der Kontoänderung
referenceIdstringZugehörige Geschäftsnummer; interpretiert als changeType und kann nicht einheitlich als Ordnung orderId angesehen werden; „0“ gibt an, dass die Quelle keine gültige zugeordnete Nummer hat
createdAtintegerErstellungszeit der Kontoänderungsdetails, Millisekunden; Dieses Feld wird für die Zeitfilterung in dieser Schnittstelle verwendet

Verwenden Sie den von der Schnittstelle zurückgegebenen Saldo vor und nach der Kontoänderung. Unterschiedliche changeType haben unterschiedliche Semantiken und es kann nicht davon ausgegangen werden, dass jeder Betrag gleich walletBalanceAfter − walletBalanceBefore ist. Die Anzeige/Zusammenfassung der Sachkontodatensätze sollte die Typ- und Detailidentität beibehalten.

Hier ist ein Beispiel für das Format mit einer fiktiven ID und einem fiktiven Betrag:

{
"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
}
}

Beispiel eines Antwortumschlags

Dies ist eine leere Seite zur Veranschaulichung, kein Beispiel eines abgeschlossenen Handels. Die obigen ressourcenspezifischen Feldtabellen beschreiben ausgefüllte items[].data.

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

Quelle und zugehörige Leitfäden