> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.6mm.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.6mm.com/_mcp/server.

# Księga kontraktowa

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](/pl/sdk/agent-sdk/java/quick-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.

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

## `listPerpetualLedger`

Zapytaj o model: `PerpetualLedgerRequest`.

```java
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

| Pole              | Java typ                 | Wymagany  | Oznaczający                                                                                                                                                                                |
| ----------------- | ------------------------ | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `platformUserIds` | `java.util.List<String>` | Warunkowy | 1–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. |
| `assetType`       | `String`                 | NIE       | Klasyfikacja aktywów zwrócona przez księgę; nie zakładaj USDT.                                                                                                                             |
| `changeType`      | `String`                 | NIE       | Typ zmiany biznesowej księgi, zachowujący wartości źródłowe.                                                                                                                               |
| `startTime`       | `Long`                   | NIE       | Włącznie z milisekundami Uniksa; użyj stałego okna historii UTC.                                                                                                                           |
| `endTime`         | `Long`                   | NIE       | Ekskluzywne milisekundy Uniksa.                                                                                                                                                            |
| `limit`           | `Integer`                | NIE       | Domyślnie 500; 1–1000.                                                                                                                                                                     |
| `cursor`          | `String`                 | NIE       | Uż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ń](/pl/sdk/agent-sdk/java/perpetual-queries). 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`.          | typ     | oznaczający                                                                                                                                                                 |
| --------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ledgerId`            | string  | Księga źródłowa rejestruje identyfikator transakcji; ta sama transakcja może zostać podzielona na wiele szczegółów                                                          |
| `symbol`              | string  | Powiązana para handlowa może zostać pominięta, jeśli nie jest powiązana                                                                                                     |
| `assetType`           | string  | Typ zasobu, zapisany według wartości źródłowej; używany do klasyfikacji aktywów, domyślnie nie wywnioskowany USDT                                                           |
| `changeType`          | string  | Konto 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      |
| `amount`              | string  | Wartość zmiany tego szczegółu, liczba dodatnia oznacza wzrost, liczba ujemna oznacza spadek; precyzja zostaje zachowana                                                     |
| `walletBalanceBefore` | string  | Saldo portfela przed zmianą konta zapisane w tym szczególe                                                                                                                  |
| `walletBalanceAfter`  | string  | Saldo portfela po zmianie konta zapisane w tym szczególe                                                                                                                    |
| `frozenBalanceBefore` | string  | W tym szczególe rejestrowane jest zamrożone saldo zarejestrowane przed zmianą rachunku                                                                                      |
| `frozenBalanceAfter`  | string  | Zamrożone saldo zapisane w tym szczególe po zmianie konta                                                                                                                   |
| `referenceId`         | string  | Powią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 |
| `createdAt`           | integer | Czas 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ą:

```json
{
  "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`.

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

## Źródło i powiązane przewodniki

* [Oficjalne źródło v0.3.0](https://github.com/6mm-com/agent-java-sdk/tree/54aa3c1)
* [Przegląd zapytań i paginacja](/pl/sdk/agent-sdk/java/perpetual-queries)
* [Portfel finansowania](/pl/sdk/agent-sdk/java/funding-wallet)
* [Przewodnik po aktualizacji](/pl/sdk/agent-sdk/java/upgrade)