Retrieve Cross Margin Account Information (Implementation)
Source:R/impl_account_account_and_funding.R
get_cross_margin_account_impl.Rd
Fetches cross margin account details from the KuCoin API asynchronously, including overall metrics and individual accounts. This internal function is designed for use within an R6 class and is not intended for direct end-user consumption.
Usage
get_cross_margin_account_impl(
keys = get_api_keys(),
base_url = get_base_url(),
query = list(),
.__coro_env_parent__ = <environment>
)
Arguments
- keys
List containing API configuration parameters from
get_api_keys()
, including:api_key
: Character string; your KuCoin API key.api_secret
: Character string; your KuCoin API secret.api_passphrase
: Character string; your KuCoin API passphrase.key_version
: Character string; API key version (e.g.,"2"
). Defaults toget_api_keys()
.
- base_url
Character string representing the base URL for the API. Defaults to
get_base_url()
.- query
Named list of query parameters:
quoteCurrency
(character, optional): Quote currency (e.g.,"USDT"
,"KCS"
,"BTC"
; default"USDT"
).queryType
(character, optional): Account type ("MARGIN"
,"MARGIN_V2"
,"ALL"
; default"MARGIN"
).
Value
Promise resolving to a named list containing:
summary
:data.table
with:totalAssetOfQuoteCurrency
(character): Total assets.totalLiabilityOfQuoteCurrency
(character): Total liabilities.debtRatio
(character): Debt ratio.status
(character): Position status (e.g.,"EFFECTIVE"
).
accounts
:data.table
with:currency
(character): Currency code.total
(character): Total funds.available
(character): Available funds.hold
(character): Funds on hold.liability
(character): Liabilities.maxBorrowSize
(character): Maximum borrowable amount.borrowEnabled
(logical): Borrowing enabled.transferInEnabled
(logical): Transfer-in enabled.
Details
Workflow Overview
URL Construction: Combines the base URL (from
get_base_url()
or providedbase_url
) with/api/v3/margin/accounts
and a query string frombuild_query()
.Header Preparation: Constructs authentication headers using
build_headers()
.API Request: Sends a GET request with a 3-second timeout via
httr::GET()
.Response Processing: Processes the response with
process_kucoin_response()
, splitting the"data"
field intosummary
andaccounts
data.table
objects.
Examples
if (FALSE) { # \dontrun{
keys <- get_api_keys()
base_url <- "https://api.kucoin.com"
query <- list(quoteCurrency = "USDT", queryType = "MARGIN")
main_async <- coro::async(function() {
result <- await(get_cross_margin_account_impl(keys = keys, base_url = base_url, query = query))
print(result$summary)
print(result$accounts)
})
main_async()
while (!later::loop_empty()) later::run_now()
} # }