Documentation

Relevé

CompteAuthentification requise

Obtenez le relevé de compte. Le paramètre loginid et les champs de transfert sont supprimés, moins de valeurs action_type sont utilisées, et app_id est passé d’un entier à une chaîne de caractères.

Comparaison rapide

AspectLegacy APINew APIAction
Point de terminaisonstatementstatementAucun
Authentification requiseOuiOuiAucun
loginid paramètreFacultatifSuppriméRetirer des requêtes
action_type filtre8 valeurs4 valeursN’envoyez plus les valeurs supprimées
Champs de transfertfees, from, to, withdrawal_detailsSuppriméCessez de lire les champs transfer
action_type dans les transactions9 valeurs5 valeursGérer moins de valeurs
app_id typeEntier ou nullChaîne de caractères ou nullLisez app_id comme une chaîne de caractères

Modifications majeures

1. loginid paramètre supprimé

Dans l’API Legacy, loginid sélectionnait le compte lorsque vous autorisiez plusieurs comptes. La nouvelle API ne l’accepte pas.

Modification requise : Supprimez loginid de vos requêtes statement . Votre token sélectionne le compte.

2. Moins de valeurs de filtre action_type acceptées

Le filtre action_type dans la requête accepte buy, sell, deposit et withdrawal. Il n’accepte plus escrow, adjustment, virtual_credit ni transfer.

Modification requise : Cessez de filtrer selon les valeurs que la nouvelle API n’accepte plus.

3. Les champs de transfert sont supprimés

Les transactions n’incluent plus fees, from, to ni withdrawal_details.

Modification requise : Ne lisez plus ces champs dans les transactions de relevé.

4. Moins de valeurs action_type dans les transactions

Le champ action_type d’une transaction renvoyée est buy, sell, deposit, withdrawal ou adjustment. La New API ne renvoie plus hold, release, virtual_credit ni transfer.

Modification requise : Mettez à jour le code qui gère les valeurs que la New API ne renvoie plus.

5. app_id est désormais une chaîne de caractères

Le app_id de chaque transaction était un entier ou null dans l’API Legacy. Dans la nouvelle API, il s’agit d’une chaîne de caractères ou de null.

Modification requise : Lisez app_id comme une chaîne de caractères et convertissez-le si vous le comparez à un nombre.

Structure de la demande

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

Structure de réponse

Legacy APIexemple de réponse
{
  "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 APIexemple de réponse
{
  "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
      }
    ]
  }
}

Exemples de code

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.