Saltar al contenido principal

Puntos de Conexión de Doing

El módulo Doing gestiona la planificación de servicios, programación de voluntarios, gestión de tareas y automatizaciones. Proporciona herramientas para crear planes de servicio con horarios y posiciones, asignar voluntarios, gestionar fechas de bloqueo, construir elementos del orden del servicio, conectarse a proveedores de contenido externos y configurar flujos de trabajo automatizados con condiciones y acciones.

Ruta base: /doing

Planes

Ruta base: /doing/plans

MétodoRutaAutenticaciónPermisoDescripción
GET/JWTListar todos los planes para la iglesia
GET/:idJWTObtener un plan por ID
GET/ids?ids=JWTObtener múltiples planes por IDs separados por comas
GET/types/:planTypeIdJWTObtener planes por tipo de plan
GET/presenterJWTObtener planes para los próximos 7 días (vista de presentador)
GET/public/current/:planTypeIdPúblicoObtener el plan actual para un tipo de plan
POST/JWTCrear o actualizar planes (acepta objeto único o matriz)
POST/copy/:idJWTCopiar un plan incluyendo posiciones, horarios, asignaciones y elementos del orden del servicio. El cuerpo incluye copyMode ("none", "positions", "all") y copyServiceOrder (booleano)
POST/autofill/:idJWTRellenar automáticamente asignaciones de voluntarios para un plan. Cuerpo: { teams: [{ positionId, personIds }] }
DELETE/:idJWTEliminar un plan y todos los horarios, asignaciones, posiciones y elementos del plan relacionados

Ejemplo: Copiar un Plan

POST /doing/plans/copy/abc-123
Authorization: Bearer <token>

{
"serviceDate": "2026-03-01T10:00:00.000Z",
"copyMode": "all",
"copyServiceOrder": true
}
{
"id": "def-456",
"churchId": "church-1",
"serviceDate": "2026-03-01T10:00:00.000Z"
}

Tipos de Plan

Ruta base: /doing/planTypes

Extiende la clase base CRUD (GET /, GET /:id, POST /, DELETE /:id -- sin verificaciones de permisos).

MétodoRutaAutenticaciónPermisoDescripción
GET/JWTListar todos los tipos de plan
GET/:idJWTObtener un tipo de plan por ID
GET/ids?ids=JWTObtener múltiples tipos de plan por IDs separados por comas
GET/ministryId/:ministryIdJWTObtener tipos de plan para un ministerio
POST/JWTCrear o actualizar tipos de plan
DELETE/:idJWTEliminar un tipo de plan

Elementos del Plan

Ruta base: /doing/planItems

Gestiona elementos del orden del servicio (encabezados, secciones, canciones, etc.) organizados en una estructura de árbol padre-hijo.

MétodoRutaAutenticaciónPermisoDescripción
GET/:idJWTObtener un elemento del plan por ID
GET/ids?ids=JWTObtener múltiples elementos del plan por IDs separados por comas
GET/plan/:planIdJWTObtener todos los elementos del plan para un plan (devuelve estructura de árbol)
GET/presenter/:churchId/:planIdPúblicoObtener elementos del plan para vista de presentador (devuelve estructura de árbol)
POST/JWTCrear o actualizar elementos del plan
POST/sortJWTActualizar orden de clasificación para un elemento del plan (reordena hermanos)
DELETE/:idJWTEliminar un elemento del plan

Fuente de Plan

Ruta base: /doing/planFeed

Proporciona fuentes de elementos del plan para el presentador. Si no existen elementos del plan, se rellena automáticamente desde la fuente del lugar de Lessons.church usando el contentId del plan.

MétodoRutaAutenticaciónPermisoDescripción
GET/presenter/:churchId/:planIdPúblicoObtener fuente del plan para presentador (se rellena automáticamente desde la fuente del lugar si está vacía)

Posiciones

Ruta base: /doing/positions

Extiende la clase base CRUD (GET /:id, POST /, DELETE /:id -- sin verificaciones de permisos).

MétodoRutaAutenticaciónPermisoDescripción
GET/:idJWTObtener una posición por ID
GET/ids?ids=JWTObtener múltiples posiciones por IDs separados por comas
GET/plan/ids?planIds=JWTObtener posiciones para múltiples planes por IDs de plan separados por comas
GET/plan/:planIdJWTObtener todas las posiciones para un plan
POST/JWTCrear o actualizar posiciones
DELETE/:idJWTEliminar una posición

Horarios

Ruta base: /doing/times

MétodoRutaAutenticaciónPermisoDescripción
GET/allJWTListar todos los horarios para la iglesia
GET/:idJWTObtener un horario por ID
GET/plans?planIds=JWTObtener horarios para múltiples planes por IDs de plan separados por comas
GET/plan/:planIdJWTObtener todos los horarios para un plan
POST/JWTCrear o actualizar horarios
DELETE/:idJWTEliminar un horario

Asignaciones

Ruta base: /doing/assignments

MétodoRutaAutenticaciónPermisoDescripción
GET/myJWTObtener asignaciones para el usuario actual
GET/:idJWTObtener una asignación por ID
GET/plan/ids?planIds=JWTObtener asignaciones para múltiples planes por IDs de plan separados por comas
GET/plan/:planIdJWTObtener todas las asignaciones para un plan
POST/JWTCrear o actualizar asignaciones (estado predeterminado a "No Confirmado")
POST/accept/:idJWTAceptar una asignación (debe ser la persona asignada)
POST/decline/:idJWTRechazar una asignación (debe ser la persona asignada)
DELETE/:idJWTEliminar una asignación

