diario

CRAN_Status_Badge   CRAN Downloads   Devl Badge

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

  1. 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")
  1. Retrieve your token (for debugging or confirmation):
diario_retrieve_token()
#> "YOUR_API_TOKEN_HERE"
  1. 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_info

Get Registered Entities

entities <- diario_get_entities()
entities

Get List of Projects (Obras)

projects <- diario_get_projects()
projects

Get Project Details

project_id <- "6717f864d163f517ae06e242"
project_details <- diario_get_project_details(project_id)
project_details

Get Task List for a Project

tasks <- diario_get_task_list(project_id)
tasks

Get Task Details

task_id <- "6717f884baf8d51c4f079593"
task_details <- diario_get_task_details(project_id, task_id)
task_details

Get Reports for a Project

reports <- diario_get_reports(project_id, limit = 10, order = "asc")
reports

Get Report Details

report_id <- "67648080f0971de9d00324c2"
report_details <- diario_get_report_details(project_id, report_id)
report_details

Contributing

If you would like to contribute to diario:

License

This package is provided under the MIT License. See LICENSE for details.