Nossa REST API pode ser acessada publicamente via /api/v1/BRL/

Exchange (Produção) https://exchange.brabex.com.br/api/v1/BRL/

Ticker

O Ticker é uma informação resumida sobre o status atual da bolsa.

Requisição GET: ticker
https://exchange.brabex.com.br/api/v1/BRL/ticker?crypto_currency=BTC

Parâmetros de envio:

crypto_currency      Moeda (BTC)

Será retornado um JSON com o seguinte formato:

{
    "high": 23865.6,
    "vol": 1.03001002,
    "buy": 5400.0,
    "last": 6500.0,
    "low": le-08,
    "pair": "BTCBRL",
    "sell": 23000.0,
    "vol_brl": 7216.20671601
}

Livro de ordens

O livro de ordens é uma lista de ordens de compra e venda e mostra interesse de compradores (bids) e vendedores (asks).

Requisição GET: orderbook
https://exchange.brabex.com.br/api/v1/BRL/orderbook?crypto_currency=BTC

Parâmetros de envio:

crypto_currency      Moeda (BTC)

Será retornado um JSON com o seguinte formato:

{
    "pair": "BTCBRL",
    "bids": [
        [5400.0, 1.0, 90000005],
        [5000.02, 1.0, 90000008],
        [5000.01, 1.0, 90000008],
        [800.0, 0.01, 90000005],
        [500.0, 0.0006, 90000005],
        [200.000001,	0.00674975, 90000004],
        [200.0, 1.0,	90000005],
        [200.0, 1.5,	90000005],
        [10.0, 20.0,	90000005]
    ],
    "asks":	[
        [23000.0, 0.1, 90000002],
        [23865.6, 21.92726687, 90000005],
        [23865.74, 0.8, 90000005],
        [25000.0, 0.001, 90000002]
    ]
}

Trades

Lista das últimas negociações executadas.

Requisição GET: trades
https://exchange.brabex.com.br/api/v1/BRL/trades?limit=500&crypto_currency=BTC

Parâmetros de envio:

limit               Quantidade máxima de registros de retorno. Default = 100
crypto_currency	    Moeda (BTC)

Será retornado um JSON com o seguinte formato:

{
    [{
        "tid": 861,
        "date": 1511993694,
        "price": 6500.0,
        "amount": 1.0
    },
    {
        "tid": 860,
        "date": 1511969060,
        "price": 23865.6,
        "amount": 0.03
    },
    {
        "tid": 859,
        "date": 1511968855,
        "price": 6000.0,
        "amount": 1e-08
    },
    {
        "tid": 858,
        "date": 1511968694,
        "price": 23865.6,
        "amount": le-05
    }]
}

Conectividade / Heartbeat

O socket request deve ser direcionado para:

Exchange (Produção) wss://exchange.brabex.com.br/trade/

Para manter a conexão aberta é necessário enviar uma mensagem de heartbeat a cada 30 segundos.

{
    "MsgType": "1",
    "TestReqID": "1473241552307",
    "SendTime": 1469031953
}

Será retornado um JSON com o seguinte formato:

{
    "ServerTimestamp": 1473241957,
    "TestReqID": "1473241552307",
    "MsgType": "0",
    "SendTime": 1473241552307,
    "Latency": 167
}

Autenticação

FingerPrint

Para realizar a conexão, é necessário passar uma impressão digital de seu navegador. Recomendamos a utilização da biblioteca https://github.com/Valve/fingerprintjs2

Cadastrar usuário

{
    "BrokerID": 5,
    "CountryCode": "BR",
    "Email": "user@user.com",
    "FingerPrint": "b959a35c7f3f5e9315c99b5a25c2bbda",
    "MsgType": "U0",
    "Password": "S0m3Password",
    "State": "SP",
    "UserReqID": 9699999,
    "Username": "api_user"
}

Parâmetros de envio:

BrokerID        number - ID do Broker
CountryCode     string - Sigla do país
Email           string
FingerPrint     string - Impressão digital do seu navegador
MsgType         string - "U0"
Password        string - Senha do usuário
State           string - Sigla do estado
UserReqID       number - Id da requisição
Username        string - Usuário

Será retornado um JSON com o seguinte formato:

{
    "MsgType": "BF",
    "IsMarketMaker": false,
    "WithdrawFixedFee": null,
    "BrokerID": 5,
    "IsBroker": false,
    "Username": "api_user",
    "WithdrawPercentFee": null,
    "Userfullname": "",
    "TransactionFeeBuy": null,
    "UserID": 90999977,
    "UserReqID": 9642131,
    "TransactionFeeSell": null,
    "UserStatus": 1,
    "UserStatusText": "",
    "TwoFactorEnabled": false,
    "DepositFixedFee": null,
    "DepositPercentFee": null,
    "Profile":{
        "Username": "api_user",
        "VerificationData": null,
        "IsMarketMaker": false,
        "Userfullname": "",
        "Verified": 0,
        "CountryCode": "BR",
        "WithdrawPercentFee": null,
        "Country": "BR",
        "UserID": 90999977,
        "TwoFactorEnabled": false,
        "TransactionFeeSell": null,
        "Email": "user@user.com",
        "State": "SP",
        "WithdrawFixedFee": null,
        "TransactionFeeBuy": null,
        "NeedWithdrawEmail": true,
        "Type": "USER",
        "ID": 90999977,
        "DepositPercentFee": null,
        "DepositFixedFee": null
    },
    "Broker": { }
}

Login

{
    "MsgType": "BE",
    "UserReqID": 854833,
    "BrokerID": 5,
    "Username": "UsHAJhs6",
    "Password": "Jksh7629n2",
    "UserReqTyp": "1",
    "FingerPrint": "b959a35c7f3f5e9315c99b5a25c2bbda"
}

Parâmetros de envio:

MsgType	                    string - "BE"
UserReqID	            number - Id da requisição
BrokerID	            number - ID do Broker
Username	            string - Endereço de e-mail do usuário ou chave do usuário para API
Password	            string - Senha do usuário
UserReqTyp                  string - "1"
FingerPrint	            string - FingerPrint do navegador
SecondFactor(opcional)      number - Código de autenticação 2FA
UserAgent(opcional)	    string - User Agent do navegador

Será retornado um JSON com o seguinte formato:

{
    "UserID": 9080003,
    "TwoFactorEnabled": false,
    "EmailLang": "pt_BR",
    "Username": "user",
    "IsMSB": "false",
    "Broker": {},
    "Profile": {},
    "HasLineOfCredit": false,
    "UserStatus": 1,
    "IsBroker": false,
    "TakerTransactionFeeSell": null,
    "ConfirmationOrder": false,
    "TakerTransactionFeeBuy": null,
    "UserReqID": 854833,
    "MsgType": "BF",
    "IsMarketMaker": false,
    "DepositPercentFee": null,
    "DepositFixedFee": null,
    "WithdrawPercentFee": null,
    "WithdrawFixedFee": null,
    "EmailTwoFactorEnabled": false,
    "BrokerID": 5,
    "PermissionList": {
        “*”:[]
    }
}

Parâmetros da resposta:

MsgType                 string - "BF"
Broker                  object - Veja retorno do broker para maiores informações
BrokerID                number - Broker ID
DepositFixedFee         number - Taxa fixa de depósito
DepositPercentFee       number - Taxa percentual de depósito
EmailLang               string - Idioma do Email
HasLineOfCredit	        boolean - Indica se o usuário possui linha de crédito
IsBroker                boolean - Indica se o usuário é um broker
IsMSB                   boolean
Profile                 object - Veja profile model para maiores informações
TakerTransactionFeeBuy  number - Taxa Taker para ordens de compra
TakerTransactionFeeSell number - Taxa Taker para ordens de venda
TransactionFeeBuy       number - Taxa Maker	para compra
TransactionFeeSell      number - Taxa Maker para venda
TwoFactorEnabled        boolean - Indica se o usuário habilitou 2FA
UserID                  number - ID do usuário
UserReqTyp              number
UserStatus              number - Status do usuário: "1"=Logged In, "2"=Not Logged In, "3"=User Not Recognised
Username                string - Nome do usuário
WithdrawFixedFee        number - Taxa fixa de resgate
WithdrawPercentFee      number - Taxa percentual de resgate

Assinar Livro de Ofertas

Assinar dados de mercado em tempo real:

{
    "MsgType": "V",
    "UserReqID": 9894272,
    "SubscriptionRequestType": "1",
    "MarketDepth": "0",
    "MDUpdateType": "1",
    "MDEntryTypes": ["0", "1", "2"],
    "Instruments": ["BTCBRL"]
}

