'R' Interface to the 'Diariodeobras' Application

Provides a set of functions for securely storing 'API' tokens and interacting with the < https://diariodeobras.net> system. Includes convenient wrappers around the 'httr2' package to perform authenticated requests, retrieve project details, tasks, reports, and more.


diario

CRAN_Status_Badge   CRAN Downloads   DevelBadge

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 diario_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:

  • 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.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("diario")

0.1.2 by Andre Leite, 4 months ago


https://github.com/StrategicProjects/diario, https://strategicprojects.github.io/diario/


Report a bug at https://github.com/StrategicProjects/diario/issues


Browse source code at https://github.com/cran/diario


Authors: Andre Leite [aut, cre] , Hugo Vasconcelos [aut] , Diogo Bezerra [aut] , Marcos Wasilew [aut] , Carlos Amorim [aut] , Felipe Ferreira [aut] , Roger Azevedo [aut]


Documentation:   PDF Manual  


MIT + file LICENSE license


Imports cli, tibble, httr2, keyring

Suggests testthat, httptest2, withr


See at CRAN