Relevé
CompteAuthentification requiseObtenez 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.
5 changements majeurs
loginid paramètre et les champs de transfert sont supprimés, action_type accepte et renvoie moins de valeurs, et app_id est une chaîne de caractères au lieu d’un entier.Comparaison rapide
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
{
"statement": 1,
"action_type": "transfer",
"description": 1,
"limit": 25,
"loginid": "CR123456",
"req_id": 1
}{
"statement": 1,
"action_type": "deposit",
"description": 1,
"limit": 25,
"req_id": 1
}Structure 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
}
]
}
}{
"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);
});
}
};
}D'autres questions ? Nous contacter