Documentação

Extrato

ContaAutenticação Obrigatória

Obtenha o extrato da conta. O loginid parâmetro e os campos de transferência foram removidos, são utilizados menos valores de action_type , e app_id foi alterado de um número inteiro para uma string.

Comparação rápida

AspetoLegacy APINew APIAção
EndpointstatementstatementNenhum
Autenticação ObrigatóriaSimSimNenhum
loginid parâmetroOpcionalRemovidoRemover dos pedidos
action_type filtro8 valores4 valoresDeixe de enviar valores removidos
Campos de transferênciafees, from, to, withdrawal_detailsRemovidoDeixe de ler campos de transferência
action_type nas transações9 valores5 valoresProcessar menos valores
app_id tipoNúmero inteiro ou nullString ou nullLeia app_id como uma cadeia de carateres

Alterações de rutura

1. loginid parâmetro removido

Na Legacy API, loginid selecionava a conta quando autorizava várias contas. A New API não o aceita.

Alteração necessária: Remova loginid dos seus pedidos de statement . O seu token seleciona a conta.

2. Menos valores de filtro de action_type

O filtro action_type no pedido aceita buy, sell, deposit e withdrawal. Já não aceita escrow, adjustment, virtual_credit nem transfer.

Alteração necessária: Deixe de filtrar pelos valores que a New API já não aceita.

3. Campos de transferência removidos

As transações já não incluem fees, from, to nem withdrawal_details.

Alteração obrigatória: Deixe de ler estes campos das transações do extrato.

4. Menos valores de action_type nas transações

O action_type de uma transação devolvida é buy, sell, deposit, withdrawal ou adjustment. A New API já não devolve hold, release, virtual_credit nem transfer.

Alteração obrigatória: Atualize o código que processa os valores que a New API já não devolve.

5. app_id é agora uma string

O app_id de cada transação era um número inteiro ou null na Legacy API. Na New API, é uma string ou null.

Alteração obrigatória: Leia app_id como uma cadeia de carateres e converta-o se o comparar com um número.

Estrutura de pedido

Legacy APIexemplo de pedido
{
  "statement": 1,
  "action_type": "transfer",
  "description": 1,
  "limit": 25,
  "loginid": "CR123456",
  "req_id": 1
}
New APIexemplo de pedido
{
  "statement": 1,
  "action_type": "deposit",
  "description": 1,
  "limit": 25,
  "req_id": 1
}

Estrutura de resposta

Legacy APIexemplo de resposta
{
  "echo_req": {
    "statement": 1,
    "action_type": "transfer",
    "description": 1,
    "limit": 25,
    "loginid": "CR123456",
    "req_id": 1
  },
  "msg_type": "statement",
  "req_id": 1,
  "statement": {
    "count": 1,
    "transactions": [
      {
        "action_type": "transfer",
        "amount": -100,
        "app_id": 1089,
        "balance_after": 9900,
        "contract_id": null,
        "fees": {
          "amount": 1,
          "currency": "USD",
          "minimum": 0.1,
          "percentage": 1
        },
        "from": {
          "loginid": "CR123456"
        },
        "longcode": "Account transfer from CR123456 to CR654321",
        "reference_id": null,
        "to": {
          "loginid": "CR654321"
        },
        "transaction_id": 11542203587,
        "transaction_time": 1760000000
      }
    ]
  }
}
New APIexemplo de resposta
{
  "echo_req": {
    "statement": 1,
    "action_type": "deposit",
    "description": 1,
    "limit": 25,
    "req_id": 1
  },
  "msg_type": "statement",
  "req_id": 1,
  "statement": {
    "count": 1,
    "transactions": [
      {
        "action_type": "deposit",
        "amount": 100,
        "app_id": "1089",
        "balance_after": 10100,
        "contract_id": null,
        "longcode": "Deposit to CR123456",
        "reference_id": null,
        "transaction_id": 11542203588,
        "transaction_time": 1760000000
      }
    ]
  }
}

Exemplos de código

function getStatement(loginId) {
  ws.send(JSON.stringify({ statement: 1, action_type: "transfer", description: 1, limit: 25, loginid: loginId }));

  ws.onmessage = (event) => {
    const response = JSON.parse(event.data);
    if (response.msg_type !== "statement") return;
    if (response.statement) {
      response.statement.transactions?.forEach((tx) => {
        console.log(tx.action_type, tx.amount, tx.from?.loginid, tx.to?.loginid);
      });
    }
  };
}
Click to open live chat support. Get instant help from our support team.