Ejemplo: Aceptar una Asignación

POST /doing/assignments/accept/assign-123
Authorization: Bearer <token>
{
"id": "assign-123",
"personId": "person-456",
"positionId": "pos-789",
"planId": "plan-abc",
"status": "Accepted"
}

Fechas de Bloqueo

Ruta base: /doing/blockoutDates

Extiende la clase base CRUD (GET /:id, DELETE /:id -- sin verificaciones de permisos).

MétodoRutaAutenticaciónPermisoDescripción
GET/:idJWTObtener una fecha de bloqueo por ID
GET/ids?ids=JWTObtener múltiples fechas de bloqueo por IDs separados por comas
GET/myJWTObtener fechas de bloqueo para el usuario actual
GET/upcomingJWTObtener todas las fechas de bloqueo próximas para la iglesia
POST/JWTCrear o actualizar fechas de bloqueo (estado predeterminado a personId actual si no se proporciona)
DELETE/:idJWTEliminar una fecha de bloqueo

Tareas

Ruta base: /doing/tasks

MétodoRutaAutenticaciónPermisoDescripción
GET/JWTObtener tareas abiertas para el usuario actual
GET/:idJWTObtener una tarea por ID
GET/closedJWTObtener tareas cerradas para el usuario actual
GET/timeline?taskIds=JWTObtener datos de cronología para tareas por IDs de tarea separados por comas
GET/directoryUpdate/:personIdJWTObtener tarea de actualización de directorio para una persona
POST/JWTCrear o actualizar tareas. Agregue ?type=directoryUpdate para manejar tareas de actualización de directorio (carga automática de fotos)
POST/loadForGroupsJWTCargar tareas para grupos específicos. Cuerpo: { groupIds: [], status: "Open" }

Automatizaciones

Ruta base: /doing/automations

MétodoRutaAutenticaciónPermisoDescripción
GET/JWTListar todas las automatizaciones para la iglesia
GET/:idJWTObtener una automatización por ID
GET/checkPúblicoActivar una verificación de todas las automatizaciones
POST/JWTCrear o actualizar automatizaciones
DELETE/:idJWTEliminar una automatización

Acciones

Ruta base: /doing/actions

Las acciones definen qué ocurre cuando se dispara una automatización.

MétodoRutaAutenticaciónPermisoDescripción
GET/:idJWTObtener una acción por ID
GET/automation/:idJWTObtener todas las acciones para una automatización
POST/JWTCrear o actualizar acciones
DELETE/:idJWTEliminar una acción

Condiciones

Ruta base: /doing/conditions

Las condiciones definen los criterios que disparan una automatización.

MétodoRutaAutenticaciónPermisoDescripción
GET/:idJWTObtener una condición por ID
GET/automation/:idJWTObtener todas las condiciones para una automatización
POST/JWTCrear o actualizar condiciones
DELETE/:idJWTEliminar una condición

Conjunciones

Ruta base: /doing/conjunctions

Las conjunciones vinculan múltiples condiciones en una automatización (lógica AND/OR).

MétodoRutaAutenticaciónPermisoDescripción
GET/:idJWTObtener una conjunción por ID
GET/automation/:idJWTObtener todas las conjunciones para una automatización
POST/JWTCrear o actualizar conjunciones
DELETE/:idJWTEliminar una conjunción

Autorizaciones del Proveedor de Contenido

Ruta base: /doing/contentProviderAuths

Extiende la clase base CRUD (GET /, GET /:id, POST /, DELETE /:id -- sin verificaciones de permisos).

Gestiona registros de autenticación de OAuth para proveedores de contenido externo (p. ej., integraciones de software de presentación).

MétodoRutaAutenticaciónPermisoDescripción
GET/JWTListar todas las autorizaciones del proveedor de contenido
GET/:idJWTObtener una autorización del proveedor de contenido por ID
GET/ids?ids=JWTObtener múltiples autorizaciones del proveedor de contenido por IDs separados por comas
GET/ministry/:ministryIdJWTObtener todas las autorizaciones del proveedor de contenido para un ministerio
GET/ministry/:ministryId/:providerIdJWTObtener registro de autenticación para un ministerio y proveedor específicos
POST/JWTCrear o actualizar autorizaciones del proveedor de contenido
DELETE/:idJWTEliminar una autorización del proveedor de contenido

Proxy del Proveedor

Ruta base: /doing/providerProxy

Proxifica solicitudes a proveedores de contenido externos (p. ej., ProPresenter, EasyWorship). Maneja la actualización de tokens automáticamente cuando vencen.

MétodoRutaAutenticaciónPermisoDescripción
POST/browseJWTExaminar archivos del proveedor de contenido. Cuerpo: { ministryId, providerId, path }
POST/getPresentationsJWTObtener presentaciones de un proveedor de contenido. Cuerpo: { ministryId, providerId, path }
POST/getPlaylistJWTObtener una lista de reproducción de un proveedor de contenido. Cuerpo: { ministryId, providerId, path, resolution }
POST/getInstructionsJWTObtener instrucciones para un elemento de contenido. Cuerpo: { ministryId, providerId, path }
POST/getExpandedInstructionsJWTObtener instrucciones expandidas para un elemento de contenido. Cuerpo: { ministryId, providerId, path }

Páginas Relacionadas