Check team balance
Here is how to use R to check your team balance:
CONJOINTLY_TOKEN <- "YOUR_TOKEN" # Get a token from https://run.conjoint.ly/utilities/tokens
# Define the Balance class
{
Balance <- setClass("Balance",
slots = c(
total = "list",
balances = "list",
bonuses = "list",
pending = "list",
currencies = "list"
))
setMethod("show", "Balance", function(object) {
cat(paste0(
"Total balance on Conjointly: ",
toupper(object$total$currency),
" ",
ifelse(object$total$amount >= 0 && object$total$multicurrency, "~", ""),
format(round(object$total$amount, 2), nsmall = 2),
"."
),
"\n")
})
setMethod("names", "Balance", function(object) {
c(`Total balance` = "total",
`Prepayments in different currencies` = "balances",
`Bonuses` = "bonuses",
`Pending payments` = "pending",
`List of currencies` = "currencies")
})
setMethod("$", "Balance", function(x, name) {
slot(x, name)
})
setAs("list", "Balance", function(from) {
new("Balance",
total = from$total,
balances = from$balances,
bonuses = from$bonuses,
pending = from$pending,
currencies = from$currencies
) })
}
getConjointlyBalance <- function(TOKEN = CONJOINTLY_TOKEN) {
library(httr)
library(jsonlite)
headers <- add_headers(
`Authorization` = paste("Bearer", TOKEN),
`Content-Type` = "application/json",
`Accept` = "application/json",
`X-Requested-With` = "XMLHttpRequest"
)
result <- GET(
paste0("https://api.conjoint.ly/api/account/balance"),
headers
) |> content("parsed", encoding = "UTF-8")
if (is.null(result$data)) {
stop(result$message)
}
return(as(result$data, "Balance"))
}
getConjointlyBalance()$total$amount
getConjointlyBalance()