Carteira de Financiamento
Carteira de financiamento: integração Agent Java SDK v0.3.0, exemplos, parâmetros e semântica de resposta.
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.
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.
Consultas e transferências de carteira
Distinguir as três carteiras
queryAccount Consulte a conta de margem da plataforma do comerciante, não a carteira do usuário do comerciante. Esta interface não possui parâmetros environment e não pode ser consultada como um ativo de usuário simulado.
Consulte as duas carteiras da plataforma de usuários simulados:
Interface: POST /v1/agent/query-user-assets. O financiamento é solicitado apenas quando includeFunding=true; a semântica de consulta do ativo do contrato original é usada por padrão.
Os valores são tratados como strings ou BigDecimal, não float/double.
Instruções de transferência de financiamento
Criar: POST /v1/agent/wallet-transfer, SDK walletTransfer.
A moeda atual suporta apenas USDT. O valor fixo deve ser uma string positiva com até 8 casas decimais e não pode utilizar notação científica. Quando transferAll=true, omita amount e registre-o como a resposta final amount; “todos” inclui apenas os fundos retiráveis.
Exemplo: O comerciante transfere 10 USDT para financiamento simulado. Primeiro salve a ordem comercial e o ambiente no sistema do comerciante e depois envie a solicitação:
Financiamento Transferir todos os recursos que podem ser transferidos para o Contrato simulado:
A mesma operação deve continuar usando o agentOrderNo original; diferentes operações e diferentes ambientes usam diferentes números de pedido. Será rejeitada alteração de quantidade, usuário, direção ou ambiente com o mesmo número de pedido. As transferências de financiamento/contrato só podem ser realizadas dentro do mesmo ambiente, e os fundos simulados não podem ser transferidos para fundos reais.
Confirmação de resultado e recuperação de resultado desconhecido
As respostas de financiamento são representadas por status, SUCCESS, PROCESSING, ou FAILED, e são retornadas orderNo, direction, currency, amount, resultCode, etc. code=0 significa apenas que a solicitação foi processada com sucesso e você precisa continuar a julgar status.
A consulta de financiamento usa a interface dedicada POST /v1/agent/wallet-transfer-status:
Utilize este endpoint dedicado para recuperar a operação de financiamento original; queryOrder não pode substituí-lo. Salve o ambiente original e passe-o explicitamente durante a recuperação. Se environment for omitido de wallet-transfer-status, o servidor utiliza o ambiente salvo no pedido original, incluindo pedidos simulados. Um ambiente explicitamente conflitante retorna 102002 (order environment mismatch). Quando o chamador omite o ambiente, a resposta omite environment também; isso não significa que o pedido original seja uma ordem de produção.
Os depósitos e saques locais dos comerciantes são idempotentes; pedidos e saldos persistentes são reservados antes do início e são reservados para confirmação quando o resultado é desconhecido. O acesso ao financiamento utiliza uma consulta dedicada para confirmar o status final; não presuma que a transferência de contrato antigo Webhook ou métodos de reversão sejam automaticamente aplicáveis ao Financiamento.
Fluxo de transferência de contrato existente
O transfer, transferAllOut, reverse, queryOrder, listOrders continuam a processar o processo de transferência do contrato original. queryOrder está consultando ordens de transferência de fundos, listOrders é uma lista de reconciliação de transferência; em vez de, Consultas perpétuas são usados para ordens de negociação perpétuas.
A resposta de financiamento original usa orderStatus; a resposta do Financiamento usa status, não os misture. A transferência original Webhook é verificada usando X-Agent-Timestamp, X-Agent-Nonce, X-Agent-Signature, e o texto da assinatura original é timestamp + nonce + rawBody; o corpo da solicitação original é primeiro verificado e depois desserializado e idempotente. Notificações explícitas de ambiente simulado contêm environment=SIMULATED, notificações de produção permanecem compatíveis com campos antigos. O valor, o número do pedido, o status e o ambiente precisam ser verificados com a ordem comercial local.