holded

holded api integration

AUTHOR.md

protofy

we're inventors empowering inventors

TAGS.txt

BUSINESS

ERP

README.md

🧾 Holded (Projects & Time-Tracking)

Conecta Holded con tus Boards para listar proyectos, ver empleados y gestionar time tracking (crear y editar) sin salir de tu panel.


🧠 ¿Qué es esto?

Un puente ligero entre Holded y tus Boards: trae datos de proyectos/equipo y añade acciones para registrar tiempo y actualizar partes directamente desde tarjetas.


🧩 Tarjetas añadidas

  • - Holded – Proyectos → lista proyectos con filtros (name, status, archived, customerId, page, limit)
  • - Holded – Empleados → muestra la lista de empleados
  • - Holded – Time slots de proyecto → muestra los registros de tiempo (projectId)
  • - Holded – Registrar tiempo → crea un parte de tiempo (projectId, userId, duration)
  • - Holded – Editar time tracking → actualiza un parte existente (projectId, timeTrackingId + campos opcionales)

Todas las tarjetas usan el color 🎨 #ED4C46, iconos acordes, validación de parámetros y llamadas seguras al API.


⚙️ Acciones disponibles (backend)

| Acción | Método | Endpoint | Descripción | |:--|:--:|:--|:--| | holded_projects | GET | /api/v1/holded/projects | Obtiene la lista de proyectos | | holded_employees | GET | /api/v1/holded/employees | Lista los empleados | | holded_project_time_slots | GET | /api/v1/holded/project_time_slots | Muestra intervalos de tiempo de un proyecto | | holded_register_time | POST | /api/v1/holded/register_time | Registra un nuevo time slot | | holded_update_project_time | POST | /api/v1/holded/update_project_time | Actualiza un registro de tiempo existente |


🧪 Board de ejemplo incluido: Holded ↔ Times & Projects

Un board mínimo para:

  • - Explorar proyectos con filtros rápidos
  • - Ver empleados registrados
  • - Revisar time slots por proyecto
  • - Registrar tiempo (en segundos)
  • - Editar partes existentes (duración, descripción, fecha, etc.)

Cómo funciona

  • - Las tarjetas de lista llaman al API y renderizan tablas.
  • - “Registrar tiempo” valida projectId, userId y duration.
  • - “Editar time tracking” requiere projectId y timeTrackingId + al menos un campo actualizable.
  • - Los payloads ignoran valores vacíos para evitar sobreescrituras indeseadas.

Campos de actualización soportados (opcionales):

  • - duration (segundos)
  • - desc (texto)
  • - costHour (número)
  • - date (YYYY-MM-DD o ISO)
  • - start, end (ISO)
  • - userId, taskId, categoryId
  • - billable (true / false)

🧰 Uso (desde Cards)

Registrar tiempo

projectId: <ID del proyecto>
userId: <ID del usuario>
duration: 3600