> 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.

# Preenchimentos comerciais perpétuos

Este guia é direcionado a **Agent Java SDK `v0.3.0`**, Java 8+ e ao contrato público marcado. Os exemplos são executados em um back-end de parceiro após a inicialização de `client` em [Início rápido](/pt-BR/sdk/agent-sdk/java/quick-start).

## Pré-requisitos de exemplo

Os trechos Java compartilham essas importações. Inicialize `client` usando o Quick Start e obtenha `platformUserId` da ligação salva. Os exemplos de IDs de usuário/pedido devem ser substituídos por seus próprios valores persistentes.

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

## `listPerpetualTrades`

Modelo de solicitação: `PerpetualTradesRequest`.

```java
import com.sixmm.agent.model.PerpetualTradesRequest;
import com.sixmm.agent.model.PerpetualResponse;
import java.util.Collections;

PerpetualTradesRequest request = new PerpetualTradesRequest();
request.platformUserIds = Collections.singletonList("1188041528");
request.limit = 100;
request.symbol = "BTCUSDT";
request.endTime = System.currentTimeMillis();
request.startTime = request.endTime - 3_600_000L;
PerpetualResponse response = client.listPerpetualTrades(request);
System.out.println(response.data.items.size());
System.out.println(response.data.hasMore);
System.out.println(response.data.nextCursor);
```

### Campos de solicitação

| Campo             | Java tipo                | Obrigatório | Significado                                                                                                                                                 |
| ----------------- | ------------------------ | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `platformUserIds` | `java.util.List<String>` | Sim         | Forneça explicitamente de 1 a 100 IDs de usuário exclusivos da plataforma pública pertencentes ao parceiro atual; omissão e uma matriz vazia são inválidas. |
| `symbol`          | `String`                 | Não         | Filtro opcional de pares de negociação.                                                                                                                     |
| `orderId`         | `String`                 | Não         | ID de pedido normal; não é um número de ordem de transferência de parceiro.                                                                                 |
| `startTime`       | `Long`                   | Não         | Milissegundos Unix inclusivos; use uma janela de histórico fixa UTC.                                                                                        |
| `endTime`         | `Long`                   | Não         | Milissegundos Unix exclusivos.                                                                                                                              |
| `limit`           | `Integer`                | Não         | Padrão 500; 1–1000.                                                                                                                                         |
| `cursor`          | `String`                 | Não         | Use o nextCursor retornado com filtros inalterados; pare quando hasMore for falso.                                                                          |

O exemplo lê uma página. Para campos obrigatórios, escopo do player, semântica de filtro, limite, cursor e novas tentativas limitadas, siga [Visão geral da consulta](/pt-BR/sdk/agent-sdk/java/perpetual-queries). Mantenha todos os filtros inalterados durante a paginação; não interprete um erro como um resultado vazio.

## Detalhes de preenchimento comercial

Interface: `trades`. Requer platformUserIds explícito.

| Campo `data`   | tipo    | significado                                                                                                                     |
| -------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------- |
| `fillId`       | string  | ID de detalhes de preenchimento comercial, correspondente a este registro entityId                                              |
| `tradeId`      | string  | O ID da transação correspondente associado à transação; não substitui o ID detalhado                                            |
| `orderId`      | string  | O ID geral do pedido ao qual esse detalhe pertence                                                                              |
| `positionId`   | string  | ID da posição associada                                                                                                         |
| `symbol`       | string  | par de negociação                                                                                                               |
| `side`         | string  | A direção de compra e venda deste jogador BUY / SELL                                                                            |
| `roleType`     | string  | O personagem de transação deste jogador MAKER / TAKER                                                                           |
| `positionSide` | string  | Direção de posição, explicada de acordo com o valor real LONG / SHORT / BOTH etc.                                               |
| `price`        | string  | Este preço de transação                                                                                                         |
| `quantity`     | string  | A quantidade desta transação não é a quantidade total do pedido original.                                                       |
| `tradeValue`   | string  | O valor nominal desta transação provém do valor nocional da transação                                                           |
| `handlingFee`  | string  | A taxa de transação para esta transação mantém o símbolo de origem e a precisão e não assume o valor absoluto por si só.        |
| `realizedPnl`  | string  | Os lucros e perdas realizados correspondentes a esta transação; não o lucro e a perda flutuantes em tempo real da posição atual |
| `tradedAt`     | integer | Tempo de transação, milissegundos; use este campo para filtragem de tempo                                                       |

Um pedido pode ter vários preenchimentos, os quais deverão ser salvos detalhadamente. Não mescle registros de diferentes jogadores/preencha funções por tradeId e depois descarte suas identidades de registro.

## Exemplo de envelope de resposta

Esta é uma página em branco ilustrativa, não uma amostra de uma negociação concluída. As tabelas de campos específicos de recursos acima descrevem `items[].data` preenchido.

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

## Fonte e guias relacionados

* [Fonte oficial v0.3.0](https://github.com/6mm-com/agent-java-sdk/tree/54aa3c1)
* [Visão geral da consulta e paginação](/pt-BR/sdk/agent-sdk/java/perpetual-queries)
* [Carteira de financiamento](/pt-BR/sdk/agent-sdk/java/funding-wallet)
* [Guia de atualização](/pt-BR/sdk/agent-sdk/java/upgrade)