Fornecer dados de FIIs
Progresso | Pronto para desenvolvimento |
---|---|
Prioridade | Médio |
Funcionalidades
Fornecer dados para outras APIs de um determinado FII:
Cotação
- Fornecer as informações da cotação (atualizar a cada 5 min)
Indicadores
- Fornecer os indicadores do ativo (atualizar a cada semana)
Informações gerais
- Fornecer as informações gerais do ativo (atualizar a cada semana):
Eventos corporativos
- Dividendos
- Fornecer os dados do último dividendo
- Obter próximo dividendo
- Obter o histórico de dividendos
- Obter os dividendos pagos no ano anterior
- Obter os dividendos pagos no ano atual
- Fornecer a comparação dos dividendos pagos entre o ano atual e o anterior
- Subscrição
- Obter os dados da última subscrição
- Dividendos
Portfólio
- Imóveis
- Listagem de todos os imóveis de um ativo
- FIIs
- Listagem dos FIIs do portfolio de um ativo
- Imóveis
Notícias
- Listagem de todas as notícias de um ativo
- Obter notícias a partir de palavras-chave do titulo ou o título completo
- Listagem das notícias com data de publicação entre um intervalo de datas
Comunicados
- Listagem de todos os comunicados de um ativo
- Obter o último comunicado de um ativo
- Obter comunicados a partir de palavras-chave do título ou o título completo
- Obter comunicados com data de publicação entre um intervalo de datas de um ativo
Entidades
Cotação
classDiagram class Cotacao { - codigoDoAtivo: string - dataEHoraBase: Date - preco: double - variacao: double }
Indicadores
classDiagram class Indicadores { - codigoDoAtivo: string - dataBase: Date - precoMinimoDoMes: double - precoMinimoDoAno: double - precoMaximoDoMes: double - precoMinimoDoAno: double - dividendYieldUltimos12meses: double - valorPatrimonialPorCota: double - p/vp: double - valorEmCaixa: double - dividendYieldCAGRUltimos3Anos: double - dividendYieldCAGRUltimos5Anos: double - valorCAGRUltimos3Anos: double - valorCAGRUltimos5Anos: double - numeroDeCotistas: long - numeroDeCotas: long - rendimentoMedioUltimos2Anos: double - taxaDeAdministração: double - liquidezMediaDiariaUltimos30Dias: double - participacaoNoIFIX: double }
Informações gerais
classDiagram InformacoesGerais <-- PrazoDeDuracao InformacoesGerais <-- TipoDeGestao InformacoesGerais <-- PublicoAlvo InformacoesGerais <--* InformacoesAdministrador class InformacoesGerais { - codigoDoAtivo: string - dataBase: Date - nomeNoPregao: string - dataDeInicioDoFundo: Date - prazoDeDuracao: PrazoDeDuracao - tipoANBIMA: string - administrador: InformacoesAdministrador - segmento: string - tipoDeGestao: TipoDeGestao - publicaAlvo: PublicoAlvo } class PrazoDeDuracao { <<enumeration>> INDETERMINADO DETERMINADO } class InformacoesAdministrador { - nome: string - email: string - site: string } class TipoDeGestao { <<enumeration>> ATIVA PASSIVA } class PublicoAlvo { <<enumeration>> INVESTIDOR_EM_GERAL INVESTIDOR_QUALIFICADO }
Eventos corporativos
classDiagram class Dividendo { - codigoDoAtivo: string - dataBase: Date - ultimoDividendo: boolean - proximoDividendo: boolean - dataCom: Date - dataDePagamento: Date - valor: double } class Subscricao { - codigoDoAtivo: string - dataCom: Date - ultimaSubscricao: boolean - dataDeNegociacao: Date - valorBase: double - percentual: double - ativoEmitido: string }
Portfolio
classDiagram Portfolio <--* Imovel Portfolio <--* Fii Imovel <-- Objetivo Imovel <--* Localizacao class Portfolio { - codigoDoAtivo: string - imoveis: Array~Imovel~ - fiis: Array~Fii~ } class Imovel { - codigoDoAtivoDoDono: string - dataBase: Date - objetivo: Objetivo - abl: long - localizacao: Localizacao - vacancia: double - inadimplencia: double } class Objetivo { <<enumeration>> RENDA ALIENACAO } class Localizacao { - cidade: string - estado: string } class Fii { - codigoDoAtivoDoDono: string - codigoDoAtivo: string - segmento: string - numeroDeCotas: long - representacaoDoPL: double }
Noticias
classDiagram class Noticia { - codigoDoAtivo: string - dataBase: Date - titulo: string - dataEHoraDepublicacao: Date - url: string }
Comunicado
classDiagram class Comunicado { - codigoDoAtivo: string - dataBase: Date - ultimoComunicado: boolean - titulo: string - dataDePublicacao: Date - urlDeDownload: string }
Casos de uso
Obter a cotação do dia
- Envio da requisição para a API do Finaces Data Provider:
GET http://localhost:3000/real_state_fund/quotation/{assetCode}
- Execução do processo de extração de dados
- Recuperar a cotação no banco de dados via propriedade
codigoDoAtivo
- Se a diferença da data e hora atual e o valor da propriedade
dataEHoraBase
for menor do que 5 min, então retornar essa cotação
- Caso contrário extrair os dados da cotação no Google Finances
- Definir a propriedade
dataEHoraBase
com o valor da data e hora atual
- Tratar os dados coletados no Google Finances
- Salvá-los no banco de dados
- Definir a propriedade
- Recuperar a cotação no banco de dados via propriedade
- Envio de um resposta para o cliente no seguinte formato:
{ "código do ativo": ..., "data base": "yyyy-MM-dd", "preço atual": ..., "variação atual em porcentagem": ..., }
- Envio da requisição para a API do Finaces Data Provider:
Obter os indicadores de um ativo
- Envio da requisição para a API do Finaces Data Provider:
GET http://localhost:3000/real_state_fund/indicators/{assetCode}
- Execução do processo de extração de dados
- Recuperar os indicadores no banco de dados via propriedade
codigoDoAtivo
- Se a diferença da data atual e o valor da propriedade
dataBase
for menor do que 1 semana, então retornar os dados do banco de dados
- Caso contrário extrair os indicadores do ativo no Status Invest
- Definir a propriedade
dataBase
com o valor da data atual
- Tratar os dados coletados no Status Invest
- Salvá-los no banco de dados
- Definir a propriedade
- Recuperar os indicadores no banco de dados via propriedade
- Envio de uma resposta para o cliente no seguinte formato:
{ "código do ativo": "...", "data base": "yyyy-MM-dd", "indicadores": { // ... } }
Atualização futura
{ "código do ativo": ..., "indicadores de valuation": { "atual": { // ... }, "histórico": [ { "ano": "2021", // ... } ], }, "indicadores de endividamento": { "atual": { // ... }, "histórico": [ { "ano": "2021", // ... } ], }, "indicadores de eficiência": { "atual": { // ... }, "histórico": [ { "ano": "2021", // ... } ], }, "indicadores de rentabilidade": { "atual": { // ... }, "histórico": [ { "ano": "2021", // ... } ], }, "indicadores de rentabilidade": { "atual": { // ... }, "histórico": [ { "ano": "2021", // ... } ], } }
- Envio da requisição para a API do Finaces Data Provider:
Obter as informações gerais de um ativo
- Envio da requisição para a API do Finaces Data Provider:
GET http://localhost:3000/real_state_fund/general_informations/{assetCode}
- Execução do processo de extração de dados
- Recuperar as informações gerais no banco de dados via propriedade
codigoDoAtivo
- Se a diferença da data atual e o valor da propriedade
dataBase
for menor do que 1 semana, então retornar os dados do banco de dados
- Caso contrário extrair as informações gerais do ativo no Status Invest
- Definir a propriedade
dataBase
com o valor da data atual
- Tratar os dados coletados no Status Invest
- Salvá-los no banco de dados
- Definir a propriedade
- Recuperar as informações gerais no banco de dados via propriedade
- Envio de uma resposta para o cliente no seguinte formato:
{ "código do ativo": "...", "data base": "yyyy-MM-dd", "infomações gerais": { // ... } }
- Envio da requisição para a API do Finaces Data Provider:
Obter último dividendo pago
- Envio da requisição para a API do Finaces Data Provider:
GET http://localhost:3000/real_state_fund/corporative_events/dividends/last_dividend/{assetCode}
- Execução do processo de extração de dados
- Recuperar os dados no banco de dados via propriedade
codigoDoAtivo
eultimoDividendo == true
- Se a diferença da data atual e o valor da propriedade
dataBase
for menor do que 1 semana, então retornar os dados do banco de dados
- Caso contrário extrair os dados do último dividendo do ativo no Status Invest
Verificar se o os dados coletados no Status Invest são iguais do banco de dados
- Se sim:
- Atualizar a propriedade
dataBase
com o valor da data atual
- Retornar os dados do banco de dados
- Atualizar a propriedade
- Se não:
- Definir a propriedade
dataBase
com o valor da data atual
- Definir a propriedade
ultimoDividendo
com o valortrue
- Definir a propriedade
proximoDividendo
com o valorfalse
- Tratar os dados coletados no Status Invest
- Salvá-los no banco de dados
- Definir a propriedade
- Se sim:
- Recuperar os dados no banco de dados via propriedade
- Envio de uma resposta para o cliente no seguinte formato:
{ "código do ativo": "...", "data base": "yyyy-MM-dd", "data com": "yyyy-MM-dd", "data de pagamento": "yyyy-MM-dd", "valor": ..., }
- Envio da requisição para a API do Finaces Data Provider:
Obter próximo dividendo
- Envio da requisição para a API do Finaces Data Provider:
GET http://localhost:3000/real_state_fund/corporative_events/dividends/next_dividend/{assetCode}
- Execução do processo de extração de dados
- Recuperar os dados no banco de dados via propriedade
codigoDoAtivo
eproximoDividendo == true
- Se a diferença da data atual e o valor da propriedade
dataBase
for menor do que 1 semana, então retornar os dados do banco de dados
- Caso contrário extrair os dados do último dividendo do ativo no Status Invest
Verificar se os dados coletados no Status Invest são iguais do banco de dados
- Se sim:
- Atualizar a propriedade
dataBase
com o valor da data atual
- Retornar os dados do banco de dados
- Atualizar a propriedade
- Se não:
- Definir a propriedade
dataBase
com o valor da data atual
- Definir a propriedade
ultimoDividendo
com o valorfalse
- Definir a propriedade
proximoDividendo
com o valortrue
- Tratar os dados coletados no Status Invest
- Salvá-los no banco de dados
- Definir a propriedade
- Se sim:
- Recuperar os dados no banco de dados via propriedade
- Envio de uma resposta para o cliente no seguinte formato:
{ "código do ativo": "...", "data base": "yyyy-MM-dd", "data com": "yyyy-MM-dd", "data de pagamento": "yyyy-MM-dd", "valor": ..., }
- Envio da requisição para a API do Finaces Data Provider:
Obter a última subscrição anunciada
- Envio da requisição para a API do Finaces Data Provider:
GET http://localhost:3000/real_state_fund/corporative_events/subscription/last_subscription/{assetCode}
- Execução do processo de extração de dados
- Recuperar os dados no banco de dados via propriedade
codigoDoAtivo
eultimaSubscricao == true
- Se a diferença da data atual e o valor da propriedade
dataBase
for menor do que 1 semana, então retornar os dados do banco de dados
- Caso contrário extrair os dados da última subscrição do ativo no Status Invest
Verificar se os dados coletados no Status Invest são iguais do banco de dados
- Se sim:
- Atualizar a propriedade
dataBase
com o valor da data atual
- Retornar os dados do banco de dados
- Atualizar a propriedade
- Se não:
- Definir a propriedade
dataBase
com o valor da data atual
- Definir a propriedade
ultimaSubscricao
com o valortrue
- Atualizar a propriedade
ultimaSubscricao
com o valorfalse
para o comunicado anterior definido como “última subscrição”
- Tratar os dados coletados no Status Invest
- Salvá-los no banco de dados
- Definir a propriedade
- Se sim:
- Recuperar os dados no banco de dados via propriedade
- Envio de uma resposta para o cliente no seguinte formato:
{ "código do ativo": "...", "data base": "yyyy-MM-dd", "data com": "yyyy-MM-dd", "data de negociação": "yyyy-MM-dd", "valor base": ..., "percentual": ..., "ativo emitido": "...", }
- Envio da requisição para a API do Finaces Data Provider:
Listagem de todos os imóveis do portfolio de um ativo
- Envio da requisição para a API do Finaces Data Provider:
GET http://localhost:3000/real_state_fund/portfolio/real_state/{assetCode}
- Execução do processo de extração de dados
- Recuperar os imóveis no banco de dados via propriedade
codigoDoAtivoDoDono
- Se a diferença da data atual e o valor da propriedade
dataBase
for menor do que 1 semana, então retornar os dados do banco de dados
- Caso contrário extrair os dados dos imóveis do portfolio do ativo no Status Invest
- Definir a propriedade
dataBase
com o valor da data atual
- Tratar os dados coletados no Status Invest
- Salvá-los no banco de dados
- Definir a propriedade
- Recuperar os imóveis no banco de dados via propriedade
- Envio de uma resposta para o cliente no seguinte formato:
{ "código do ativo": "...", "data base": "yyyy-MM-dd" "imóveis": [ { "objetivo": "...", "abl": ..., "localização": { "cidade": "...", "estado": "...", }, "vacância": ..., "inadimplência": ..., }, // ... ] }
- Envio da requisição para a API do Finaces Data Provider:
Listagem de todos os FIIs do portfolio de um ativo
- Envio da requisição para a API do Finaces Data Provider:
GET http://localhost:3000/real_state_fund/portfolio/real_state_funds/{assetCode}
- Execução do processo de extração de dados
- Recuperar os imóveis no banco de dados via propriedade
codigoDoAtivoDoDono
- Se a diferença da data atual e o valor da propriedade
dataBase
for menor do que 1 semana, então retornar os dados do banco de dados
- Caso contrário extrair os dados dos FIIs do portfolio do ativo no Status Invest
- Definir a propriedade
dataBase
com o valor da data atual
- Tratar os dados coletados no Status Invest
- Salvá-los no banco de dados
- Definir a propriedade
- Recuperar os imóveis no banco de dados via propriedade
- Envio de uma resposta para o cliente no seguinte formato:
{ "código do ativo": "...", "data base": "yyyy-MM-dd" "fiis": [ { "código do ativo": "...", "segmento": "...", "número de cotas": ..., "representação do PL": ..., }, // ... ] }
- Envio da requisição para a API do Finaces Data Provider:
Listagem de todas as notícias de um ativo
- Envio da requisição para a API do Finaces Data Provider:
GET http://localhost:3000/real_state_fund/news/{assetCode}
- Execução do processo de extração de dados
- Recuperar os imóveis no banco de dados via propriedade
codigoDoAtivo
- Se a diferença da data atual e o valor da propriedade
dataBase
for menor do que 1 dia, então retornar os dados do banco de dados
- Caso contrário extrair os dados das notícias do ativo no Status Invest
- Definir a propriedade
dataBase
com o valor da data atual
- Tratar os dados coletados no Status Invest
- Salvá-los no banco de dados
- Definir a propriedade
- Recuperar os imóveis no banco de dados via propriedade
- Envio de uma resposta para o cliente no seguinte formato:
{ "código do ativo": "...", "data base": "yyyy-MM-dd" "notícias": [ { "título": "...", "data e hora de publicação": "yyyy-MM-dd", "url": ..., }, // ... ] }
- Envio da requisição para a API do Finaces Data Provider:
Obter notícias a partir de palavras-chave do título
- Envio da requisição para a API do Finaces Data Provider:
POST http://localhost:3000/real_state_fund/news/search/{assetCode}?search_criteria=title { "título": "...", }
- Processamento da requisição
- Reutilizar o caso de uso
Listagem de todas as notícias de um ativo
- Filtrar as notícias com títulos que contêm o texto especificado no corpo da requisição
- Reutilizar o caso de uso
- Envio de uma resposta para o cliente no seguinte formato:
{ "código do ativo": "...", "data base": "yyyy-MM-dd" "notícias": [ { "título": "...", "data e hora de publicação": "yyyy-MM-dd", "url": ..., }, // ... ] }
- Envio da requisição para a API do Finaces Data Provider:
Obter notícias com data de publicação entre um intervalo de datas
- Envio da requisição para a API do Finaces Data Provider:
POST http://localhost:3000/real_state_fund/news/search/{assetCode}?search_criteria=released_at { "mínimo": "yyyy-MM-dd", "máximo": "yyyy-MM-dd", }
- Processamento da requisição
- Reutilizar o caso de uso
Listagem de todas as notícias de um ativo
- Filtrar as notícias com a propriedade
dataEHoraDepublicacao
com um valor entre o intervalo fornecido (mínimo
emáximo
)
- Reutilizar o caso de uso
- Envio de uma resposta para o cliente no seguinte formato:
{ "código do ativo": "...", "data base": "yyyy-MM-dd" "notícias": [ { "título": "...", "data e hora de publicação": "yyyy-MM-dd", "url": ..., }, // ... ] }
- Envio da requisição para a API do Finaces Data Provider:
Listagem de todos os comunicados
- Envio da requisição para a API do Finaces Data Provider:
GET http://localhost:3000/real_state_fund/announcements/{assetCode}
- Execução do processo de extração de dados
- Recuperar os imóveis no banco de dados via propriedade
codigoDoAtivo
- Se a diferença da data atual e o valor da propriedade
dataBase
for menor do que 1 semana, então retornar os dados do banco de dados
- Caso contrário extrair os dados dos comunicados do ativo no Status Invest
- Definir a propriedade
dataBase
com o valor da data atual
- Tratar os dados coletados no Status Invest
- Salvá-los no banco de dados
- Definir a propriedade
- Recuperar os imóveis no banco de dados via propriedade
- Envio de uma resposta para o cliente no seguinte formato:
{ "código do ativo": "...", "data base": "yyyy-MM-dd" "comunicados": [ { "título": "...", "data de publicação": "yyyy-MM-dd", "url de download": ..., }, // ... ] }
- Envio da requisição para a API do Finaces Data Provider:
Obter último comunicado de um ativo
- Envio da requisição para a API do Finaces Data Provider:
GET http://localhost:3000/real_state_fund/announcements/last_announcement/{assetCode}
- Execução do processo de extração de dados
- Recuperar os dados no banco de dados via propriedade
codigoDoAtivo
eultimoComunicado == true
- Se a diferença da data atual e o valor da propriedade
dataBase
for menor do que 1 semana, então retornar os dados do banco de dados
- Caso contrário extrair os dados do último comunicado do ativo no Status Invest
Verificar se os dados coletados no Status Invest são iguais do banco de dados
- Se sim:
- Atualizar a propriedade
dataBase
com o valor da data atual
- Retornar os dados do banco de dados
- Atualizar a propriedade
- Se não:
- Definir a propriedade
dataBase
com o valor da data atual
- Definir a propriedade
ultimoComunicado
com o valortrue
- Atualizar a propriedade
ultimoComunicado
com o valorfalse
para o comunicado anterior definido como “último comunicado”
- Tratar os dados coletados no Status Invest
- Salvá-los no banco de dados
- Definir a propriedade
- Se sim:
- Recuperar os dados no banco de dados via propriedade
- Envio da requisição para a API do Finaces Data Provider:
Obter comunicadoa partir de palavras-chave do título
- Envio da requisição para a API do Finaces Data Provider:
POST http://localhost:3000/real_state_fund/announcements/search/{assetCode}?search_criteria=title { "título": "...", }
- Processamento da requisição
- Reutilizar o caso de uso
Listagem de todas as notícias de um ativo
- Filtrar os comunicados com títulos que contêm o texto especificado no corpo da requisição
- Reutilizar o caso de uso
- Envio de uma resposta para o cliente no seguinte formato:
{ "código do ativo": "...", "data base": "yyyy-MM-dd" "comunicados": [ { "título": "...", "data de publicação": "yyyy-MM-dd", "url de download": ..., }, // ... ] }
- Envio da requisição para a API do Finaces Data Provider:
Obter comunicados com data de publicação entre um intervalo de datas
- Envio da requisição para a API do Finaces Data Provider:
POST http://localhost:3000/real_state_fund/announcements/search/{assetCode}?search_criteria=released_at { "mínimo": "yyyy-MM-dd", "máximo": "yyyy-MM-dd", }
- Processamento da requisição
- Reutilizar o caso de uso
Listagem de todos os comunicados
- Filtrar as notícias com a propriedade
dataDePublicacao
com um valor entre o intervalo fornecido (mínimo
emáximo
)
- Reutilizar o caso de uso
- Envio de uma resposta para o cliente no seguinte formato:
{ "código do ativo": "...", "data base": "yyyy-MM-dd" "notícias": [ { "título": "...", "data e hora de publicação": "yyyy-MM-dd", "url": ..., }, // ... ] }
- Envio da requisição para a API do Finaces Data Provider: