Carteira de Financiamento
Carteira de financiamento: integração Agent Java SDK v0.3.0, exemplos, parâmetros e semântica de resposta.
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.
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.
Consultas e transferências de carteira
Distinguir as três carteiras
queryAccount Consulte a conta de margem da plataforma do comerciante, e não a carteira do utilizador do comerciante. Esta interface não possui parâmetros environment e não pode ser consultada como um ativo de utilizador simulado.
Consulte as duas carteiras da plataforma de utilizadores 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 é utilizada por defeito.
Os valores são tratados como strings ou BigDecimal, e não float/double.
Instruções de transferência de financiamento
Criar: POST /v1/agent/wallet-transfer, SDK walletTransfer.
A moeda atual apenas suporta 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 registe-o como resposta final amount; “todos” inclui apenas os fundos retiráveis.
Exemplo: O comerciante transfere 10 USDT para financiamento simulado. Primeiro guarde a ordem comercial e o ambiente no sistema do comerciante e depois envie o pedido:
Financiamento Transferir todos os recursos que podem ser transferidos para o Contrato simulado:
A mesma operação deve continuar utilizando o agentOrderNo original; diferentes operações e diferentes ambientes utilizam diferentes números de encomenda. Será rejeitada a alteração de quantidade, utilizador, direção ou ambiente com o mesmo número de encomenda. 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 devolvidas orderNo, direction, currency, amount, resultCode, etc. code=0 significa apenas que o pedido foi processado com sucesso e precisa de continuar a julgar status.
A consulta de financiamento utiliza a interface dedicada POST /v1/agent/wallet-transfer-status:
Utilize este endpoint dedicado para recuperar a operação de financiamento original; queryOrder não o pode substituir. Guarde o ambiente original e passe-o explicitamente durante a recuperação. Se environment for omitido de wallet-transfer-status, o servidor utiliza o ambiente guardado no pedido original, incluindo os pedidos simulados. Um ambiente explicitamente conflituante devolve 102002 (order environment mismatch). Quando o chamador omite o ambiente, a resposta omite também environment; isto não significa que o pedido original seja uma ordem de produção.
Os depósitos e levantamentos locais dos comerciantes são idempotentes; encomendas 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 recorre a uma consulta dedicada para confirmar o estado final; não presuma que a transferência de um contrato antigo Webhook ou os métodos de reversão são automaticamente aplicáveis ao Financiamento.
Fluxo de transferência de contrato existente
Os transfer, transferAllOut, reverse, queryOrder, listOrders continuam a processar o processo de transferência do contrato original. queryOrder está a consultar ordens de transferência de fundos, listOrders é uma lista de reconciliação de transferências; em vez de, Consultas perpétuas são utilizados para ordens de negociação perpétuas.
A resposta de financiamento original utiliza orderStatus; a resposta do Financiamento utiliza status, não os misture. A transferência original Webhook é verificada através de X-Agent-Timestamp, X-Agent-Nonce, X-Agent-Signature, e o texto da assinatura original é timestamp + nonce + rawBody; o corpo do pedido original é primeiro verificado e depois desserializado e idempotente. As notificações explícitas de ambiente simulado contêm environment=SIMULATED, as notificações de produção permanecem compatíveis com os campos antigos. O valor, o número do pedido, o estado e o ambiente precisam de ser verificados com a ordem comercial local.