> 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 é dirigido a **Agent Java SDK `v0.3.0`**, Java 8+ e ao contrato público assinalado. Os exemplos são executados num back-end de parceiro após a inicialização de `client` em [Início rápido](/pt-PT/sdk/agent-sdk/java/quick-start).

## Pré-requisitos de exemplo

Os trechos Java partilham estas importações. Inicialize `client` utilizando o Quick Start e obtenha `platformUserId` a partir da ligação guardada. Os exemplos de IDs de utilizador/encomenda devem ser substituídos pelos seus próprios valores persistentes.

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

## `listPerpetualTrades`

Modelo de pedido: `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 1 a 100 IDs de utilizador 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 encomenda normal; não é um número de ordem de transferência de parceiros.                                                                             |
| `startTime`       | `Long`                   | Não         | Milissegundos Unix inclusivos; utilize 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         | Utilize o nextCursor devolvido com filtros inalterados; parar quando hasMore for falso.                                                                     |

O exemplo lê uma página. Para campos obrigatórios, âmbito do leitor, semântica de filtro, limite, cursor e novas tentativas limitadas, siga [Visão geral da consulta](/pt-PT/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 detalhe de preenchimento comercial, correspondente a este registo 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 pertence este detalhe                                                                                 |
| `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  | Sentido de posição, explicado 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 da encomenda 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 prejuízos 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; utilize este campo para filtragem de tempo                                                      |

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

## 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-PT/sdk/agent-sdk/java/perpetual-queries)
* [Carteira de financiamento](/pt-PT/sdk/agent-sdk/java/funding-wallet)
* [Guia de atualização](/pt-PT/sdk/agent-sdk/java/upgrade)