Ir para a navegação

Razão de contrato

Razão de contrato: Integração Agent Java SDK v0.3.0, exemplos, parâmetros e semântica de resposta.

Ver como Markdown

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.

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

listPerpetualLedger

Modelo de pedido: PerpetualLedgerRequest.

import com.sixmm.agent.model.PerpetualLedgerRequest;
import com.sixmm.agent.model.PerpetualResponse;
import java.util.Collections;
PerpetualLedgerRequest request = new PerpetualLedgerRequest();
request.platformUserIds = Collections.singletonList("1188041528");
request.limit = 100;
request.endTime = System.currentTimeMillis();
request.startTime = request.endTime - 3_600_000L;
PerpetualResponse response = client.listPerpetualLedger(request);
System.out.println(response.data.items.size());
System.out.println(response.data.hasMore);
System.out.println(response.data.nextCursor);

Campos de solicitação

CampoJava tipoObrigatórioSignificado
platformUserIdsjava.util.List<String>Condicional1–100 IDs públicos exclusivos; necessário para os preenchimentos e pedidos condicionais. Omitir consultas suportadas para o âmbito do player direto; [] é inválido.
assetTypeStringNãoClassificação dos ativos conforme devolvido pelo razão; não assuma USDT.
changeTypeStringNãoTipo de mudança de negócio razão, preservando os valores de origem.
startTimeLongNãoMilissegundos Unix inclusivos; utilize uma janela de histórico fixa UTC.
endTimeLongNãoMilissegundos Unix exclusivos.
limitIntegerNãoPadrão 500; 1–1000.
cursorStringNãoUtilize 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. Mantenha todos os filtros inalterados durante a paginação; não interprete um erro como um resultado vazio.

Registos do razão de contrato

Interface: account/ledger. Os dados devolvidos contêm apenas os 11 campos comerciais seguintes e não transportam os sinalizadores booleanos do pedido.

Campo datatiposignificado
ledgerIdstringO razão de origem regista o ID da transação; a mesma transação pode ser dividida em vários detalhes
symbolstringPar de negociação relacionado, pode ser omitido se não estiver relacionado
assetTypestringTipo de ativo, salvo por valor de origem; utilizado para classificação de ativos, não inferido por defeito USDT
changeTypestringTipo de negócio de mudança de conta, salvo de acordo com o valor de origem, como taxa de manuseio, lucros e perdas, transferência; pode ser filtrado pelo mesmo campo
amountstringO valor da alteração deste detalhe, um número positivo indica um aumento, um número negativo indica uma diminuição; a precisão é mantida
walletBalanceBeforestringO saldo da carteira antes da alteração da conta registado neste detalhe
walletBalanceAfterstringO saldo da carteira após a alteração da conta registado neste detalhe
frozenBalanceBeforestringO saldo congelado registado antes da mudança de conta é registado neste detalhe
frozenBalanceAfterstringO saldo congelado registado neste detalhe após a mudança de conta
referenceIdstringNúmero comercial associado; interpretado como changeType e não pode ser considerado uniformemente como pedido orderId; “0” indica que a fonte não tem um número associado válido
createdAtintegerHora de criação dos detalhes de alteração da conta, milissegundos; este campo é utilizado para a filtragem de tempo nesta interface

Utilize o saldo antes e depois da alteração da conta devolvida pela interface. Diferentes changeType têm semânticas diferentes e não se pode assumir que cada valor é igual a walletBalanceAfter - walletBalanceBefore. A exibição/resumo dos registos contabilísticos deve manter o tipo e a identidade detalhada.

Eis um exemplo do formato, usando um ID e um valor fictícios:

{
"code": 0,
"message": "success",
"data": {
"items": [
{
"platformUserId": "1188041528",
"entityType": "ACCOUNT_LEDGER",
"entityId": "900001",
"data": {
"ledgerId": "ledger-example-001",
"symbol": "BTCUSDT",
"assetType": "USDT",
"changeType": "HANDLING_FEE",
"amount": "-0.10000000",
"walletBalanceBefore": "100.00000000",
"walletBalanceAfter": "99.90000000",
"frozenBalanceBefore": "0.00000000",
"frozenBalanceAfter": "0.00000000",
"referenceId": "800001",
"createdAt": 1791590400000
}
}
],
"nextCursor": "",
"hasMore": false
}
}

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.

{"code":0,"message":"success","data":{"items":[],"nextCursor":"","hasMore":false}}

Fonte e guias relacionados