Skip to content

Commit 448503a

Browse files
committed
new: get_creditcard_account() function
1 parent 795d48a commit 448503a

1 file changed

Lines changed: 13 additions & 1 deletion

File tree

ws_api/wealthsimple_api.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ class WealthsimpleAPIBase:
3737
'FetchCorporateActionChildActivities': "query FetchCorporateActionChildActivities($activityCanonicalId: String!) {\n corporateActionChildActivities(\n condition: {activityCanonicalId: $activityCanonicalId}\n ) {\n nodes {\n ...CorporateActionChildActivity\n __typename\n }\n __typename\n }\n}\n\nfragment CorporateActionChildActivity on CorporateActionChildActivity {\n canonicalId\n activityCanonicalId\n assetName\n assetSymbol\n assetType\n entitlementType\n quantity\n currency\n price\n recordDate\n __typename\n}",
3838
'FetchBrokerageMonthlyStatementTransactions': "query FetchBrokerageMonthlyStatementTransactions($period: String!, $accountId: String!) {\n brokerageMonthlyStatements(period: $period, accountId: $accountId) {\n id\n statementType\n createdAt\n data {\n ... on BrokerageMonthlyStatementObject {\n ...BrokerageMonthlyStatementObject\n __typename\n }\n __typename\n }\n __typename\n }\n}\n\nfragment BrokerageMonthlyStatementObject on BrokerageMonthlyStatementObject {\n custodianAccountId\n activitiesPerCurrency {\n currency\n currentTransactions {\n ...BrokerageMonthlyStatementTransactions\n __typename\n }\n __typename\n }\n currentTransactions {\n ...BrokerageMonthlyStatementTransactions\n __typename\n }\n isMultiCurrency\n __typename\n}\n\nfragment BrokerageMonthlyStatementTransactions on BrokerageMonthlyStatementTransactions {\n balance\n cashMovement\n unit\n description\n transactionDate\n transactionType\n __typename\n}",
3939
'FetchIdentityPositions': "query FetchIdentityPositions($identityId: ID!, $currency: Currency!, $first: Int, $cursor: String, $accountIds: [ID!], $aggregated: Boolean, $currencyOverride: CurrencyOverride, $sort: PositionSort, $sortDirection: PositionSortDirection, $filter: PositionFilter, $since: PointInTime, $includeSecurity: Boolean = false, $includeAccountData: Boolean = false, $includeOneDayReturnsBaseline: Boolean = false) {\n identity(id: $identityId) {\n id\n financials(filter: {accounts: $accountIds}) {\n current(currency: $currency) {\n id\n positions(\n first: $first\n after: $cursor\n aggregated: $aggregated\n filter: $filter\n sort: $sort\n sortDirection: $sortDirection\n ) {\n edges {\n node {\n ...PositionV2\n __typename\n }\n __typename\n }\n pageInfo {\n hasNextPage\n endCursor\n __typename\n }\n totalCount\n status\n hasOptionsPosition\n hasCryptoPositionsOnly\n securityTypes\n securityCurrencies\n __typename\n }\n __typename\n }\n __typename\n }\n __typename\n }\n}\n\nfragment SecuritySummary on Security {\n ...SecuritySummaryDetails\n stock {\n ...StockSummary\n __typename\n }\n quoteV2(currency: null) {\n ...SecurityQuoteV2\n __typename\n }\n optionDetails {\n ...OptionSummary\n __typename\n }\n __typename\n}\n\nfragment SecuritySummaryDetails on Security {\n id\n currency\n inactiveDate\n status\n wsTradeEligible\n equityTradingSessionType\n securityType\n active\n securityGroups {\n id\n name\n __typename\n }\n features\n logoUrl\n __typename\n}\n\nfragment StockSummary on Stock {\n name\n symbol\n primaryMic\n primaryExchange\n __typename\n}\n\nfragment StreamedSecurityQuoteV2 on UnifiedQuote {\n __typename\n securityId\n ask\n bid\n currency\n price\n sessionPrice\n quotedAsOf\n ... on EquityQuote {\n marketStatus\n askSize\n bidSize\n close\n high\n last\n lastSize\n low\n open\n mid\n volume: vol\n referenceClose\n __typename\n }\n ... on OptionQuote {\n marketStatus\n askSize\n bidSize\n close\n high\n last\n lastSize\n low\n open\n mid\n volume: vol\n breakEven\n inTheMoney\n liquidityStatus\n openInterest\n underlyingSpot\n __typename\n }\n}\n\nfragment SecurityQuoteV2 on UnifiedQuote {\n ...StreamedSecurityQuoteV2\n previousBaseline\n __typename\n}\n\nfragment OptionSummary on Option {\n underlyingSecurity {\n ...UnderlyingSecuritySummary\n __typename\n }\n maturity\n osiSymbol\n expiryDate\n multiplier\n optionType\n strikePrice\n __typename\n}\n\nfragment UnderlyingSecuritySummary on Security {\n id\n stock {\n name\n primaryExchange\n primaryMic\n symbol\n __typename\n }\n __typename\n}\n\nfragment PositionLeg on PositionLeg {\n security {\n id\n ...SecuritySummary @include(if: $includeSecurity)\n __typename\n }\n quantity\n positionDirection\n bookValue {\n amount\n currency\n __typename\n }\n totalValue(currencyOverride: $currencyOverride) {\n amount\n currency\n __typename\n }\n averagePrice {\n amount\n currency\n __typename\n }\n percentageOfAccount\n unrealizedReturns(since: $since) {\n amount\n currency\n __typename\n }\n marketAveragePrice: averagePrice(currencyOverride: $currencyOverride) {\n amount\n currency\n __typename\n }\n marketBookValue: bookValue(currencyOverride: $currencyOverride) {\n amount\n currency\n __typename\n }\n marketUnrealizedReturns: unrealizedReturns(currencyOverride: $currencyOverride) {\n amount\n currency\n __typename\n }\n oneDayReturnsBaselineV2(currencyOverride: $currencyOverride) @include(if: $includeOneDayReturnsBaseline) {\n baseline {\n currency\n amount\n __typename\n }\n useDailyPriceChange\n __typename\n }\n __typename\n}\n\nfragment PositionV2 on PositionV2 {\n id\n quantity\n accounts @include(if: $includeAccountData) {\n id\n __typename\n }\n percentageOfAccount\n positionDirection\n bookValue {\n amount\n currency\n __typename\n }\n averagePrice {\n amount\n currency\n __typename\n }\n marketAveragePrice: averagePrice(currencyOverride: $currencyOverride) {\n amount\n currency\n __typename\n }\n marketBookValue: bookValue(currencyOverride: $currencyOverride) {\n amount\n currency\n __typename\n }\n totalValue(currencyOverride: $currencyOverride) {\n amount\n currency\n __typename\n }\n unrealizedReturns(since: $since) {\n amount\n currency\n __typename\n }\n marketUnrealizedReturns: unrealizedReturns(currencyOverride: $currencyOverride) {\n amount\n currency\n __typename\n }\n security {\n id\n ...SecuritySummary @include(if: $includeSecurity)\n __typename\n }\n oneDayReturnsBaselineV2(currencyOverride: $currencyOverride) @include(if: $includeOneDayReturnsBaseline) {\n baseline {\n currency\n amount\n __typename\n }\n useDailyPriceChange\n __typename\n }\n strategyType\n legs {\n ...PositionLeg\n __typename\n }\n __typename\n}",
40+
'FetchCreditCardAccount': "query FetchCreditCardAccount($id: ID!) {\n creditCardAccount(id: $id) {\n ...CreditCardAccount\n __typename\n }\n}\n\nfragment CreditCardAccount on CreditCardAccount {\n id\n creditLimit\n upgradesInProgress\n balance {\n current\n outstanding\n availableCreditLimit\n pending\n __typename\n }\n cardProductId\n statementDayOfMonth\n actions\n currentCards {\n id\n actions\n cardNumber\n cardStatus\n cardVariant\n isLocked\n isPhysicalCardActivated\n isSupplementaryCard\n nameOnCard\n __typename\n }\n cards {\n id\n cardNumber\n adminActions\n lastPinCounterResetAt\n isBlocked\n isPhysicalCardActivated\n __typename\n }\n preferences {\n cardRewardRedemptionType\n __typename\n }\n __typename\n}",
4041
}
4142

4243
def __init__(self, sess: WSAPISession | None = None):
@@ -842,4 +843,15 @@ def get_identity_positions(self, security_ids: list[str] | None, currency: str)
842843
raise WSApiException(f"Unexpected response format: {self.get_identity_positions.__name__}", positions)
843844

844845
return positions
845-
846+
847+
def get_creditcard_account(self, credit_card_account_id: str) -> Any:
848+
account = self.do_graphql_query(
849+
"FetchCreditCardAccount",
850+
{
851+
"id": credit_card_account_id,
852+
},
853+
"creditCardAccount",
854+
"object",
855+
)
856+
857+
return account

0 commit comments

Comments
 (0)