Parâmetros de envio:

MsgType                     string - "V"
MDReqID                     number - ID da requisição
SubscriptionRequestType     string - "1" se inscrever, "2" desinscrever
MarketDepth                 string - "0" book completo, "1" topo do book
MDEntryTypes                array(string) - "0"=Bid, "1"=Offer, "2"=Trade
MDUpdateType                string - "0"=Full Refresh, "1"=Incremental Refresh
Instruments                 array(string) - Array com os símbolos que se deseja inscrever

Será retornado um JSON com o seguinte formato:

{
    "MDReqID": 9894272,
    "Symbol": "BTCBRL",
    "MsgType": "W",
    "MarketDepth": 0,
    "MDFullGrp": {
        "BTCBRL": {
            "bids": [[ 30708, 1.59231429, 90800535 ], [ 30770.79, 5.68, 90800535 ]],
            "asks": [[ 30708.72, 8.32039144, 90800535 ], [ 30579.67, 2, 90800535 ]]
        }
    }
}

Parâmetros da resposta:

Livro de Ofertas
MsgType     string - "W"
MDReqID     number - ID da requisição
MarketDepth string - "0"=book completo, "1"=topo do book,
Symbol      string - Símbolo inscrito
MDFullGrp   objetct - Objeto contendo todas as ordens
Refresh incremental
MsgType     string - "X"
MDReqID     number - ID da requisição
MDBkTyp     string - "3" profundidade da ordem
MDIncGrp    array - Matriz contendo as novas entradas
MDIncGrp
OrderID             number - ID da ordem
MDEntryPx           number - Preço da ordem
MDUpdateAction      string - "0"=New, "1"=Update, "2"=Delete, "3"=DeleteThru
MDEntryTime         string - Horário em que a ordem foi criada
Symbol              string - Símbolo da ordem inscrita. Ex:BTCBRL
UserID              number - ID do usuário
Broker              string - Nome do broker a qual a ordem pertece
MDEntryType         string - "0"=Bid, "1"=Offer, "2"=Trade
MDEntryPositionNo   number - Posição da ordem no book
MDEntrySize         number - Quantidade da ordem / tamanho da ordem
MDEntryID           number - Market data entry ID
MDEntryDate         string - Data na qual dos dados do mercado foram recebidos

Assinar Ticker

{
    "MsgType": "e",
    "SecurityStatusReqID": 123,
    "SubscriptionRequestType": "1",
    "Instruments": ["BTCBRL"]
}

Parâmetros de envio:

MsgType                 string - "e"
SecurityStatusReqID     number - ID da requisição
SubscriptionRequestType string
Instruments             array - matriz contendo os símbolos que se deseja inscrever

Será retornado um JSON com o seguinte formato:

{
    "SellVolume": 0.71399999,
    "LowPx": 578,
    "LastPx": 578,
    "MsgType": "f",
    "BestAsk": 578.47,
    "HighPx": 578.71,
    "BuyVolume": 412.71463421,
    "BestBid": 578,
    "Symbol": "BTCBRL",
    "SecurityStatusReqID": 960751,
    "Market": "BRABEX"
}

Parâmetros da resposta:

MsgType             string - "F"
SellVolume          number - Volume total de vendas
LowPx               number - Menor preço
LastPx              number - Último preço
BestAsk             number - Melhor preço de compra
HighPx              number - Maior preço
BuyVolume           number - Volume de compras
BestBid             number - Melhor preço de venda
Symbol              string - Símbolo da ordem inscrita. Ex:BTCBRL
SecurityStatusReqID number - ID da requisição
Market              string - Mercado

Relatório de execução

Acompanhe o relatório de execução para conferir o status de suas ordens.

{
    "OrderID": 1459028830811,
    "ExecID": 740972,
    "ExecType": "0",
    "OrdStatus": "0",
    "CumQty": 0,
    "Symbol": "BTCBRL",
    "OrderQty": 5000000,
    "LastShares": 0,
    "LastPx": 0,
    "Price": 55000000000,
    "TimeInForce": "1",
    "LeavesQty": 5000000,
    "MsgType": "8",
    "ExecSide": "1",
    "OrdType": "2",
    "CxlQty": 0,
    "Side": "1",
    "ClOrdID": 3251968,
    "AvgPx": 0
}

