Extracto
CuentaRequiere autenticaciónObtenga el extracto de la cuenta. El loginid parámetro y los campos de transferencia se eliminaron, se utilizan menos valores de action_type y app_id cambió de entero a cadena.
5 Cambios Importantes
loginid parámetro y los campos de transferencia se eliminaron, action_type acepta y devuelve menos valores, y app_id es una cadena en lugar de un entero.Comparación rápida
Cambios importantes
1. loginid parámetro eliminado
En la API heredada, loginid seleccionaba la cuenta cuando autorizaba varias cuentas. La nueva API no lo acepta.
Cambio obligatorio: Elimine loginid de sus solicitudes de statement . Su token selecciona la cuenta.
2. Menos valores de filtro de action_type
El filtro action_type en la solicitud acepta buy, sell, deposit y withdrawal. Ya no acepta escrow, adjustment, virtual_credit ni transfer.
Cambio obligatorio: Deje de filtrar por los valores que la nueva API ya no acepta.
3. Se eliminaron los campos de transferencia
Las transacciones ya no incluyen fees, from, to ni withdrawal_details.
Cambio obligatorio: Deje de leer estos campos de las transacciones de extractos.
4. Menos valores de action_type en las transacciones
El action_type de una transacción devuelta es buy, sell, deposit, withdrawal o adjustment. La API New ya no devuelve hold, release, virtual_credit ni transfer.
Cambio obligatorio: Actualice el código que gestiona los valores que la API New ya no devuelve.
5. app_id ahora es una cadena
El app_id de cada transacción era un entero o null en la API heredada. En la nueva API es una cadena o null.
Cambio obligatorio: Lea app_id como una cadena y conviértala si la compara con un número.
Estructura de solicitud
{
"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
}Estructura de respuesta
{
"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
}
]
}
}Ejemplos 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);
});
}
};
}¿Alguna otra pregunta? Póngase en contacto