Przejdź do nawigacji

Księga kontraktowa

Księga kontraktowa: Agent Java SDK Integracja v0.3.0, przykłady, parametry i semantyka odpowiedzi.

Zobacz jako Markdown

Ten przewodnik jest przeznaczony dla Agent Java SDK v0.3.0, Java 8+ i oznaczonych zamówień publicznych. Przykłady działają w zapleczu partnera po inicjalizacji client w Szybki start.

Przykładowe wymagania wstępne

Fragmenty Java dzielą ten import. Zainicjuj client za pomocą Szybki start i uzyskaj platformUserId z zapisanego powiązania. Przykładowe identyfikatory użytkowników/zamówień należy zastąpić własnymi, utrwalonymi wartościami.

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

listPerpetualLedger

Zapytaj o model: 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);

Pola żądania

PoleJava typWymaganyOznaczający
platformUserIdsjava.util.List<String>Warunkowy1–100 unikalnych identyfikatorów publicznych; wymagane w przypadku wypełnień i zamówień warunkowych. Pomiń obsługiwane zapytania w zakresie bezpośredniego gracza; [] jest nieprawidłowe.
assetTypeStringNIEKlasyfikacja aktywów zwrócona przez księgę; nie zakładaj USDT.
changeTypeStringNIETyp zmiany biznesowej księgi, zachowujący wartości źródłowe.
startTimeLongNIEWłącznie z milisekundami Uniksa; użyj stałego okna historii UTC.
endTimeLongNIEEkskluzywne milisekundy Uniksa.
limitIntegerNIEDomyślnie 500; 1–1000.
cursorStringNIEUżyj zwróconego nextCursor z niezmienionymi filtrami; przestań, gdy hasMore ma wartość fałszywą.

Przykład czyta jedną stronę. Aby zapoznać się z wymaganymi polami, zakresem gracza, semantyką filtra, limitem, kursorem i ograniczonymi próbami, wykonaj następujące czynności Przegląd zapytań. Zachowaj wszystkie filtry niezmienione podczas stronicowania; nie interpretuj błędu jako pustego wyniku.

Zapisy w księdze kontraktów

Interfejs: account/ledger. Zwrócone dane zawierają tylko 11 następujących pól biznesowych i nie zawierają flag logicznych zamówienia.

Pole data.typoznaczający
ledgerIdstringKsięga źródłowa rejestruje identyfikator transakcji; ta sama transakcja może zostać podzielona na wiele szczegółów
symbolstringPowiązana para handlowa może zostać pominięta, jeśli nie jest powiązana
assetTypestringTyp zasobu, zapisany według wartości źródłowej; używany do klasyfikacji aktywów, domyślnie nie wywnioskowany USDT
changeTypestringKonto zmienia typ działalności, zapisywany według wartości źródłowej, takiej jak opłata manipulacyjna, zysk i strata, przelew; można filtrować według tego samego pola
amountstringWartość zmiany tego szczegółu, liczba dodatnia oznacza wzrost, liczba ujemna oznacza spadek; precyzja zostaje zachowana
walletBalanceBeforestringSaldo portfela przed zmianą konta zapisane w tym szczególe
walletBalanceAfterstringSaldo portfela po zmianie konta zapisane w tym szczególe
frozenBalanceBeforestringW tym szczególe rejestrowane jest zamrożone saldo zarejestrowane przed zmianą rachunku
frozenBalanceAfterstringZamrożone saldo zapisane w tym szczególe po zmianie konta
referenceIdstringPowiązany numer firmy; interpretowany jako changeType i nie może być jednolicie uznany za porządek orderId; „0” oznacza, że ​​źródło nie ma prawidłowego powiązanego numeru
createdAtintegerCzas utworzenia szczegółów zmiany konta, milisekundy; to pole służy do filtrowania czasu w tym interfejsie

Wykorzystaj saldo przed i po zmianie konta zwróconego przez interfejs. Różne changeType mają różną semantykę i nie można zakładać, że każda kwota jest równa walletBalanceAfter − walletBalanceBefore. Wyświetlanie/podsumowanie zapisów księgowych powinno zachować tożsamość typu i szczegółów.

Oto przykład formatu z fikcyjnym identyfikatorem i kwotą:

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

Przykładowa koperta odpowiedzi

To jest przykładowa pusta strona, a nie próbka zakończonej transakcji. Powyższe tabele pól specyficznych dla zasobu opisują zapełnione items[].data.

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

Źródło i powiązane przewodniki