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