diario provides a set of functions for securely storing API tokens and interacting with the diariodeobras.net system. It wraps common functionality (e.g., authentication, GET/POST requests) in convenient R functions, making it easier to integrate Diario within R workflows.
|
❕️ Disclaimer This package acts as a wrapper for the API provided by the Diário de Obras platform, which is the institution responsible for the data. To maintain consistency with R package development standards, all wrapper functions use English names and English parameter names (e.g., diario_store_token(), diario_get_projects(), diario_get_reports()). However, because the source API is natively in Portuguese, response column names are returned in Portuguese, and some data values (e.g., project names, task descriptions, entity names) are also in Portuguese. Additionally, access to the Diário de Obras API requires a valid authentication token provided by the platform. Requests without a valid token will fail.
|
Installation
You can install the development version of diario from GitHub with:
# install.packages("remotes") # if needed
remotes::install_github("StrategicProjects/diario")Getting Started
- Store your API token:
Before making any requests, you’ll need to store your Diario API token securely. Use diario_store_token():
library(diario)
# Store your API token securely using keyring
diario_store_token("YOUR_API_TOKEN_HERE")- Retrieve your token (for debugging or confirmation):
diario_retrieve_token()
#> "YOUR_API_TOKEN_HERE"- Make an authenticated request:
The main workhorse is perform_request(), which sets up and executes an authenticated request to the Diario API endpoints.
# Example: retrieving data from an endpoint
response <- diario_perform_request("v1/obras")
head(response)Usage Examples
Get Company Details
# Retrieve information about the company
company_info <- diario_get_company()
company_infoGet Registered Entities
entities <- diario_get_entities()
entitiesGet List of Projects (Obras)
projects <- diario_get_projects()
projectsGet Project Details
project_id <- "6717f864d163f517ae06e242"
project_details <- diario_get_project_details(project_id)
project_detailsGet Task List for a Project
tasks <- diario_get_task_list(project_id)
tasksGet Task Details
task_id <- "6717f884baf8d51c4f079593"
task_details <- diario_get_task_details(project_id, task_id)
task_detailsGet Reports for a Project
reports <- diario_get_reports(project_id, limit = 10, order = "asc")
reportsGet Report Details
report_id <- "67648080f0971de9d00324c2"
report_details <- diario_get_report_details(project_id, report_id)
report_detailsContributing
If you would like to contribute to diario:
- Submit issues or feature requests in the GitHub repository.
- Create a pull request with your changes or improvements.
License
This package is provided under the MIT License. See LICENSE for details.