Parâmetros de envio:

MsgType     string - "8"
OrderID     number - ID da ordem
ExecID      number - Identificador único das mensagens de execução
ExecType    string - Status da execução. "0"=New, "1"=Partially fill, "2"=Fill, "4"=Cancelled, "8"=Rejected, "A"=Pending New
OrdStatus   string - Status da ordem. "0"=New, "1"=Partially fill, "2"=Fill, "4"=Cancelled, "8"=Rejected, "A"=Pending New
LeavesQty   number - Quantidade disponível para execução
Symbol      string - Par de moedas que define o mercado. Por exemplo "BTCBRL"
OrderQty    number - Quantidade das ordens em satoshis
LastShares  number - Quantidade de shares vendidas ou compradas neste fill
LastPx      number - Preço do último fill
CxlQty      number - Quantidade total cancelada nesta ordem
TimeInForce string - "0"=Day, "1"=Good Till Cancel, "4"=Fill or Kill
CumQty      number - Quantidade total preenchida
ClOrdID     string - Identificador único da ordem
OrdType     string
Side        string - "1"=Buy, "2"=Sell
Price       number - Preço por quantidade
ExecSide    string
AvgPx       number - Média de preço calculado em todos os fills desta ordem

Lista de negócios

{
    "MsgType": "U32",
    "TradeHistoryReqID": 85485,
    "Since": "2018-04-01 20:51:40",
    "Filter": 0,
    "Page": 0,
    "PageSize": 80
}

Parâmetros de envio:

MsgType             string - "U32"
TradeHistoryReqID   number - ID da requisição
Since (opcional)    number - Filtro Desde de, padrao "YYYY-mm-dd H:i:s"
Filter (opcional)   string - Filtro de busca
Page (opcional)     number - Página
PageSize (opcional) number - Quantidade de registros da página. Default é 80

Será retornado um JSON com o seguinte formato:

{
    "TradeHistoryReqID": 1,
    "PageSize": 80,
    "TradeHistoryGrp": {
        "BTCBRL": [{
            "TradeID": 486649,
            "Market": "BTCBRL",
            "Side": "2",
            "Price": 202152000000,
            "Size": 76389217,
            "Buyer": 90869802,
            "Seller": 90863020,
            "Created": "2016-10-01 20:51:40"
        }]
    },
    "MsgType": "U33",
    "Page": 0
}

Parâmetros da resposta:


TradeHistoryReqID   number - ID da requisição
PageSize            number - Tamanho da página retornada
TradeHistoryGrp     array  - Array de pares de moedas
MsgType             string - "U33"
Page                number - Número da página

TradeHistoryGrp

TradeID             number - ID do trade
Market              number - Mercado, par de moedas
Side                number - "1"=Buy, "2"=Sell
Price               number - Preço em satoshi
Size                number - Quantidade de moedas
Buyer               number - ID do comprador
Seller              number - ID do vendedor
Created             string - Data e hora do trade "YYYY-mm-dd H:i:s"

Lista de depósitos

{
    "MsgType": "U30",
    "DepositListReqID": 123,
    "Page": 0,
    "PageSize": 1,
    "StatusList": ["1", "2", "4", "8"]
}

Parâmetros de envio:

MsgType             string - "U30"
DepositListReqID    string - ID da requisição
Page                number - Número da página da requisição
PageSize            number - Quantidade de registros por página
StatusList          array  - Lista de status do depósito.  "0"=New, "1"=Partially fill,
                             "2"=Fill, "4"=Cancelled, "8"=Rejected, "A"=Pending New

Será retornado um JSON com o seguinte formato:

{
    "PageSize": 1,
    "DepositListReqID": 7739992,
    "MsgType": "U3l",
    "DepositListGrp": [{
        "DepositID": "83l2c0f95lef44a393050dc399fb8698",
        "DepositMethodID": 502,
        "DepositMethodName": "wire transfer",
        "Type": "DTP",
        "Currency": "BRL",
        "Value": 20000000000,
        "PaidValue": 0,
        "Data": {},
        "Created": "2016-09-07 14:33:22",
        "ControlNumber": 502000174,
        "PercentFee": 1,
        "FixedFee": 0,
        "Status": "0",
        "ReasonID": null,
        "Reason": null,
        "Username": "user",
        "UserID": 90800003,
        "BrokerID": 5,
        "C10rdID": "6351214",
        "CreditProvided": 0,
        "State": "UNCONFIRMED"
    }],
    "Page": 0
}

Parâmetros da resposta:


PageSize            number - Quantidade de registros por página
DepositListReqID    number - ID da requisição
MsgType             string - "U31"
DepositListGrp      object array - Array de depósitos
Page                number - Número da página

DepositListGrp

DepositID           string - ID do depósito
DepositMethodID     number - ID do método de depósito
DepositMethodName   string - Descrição do método de depósito
Type                string
Currency            string - Símbolo da moeda depositada
Value               number - Valor do depósito (se BTC em satoshis)
PaidValue           number
Data                object
Created             string - Data de criação do depósito. "YYYY-mm-dd H:i:s"
ControlNumber       number - Número de controle do depósito
PercentFee          number - Taxa percentual de depósito
FixedFee            number - Taxa fixa de depósito
Status              string - "0"=New, "1"=Partially fill, "2"=In Progress, "4"=Completed, "8"=Cancel, "A"=Pending New
ReasonID            number - Identificador do motivo de rejeição de depósito
Reason              string - Descrição do motivo de rejeição do depósito
Username            string - Usuário
UserID              number - ID do usuário
BrokerID            number - ID do broker
ClOrdID             string
CreditProvided      number
State               string - Estado em que se encontra o pedido de depósito.

Lista de saques

{
    "MsgType": "U26",
    "WithdrawListReqID": 1,
    "Page": 0,
    "PageSize": 1,
    "StatusList": ["1", "2"]
}

Parâmetros de envio:

MsgType             string - "U26"
WithdrawListReqID   number - ID da lista de depósitos
Page                number - Número da página da lista de depósitos
Pagesize            number - Quantidade de registros na página
StatusList          array  - Lista de status de depósito

Será retornado um JSON com o seguinte formato:

{
    "WithdrawListReqID": 6695476,
    "PageSize": 1,
    "WithdrawListGrp": [{
        "WithdrawID": 365,
        "Method": "bitcoin",
        "Currency": "BTC",
        "Amount": 100000,
        "Data": {
            "Wallet": "2Mx3TZycg4XL5sQFfERBgNmg9Ma7uxowK9y",
            "Instant": "NO",
            "Fees": "$ 0.00010000"
        },
        "Created": "2016-05-03 01:15:45",
        "Status": "8",
        "ReasonID": null,
        "Reason": null,
        "PercentFee": 0,
        "FixedFee": 10000,
        "PaidAmount": 110000
        "UserID": 90800003,
        "Username": "user",
        "BrokerID": 5,
        "ClOrdID": null,
    }],
    "MsgType": "U27",
    "Page": 0
}

Parâmetros da resposta:


WithdrawListReqID   number - ID da requisição
PageSize            number - Quantidade de registros por página
WithdrawListGrp     array  - Lista de resgates solicitados
MsgType             string - "U27"
Page                number - Número da página

WithdrawlistGrp

WithdrawID          number - ID de resgate
Method              string - Método de resgate
Currency            string - Símbolo da moeda de resgate
Amount              number - Valor resgatado
Data                object - Objeto contendo os dados de resgate
Created             string - Data e hora de criação. "YYYY-mm-dd H:i:s"
Status              strint - Status do pedido de resgate
ReasonID            number - Identificador da razão de resgate recusado
Reason              string - Descrição da razão de resgate recusado
PercentFee          number - Taxa percentual de resgate
FixedFee            number - Taxa fixa de resgate
PaidAmount          number - Valor
UserID              number - Identificador do usuário que solicitou o resgate
Username            string - Usuário
BrokerID            number - Identificador do broker que o usuário que fez o resgate pertence
ClOrdID             ??????

Saldos

{
    "MsgType": "U2",
    "Ba1anceReqID" : 1
}

Parâmetros de envio:

MsgType         string - "U2"
BalanceReqID    number - ID da requisição

Será retornado um JSON com o seguinte formato:

{
    "MsgType": "U3",
    "ClientID": 90800003,
    "BalanceReqID": 5178228,
    "Available": {
        "BRL": 177814907002760,
        "BTC": 1468038442214
    },
    "5": {
        "BTC_locked": 0,
        "BRL": 177911657052760,
        "BTC": 1468038442214,
        "BRL_locked": 96750050000
    }
}

