diff --git a/vnstock3/explorer/vci/company.py b/vnstock3/explorer/vci/company.py index 1aa7ea71..8774aaa9 100644 --- a/vnstock3/explorer/vci/company.py +++ b/vnstock3/explorer/vci/company.py @@ -36,6 +36,13 @@ def _fetch_data(self): payload = "{\"query\":\"query Query($ticker: String!, $lang: String!) {\\n AnalysisReportFiles(ticker: $ticker, langCode: $lang) {\\n date\\n description\\n link\\n name\\n __typename\\n }\\n News(ticker: $ticker, langCode: $lang) {\\n id\\n organCode\\n ticker\\n newsTitle\\n newsSubTitle\\n friendlySubTitle\\n newsImageUrl\\n newsSourceLink\\n createdAt\\n publicDate\\n updatedAt\\n langCode\\n newsId\\n newsShortContent\\n newsFullContent\\n closePrice\\n referencePrice\\n floorPrice\\n ceilingPrice\\n percentPriceChange\\n __typename\\n }\\n TickerPriceInfo(ticker: $ticker) {\\n financialRatio {\\n yearReport\\n lengthReport\\n updateDate\\n revenue\\n revenueGrowth\\n netProfit\\n netProfitGrowth\\n ebitMargin\\n roe\\n roic\\n roa\\n pe\\n pb\\n eps\\n currentRatio\\n cashRatio\\n quickRatio\\n interestCoverage\\n ae\\n fae\\n netProfitMargin\\n grossMargin\\n ev\\n issueShare\\n ps\\n pcf\\n bvps\\n evPerEbitda\\n at\\n fat\\n acp\\n dso\\n dpo\\n epsTTM\\n charterCapital\\n RTQ4\\n charterCapitalRatio\\n RTQ10\\n dividend\\n ebitda\\n ebit\\n le\\n de\\n ccc\\n RTQ17\\n __typename\\n }\\n ticker\\n exchange\\n ev\\n ceilingPrice\\n floorPrice\\n referencePrice\\n openPrice\\n matchPrice\\n closePrice\\n priceChange\\n percentPriceChange\\n highestPrice\\n lowestPrice\\n totalVolume\\n highestPrice1Year\\n lowestPrice1Year\\n percentLowestPriceChange1Year\\n percentHighestPriceChange1Year\\n foreignTotalVolume\\n foreignTotalRoom\\n averageMatchVolume2Week\\n foreignHoldingRoom\\n currentHoldingRatio\\n maxHoldingRatio\\n __typename\\n }\\n Subsidiary(ticker: $ticker) {\\n id\\n organCode\\n subOrganCode\\n percentage\\n subOrListingInfo {\\n enOrganName\\n organName\\n __typename\\n }\\n __typename\\n }\\n Affiliate(ticker: $ticker) {\\n id\\n organCode\\n subOrganCode\\n percentage\\n subOrListingInfo {\\n enOrganName\\n organName\\n __typename\\n }\\n __typename\\n }\\n CompanyListingInfo(ticker: $ticker) {\\n id\\n issueShare\\n en_History\\n history\\n en_CompanyProfile\\n companyProfile\\n icbName3\\n enIcbName3\\n icbName2\\n enIcbName2\\n icbName4\\n enIcbName4\\n financialRatio {\\n id\\n ticker\\n issueShare\\n charterCapital\\n __typename\\n }\\n __typename\\n }\\n OrganizationManagers(ticker: $ticker) {\\n id\\n ticker\\n fullName\\n positionName\\n positionShortName\\n en_PositionName\\n en_PositionShortName\\n updateDate\\n percentage\\n quantity\\n __typename\\n }\\n OrganizationShareHolders(ticker: $ticker) {\\n id\\n ticker\\n ownerFullName\\n en_OwnerFullName\\n quantity\\n percentage\\n updateDate\\n __typename\\n }\\n OrganizationResignedManagers(ticker: $ticker) {\\n id\\n ticker\\n fullName\\n positionName\\n positionShortName\\n en_PositionName\\n en_PositionShortName\\n updateDate\\n percentage\\n quantity\\n __typename\\n }\\n OrganizationEvents(ticker: $ticker) {\\n id\\n organCode\\n ticker\\n eventTitle\\n en_EventTitle\\n publicDate\\n issueDate\\n sourceUrl\\n eventListCode\\n ratio\\n value\\n recordDate\\n exrightDate\\n eventListName\\n en_EventListName\\n __typename\\n }\\n}\\n\",\"variables\":{\"ticker\":\"VCI\",\"lang\":\"vi\"}}" if self.show_log: logger.debug(f"Requesting data for {self.symbol} from {url}. payload: {payload}") + + # load payload to dict + payload = json.loads(payload) + payload['variables']['ticker'] = self.symbol + # convert dict to json string + payload = json.dumps(payload) + response = requests.request("POST", url, headers=self.headers, data=payload) if self.show_log: logger.debug(f"Response: {response.text}")