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

# Produção e Negociação Simulada

Este guia é dirigido a **Agent Java SDK `v0.3.0`** e Java 8+.

## Escolha o modo frontend e o ambiente de fundos

Configure o ambiente de fundos do back-end do parceiro separadamente do modo de negociação de front-end. As credenciais de ligação e de entrada são partilhadas; emitir um bilhete ou token não seleciona uma carteira nem movimenta fundos.

| Configuração                                    | Produção                                                 | Simulado                                                             |
| ----------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------------------- |
| Vinculação e autenticação                       | Vinculação de utilizador partilhada e credenciais únicas | Mesma identidade e autenticação                                      |
| Novas transferências e saldos de utilizadores   | Omita `environment` ou utilize `PRODUCTION`              | Usar explicitamente `SIMULATED`                                      |
| Financiamento da recuperação do pedido original | Utilize o ambiente original guardado                     | Utilize o ambiente original guardado                                 |
| Modo de negociação de widgets                   | `tradingMode=real`                                       | `tradingMode=demo`                                                   |
| Front-end HTTP/alvo WS                          | Meta de produção fornecida por 6MM                       | Alvo simulado fornecido por 6MM                                      |
| Seis consultas de dados perpétuos               | Dados de produção                                        | Sem seletor de ambiente; estes métodos não consultam dados simulados |

Para `wallet-transfer-status`, omitir `environment` utiliza o ambiente guardado do pedido original, incluindo um pedido simulado. Um ambiente explicitamente conflituoso é rejeitado. Prefira armazenar o ambiente e transmiti-lo explicitamente ao recuperar uma operação.

`isSimulatedUser` descreve a conta. Não encaminha novos pedidos para uma carteira simulada. A omissão de `environment` num novo pedido de fundos ainda seleciona a produção, mesmo quando o indicador da conta é verdadeiro.

## Modelos de pedido Java compatíveis

Estes pedidos suportam `withEnvironment(ExecutionEnvironment.SIMULATED)`:

* `TransferRequest`, `TransferAllOutRequest`, `ReverseOrderRequest`.
* `QueryOrderRequest`, `ListOrdersRequest`.
* `QueryUserAssetsRequest`.
* `WalletTransferRequest`, `WalletTransferQueryRequest`.

`bind`, `queryAccount`, `createEntryUrl`, `createEmbedToken` e os seis modelos de pedido de consulta perpétua não selecionam um ambiente de fundos.

```java
import com.sixmm.agent.model.ExecutionEnvironment;
import com.sixmm.agent.model.QueryUserAssetsRequest;
import com.sixmm.agent.model.QueryUserAssetsResponse;

QueryUserAssetsResponse assets = client.queryUserAssets(
        QueryUserAssetsRequest.of("1188041528")
                .withFunding()
                .withEnvironment(ExecutionEnvironment.SIMULATED));
```

Inicializar `client` utilizando [Início rápido](/pt-PT/sdk/agent-sdk/java/quick-start) e utilize o ID de utilizador público da ligação guardada.

## Preservar o ambiente original

Persista o tipo de interface, `agentOrderNo`, a identidade do utilizador e o ambiente antes de enviar um pedido de fundos. Mantenha este ambiente durante as consultas de estado, recuperação, reconciliação e processamento webhook. Após um tempo limite, nunca mais tente omitindo o ambiente original ou utilizando um novo número de encomenda.

As transferências de financiamento/contrato permanecem dentro de um ambiente. Os fundos simulados não podem tornar-se fundos de produção. Utilize contabilização simulada separada do lado do parceiro e prefixos de encomenda reconhecíveis, como `SIM-`.

## Sequência de integração simulada

1. Ligue o utilizador e guarde o ID do utilizador da plataforma pública.
2. Consulte os saldos com `SIMULATED` explícito e inclua o financiamento quando necessário.
3. Crie uma pequena transferência de financiamento simulada e mantenha a sua ordem comercial original.
4. Confirme o resultado final com a consulta dedicada ao estado do financiamento.
5. Abra ou incorpore a página de segundos alvo no modo `demo`.
6. Consulte as mesmas carteiras simuladas e reconcilie o valor real transferido.
7. Para testar a negociação perpétua, transfira o financiamento simulado para o contrato simulado e utilize o frontend de futuros simulados. As consultas permanentes dos seis parceiros não podem validar o histórico de negociação simulado.

## Lista de verificação de aceitação

| Cenário                | Evidências a verificar                                                                                            |
| ---------------------- | ----------------------------------------------------------------------------------------------------------------- |
| Identidade             | O mapeamento do utilizador vinculado é guardado; os utilizadores de outro parceiro não podem ser consultados.     |
| Autenticação           | Os fluxos de redireccionamento e incorporação utilizam credenciais novas; a assinatura não cria ordens de fundos. |
| Fundos                 | Ambos os lados concordam com o valor real e o estatuto final.                                                     |
| Resultado desconhecido | A recuperação utiliza o pedido original sem criar uma segunda transferência.                                      |
| Isolamento ambiental   | Os alvos simulados de backend e frontend concordam; os saldos de produção não são afetados.                       |
| Consultas              | Os filtros de utilizador/categoria necessários, janelas de milissegundos, páginas vazias e cursores são tratados. |
| Limites de taxa        | Todos os chamadores de consulta partilham a limitação e tentam novamente a página original com falha.             |
| Armazenamento          | Os valores e IDs permanecem strings; os registos da entidade são guardados de forma idempotente.                  |

Antes de mudar para produção, altere a meta de fundos de back-end e o modo de front-end. Os pedidos pendentes continuam a recuperar no seu ambiente original.

## 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)