Parâmetros da resposta:

MsgType         string - "U3"
ClientID        number - ID do usuário
BalanceReqID    number - ID da requisição
Available       object - Objeto contendo o saldo de cada moeda
    BRL         number - Valor disponível em BRL
    BTC         number - Valor disponível em BTC

5               object - Informações do broker específicos
    BTC_locked  number - Quantidade de BTC indisponível para uso
    BRL_locked  number - Quantidade de Reais indisponível para uso
    BRL         number - Total em Reais (disponível + indisponível)
    BTC         number - Total em BTC (disponível + indisponível)

Ordens em aberto

{
    "MsgType": "U4",
    "OrdersReqID": 930019,
    "Page": 0,
    "PageSize": 1
}

Parâmetros de envio:

MsgType         string - "U4"
OrdersReqID     number - ID da requisição
Page            number - Número da página
PageSize        number - Quantidade de registros presentes na página

Será retornado um JSON com o seguinte formato:

{
    "ordListGrp": [{
        "ClOrdID": "8475400",
        "OrderID": 1459028830968,
        "CumQty": 0,
        "OrdStatus": "0",
        "LeavesQty": 5000000,
        "CxlQty": 0,
        "AvgPx": 0,
        "Symbol": "BTCBRL",
        "Side": 1",
        "OrdType": "2",
        "orderQty": 5000000,
        "Price": 50001000000,
        "OrderDate": "2016-09-07 04:35:30",
        "Volume": 0,
        "TimeInForce": "1"
    }],
    "PageSize": 1,
    "OrdersReqID": 930019,
    "MsgType": "U5",
    "Page": 0
}

Parâmetros da resposta:


MsgType         string - "U5"
OrdersReqID     number - Identificador da requisição de ordens
Page            number - Número da página solicitada
PageSize        number - Tamanho da página solicitada
OrdListGrp      object
    ClOrdID     string
    OrderID     number - ID da ordem
    CumQty      number
    OrdStatus   string - Status da ordem. 
    LeavesQty   number
    CxlQty      number
    AvgPx       number
    Symbol      string - par de moedas da ordem ex. BTCBRL
    Side        string
    OrdType     string
    OrderQty    number - Quantidade
    Price       number - Preço da ordem
    OrderDate   string - Data e hora. "YYYY-mm-dd H:i:s"
    Volume      number
    TimeInForce string

Enviar ordem

{
    "MsgType": "D",
    "ClOrdID": 8426208,
    "Symbol": "BTCBRL",
    "Side": "1",
    "OrdType": "2",
    "Price": 55000000000,
    "OrderQty": 5000000,
    "BrokerID": 5
}

Parâmetros de envio:


MsgType     string - "D"
ClOrdID     number
Symbol      string - Par de moedas que definem o mercado
Side        string
OrderType   string
Price       number - Preço
OrderQty    number - Quantidade
BrokerID    number - ID do broker

Será retornado um JSON com o seguinte formato:

Cancelar ordem

{
    "MsgType": "F",
    "OrderID": 1459028830899,
    "ClOrdID": 8426208,
}

Parâmetros de envio:

MsgType     string - "F"
OrderID     number - ID da ordem
ClOrdID     number

Será retornado um JSON com o seguinte formato:

Extrato

{
    "MsgType": "U34",
    "LedgerListReqID": 1,
    "Page": 0,
    "PageSize": 1,
    "BrokerID": 4,
    "Currency": "BTC"
}

Parâmetros de envio:


MsgType             string - "U34"
LedgerListReqID     number - Identificação de requisição de extrato
Page                number - Número da página solicitada
PageSize            number - Tamanho da página solicitada
BrokerID            number - ID do broker
Currency            string - Símbolo da moeda. BTC ou BRL

Será retornado um JSON com o seguinte formato:

{
    "Columns": ["LedgerID", "Currency", "Operation", "AccountID", "BrokerID", "PayeeID", "PayeeBrokerID", "Amount",…],
    "LedgerListGrp": [[3433, "BRL", "D", 90023332, 5, 90124023, 5, 9945673757, 1837444064193, "959.955",…],…],
    "LedgerListReqID": 2015117,
    "MsgType": "U35",
    "Page": 0,
    "PageSize": 20
}