Portafoglio di finanziamento
Portafoglio di finanziamento: integrazione di Agent Java SDK v0.3.0, esempi, parametri e semantica di risposta.
Questa guida è rivolta a Agent Java SDK v0.3.0, Java 8+ e agli appalti pubblici contrassegnati. Gli esempi vengono eseguiti nel backend di un partner dopo aver inizializzato client in Avvio rapido.
Prerequisiti di esempio
Gli snippet Java condividono queste importazioni. Inizializza client utilizzando Quick Start e ottieni platformUserId dall’associazione salvata. Gli ID utente/ordine di esempio devono essere sostituiti con i tuoi valori persistenti.
Query e trasferimenti del portafoglio
Distinguere i tre portafogli
queryAccount Interroga il conto di margine della piattaforma del commerciante, non il portafoglio dell’utente del commerciante. Questa interfaccia non dispone di parametri environment e non può essere interrogata come risorsa utente simulata.
Interroga i due portafogli della piattaforma degli utenti simulati:
Interfaccia: POST /v1/agent/query-user-assets. Il finanziamento viene richiesto solo quando includeFunding=true; per impostazione predefinita viene utilizzata la semantica della query della risorsa contratto originale.
Gli importi vengono gestiti come stringhe o BigDecimal, non float/double.
Indicazioni per il trasferimento dei fondi
Crea: POST /v1/agent/wallet-transfer, SDK walletTransfer.
La valuta attuale supporta solo USDT. L’importo fisso deve essere una stringa positiva con un massimo di 8 cifre decimali e non può utilizzare la notazione scientifica. Quando transferAll=true, ometti amount e registralo come risposta finale amount; “tutto” include solo i fondi prelevabili.
Esempio: il commerciante trasferisce 10 USDT al finanziamento simulato. Per prima cosa salva l’ordine commerciale e l’ambiente nel sistema del commerciante, quindi invia la richiesta:
Finanziamento Trasferisci tutti i fondi che possono essere trasferiti al contratto simulato:
La stessa operazione deve continuare ad utilizzare l’originale agentOrderNo; operazioni diverse e ambienti diversi utilizzano numeri d’ordine diversi. La modifica dell’importo, dell’utente, della direzione o dell’ambiente con lo stesso numero d’ordine verrà rifiutata. I trasferimenti di fondi/contratti possono essere eseguiti solo all’interno dello stesso ambiente e i fondi simulati non possono essere trasferiti in fondi reali.
Conferma del risultato e recupero del risultato sconosciuto
Le risposte ai finanziamenti sono rappresentate da status, SUCCESS, PROCESSING o FAILED e vengono restituite orderNo, direction, currency, amount, resultCode, ecc. code=0 significa solo che la richiesta è stata elaborata con successo e devi continuare a giudicare status.
La richiesta di finanziamento utilizza l’interfaccia dedicata POST /v1/agent/wallet-transfer-status:
Utilizza questo endpoint dedicato per recuperare l’operazione di finanziamento originale; queryOrder non può sostituirlo. Salvare l’ambiente originale e trasmetterlo esplicitamente durante il ripristino. Se environment viene omesso da wallet-transfer-status, il server utilizza l’ambiente salvato nell’ordine originale, inclusi gli ordini simulati. Un ambiente esplicitamente in conflitto restituisce 102002 (order environment mismatch). Quando il chiamante omette l’ambiente, anche la risposta omette environment; ciò non significa che l’ordine originale sia un ordine di produzione.
I depositi e i prelievi locali dei commercianti sono idempotenti; gli ordini e i saldi persistenti sono riservati prima dell’avvio e sono riservati per la conferma quando il risultato è sconosciuto. L’accesso ai finanziamenti utilizza una query dedicata per confermare lo stato finale; non dare per scontato che i metodi di trasferimento o storno del vecchio contratto Webhook siano automaticamente applicabili al finanziamento.
Flusso di trasferimento del contratto esistente
Gli originali transfer, transferAllOut, reverse, queryOrder, listOrders continuano a elaborare il processo di trasferimento del contratto originale. queryOrder interroga gli ordini di trasferimento fondi, listOrders è un elenco di riconciliazione dei trasferimenti; Invece, Domande continue sono utilizzati per ordini di negoziazione perpetui.
La risposta al finanziamento originale utilizza orderStatus; la risposta al finanziamento utilizza status, non mescolarli. Il trasferimento originale Webhook viene verificato utilizzando X-Agent-Timestamp, X-Agent-Nonce, X-Agent-Signature e il testo della firma originale è timestamp + nonce + rawBody; il corpo della richiesta originale viene prima verificato, quindi deserializzato e idempotente. Le notifiche esplicite dell’ambiente simulato contengono environment=SIMULATED, le notifiche di produzione rimangono compatibili con i vecchi campi. L’importo, il numero dell’ordine, lo stato e l’ambiente devono essere verificati con l’ordine commerciale locale.