Aller au contenu principal

Points de terminaison Doing

Le module Doing gère la planification des services, la programmation des bénévoles, la gestion des tâches et les automations. Il fournit des outils pour créer des plans de service avec les horaires et les postes, assigner les bénévoles, gérer les dates de blocage, créer des éléments d'ordre de service, se connecter aux fournisseurs de contenu externe et configurer les workflows automatisés avec les conditions et les actions.

Chemin de base : /doing

Plans

Chemin de base : /doing/plans

MéthodeCheminAuthentificationPermissionDescription
GET/JWTLister tous les plans pour l'église
GET/:idJWTObtenir un plan par ID
GET/ids?ids=JWTObtenir plusieurs plans par IDs séparés par des virgules
GET/types/:planTypeIdJWTObtenir les plans par type de plan
GET/presenterJWTObtenir les plans des 7 prochains jours (vue présentateur)
GET/public/current/:planTypeIdPublicObtenir le plan actuel pour un type de plan
POST/JWTCréer ou mettre à jour les plans (accepte un objet unique ou un tableau)
POST/copy/:idJWTCopier un plan y compris les postes, les horaires, les assignments et les éléments d'ordre de service. Le corps inclut copyMode ("none", "positions", "all") et copyServiceOrder (booléen)
POST/autofill/:idJWTRemplissage automatique des assignments de bénévoles pour un plan. Corps : { teams: [{ positionId, personIds }] }
DELETE/:idJWTSupprimer un plan et tous les horaires, assignments, postes et éléments de plan connexes

Exemple : Copier 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"
}

Types de plans

Chemin de base : /doing/planTypes

Étend la classe de base CRUD (GET /, GET /:id, POST /, DELETE /:id — pas de vérifications de permissions).

MéthodeCheminAuthentificationPermissionDescription
GET/JWTLister tous les types de plans
GET/:idJWTObtenir un type de plan par ID
GET/ids?ids=JWTObtenir plusieurs types de plans par IDs séparés par des virgules
GET/ministryId/:ministryIdJWTObtenir les types de plans pour un ministère
POST/JWTCréer ou mettre à jour les types de plans
DELETE/:idJWTSupprimer un type de plan

Éléments de plan

Chemin de base : /doing/planItems

Gère les éléments d'ordre de service (en-têtes, sections, chansons, etc.) organisés dans une structure d'arbre parent-enfant.

MéthodeCheminAuthentificationPermissionDescription
GET/:idJWTObtenir un élément de plan par ID
GET/ids?ids=JWTObtenir plusieurs éléments de plan par IDs séparés par des virgules
GET/plan/:planIdJWTObtenir tous les éléments de plan pour un plan (retourne la structure d'arbre)
GET/presenter/:churchId/:planIdPublicObtenir les éléments de plan pour la vue présentateur (retourne la structure d'arbre)
POST/JWTCréer ou mettre à jour les éléments de plan
POST/sortJWTMettre à jour l'ordre de tri pour un élément de plan (retrie les frères et sœurs)
DELETE/:idJWTSupprimer un élément de plan

Flux de plan

Chemin de base : /doing/planFeed

Fournit les flux d'éléments de plan pour le présentateur. Si aucun élément de plan n'existe, auto-remplit à partir du flux de venue Lessons.church en utilisant le contentId du plan.

MéthodeCheminAuthentificationPermissionDescription
GET/presenter/:churchId/:planIdPublicObtenir le flux du plan pour le présentateur (auto-remplit à partir du flux de venue si vide)

Postes

Chemin de base : /doing/positions

Étend la classe de base CRUD (GET /:id, POST /, DELETE /:id — pas de vérifications de permissions).

MéthodeCheminAuthentificationPermissionDescription
GET/:idJWTObtenir un poste par ID
GET/ids?ids=JWTObtenir plusieurs postes par IDs séparés par des virgules
GET/plan/ids?planIds=JWTObtenir les postes pour plusieurs plans par IDs de plan séparés par des virgules
GET/plan/:planIdJWTObtenir tous les postes pour un plan
POST/JWTCréer ou mettre à jour les postes
DELETE/:idJWTSupprimer un poste

Horaires

Chemin de base : /doing/times

MéthodeCheminAuthentificationPermissionDescription
GET/allJWTLister tous les horaires pour l'église
GET/:idJWTObtenir un horaire par ID
GET/plans?planIds=JWTObtenir les horaires pour plusieurs plans par IDs de plan séparés par des virgules
GET/plan/:planIdJWTObtenir tous les horaires pour un plan
POST/JWTCréer ou mettre à jour les horaires
DELETE/:idJWTSupprimer un horaire

Assignments

Chemin de base : /doing/assignments

MéthodeCheminAuthentificationPermissionDescription
GET/myJWTObtenir les assignments pour l'utilisateur actuel
GET/:idJWTObtenir un assignment par ID
GET/plan/ids?planIds=JWTObtenir les assignments pour plusieurs plans par IDs de plan séparés par des virgules
GET/plan/:planIdJWTObtenir tous les assignments pour un plan
POST/JWTCréer ou mettre à jour les assignments (le statut par défaut est "Unconfirmed")
POST/accept/:idJWTAccepter un assignment (doit être la personne assignée)
POST/decline/:idJWTRefuser un assignment (doit être la personne assignée)
DELETE/:idJWTSupprimer un assignment

Exemple : Accepter un assignment

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

Dates de blocage

Chemin de base : /doing/blockoutDates

Étend la classe de base CRUD (GET /:id, DELETE /:id — pas de vérifications de permissions).

MéthodeCheminAuthentificationPermissionDescription
GET/:idJWTObtenir une date de blocage par ID
GET/ids?ids=JWTObtenir plusieurs dates de blocage par IDs séparés par des virgules
GET/myJWTObtenir les dates de blocage pour l'utilisateur actuel
GET/upcomingJWTObtenir toutes les dates de blocage à venir pour l'église
POST/JWTCréer ou mettre à jour les dates de blocage (le personId par défaut est l'utilisateur actuel s'il n'est pas fourni)
DELETE/:idJWTSupprimer une date de blocage

Tâches

Chemin de base : /doing/tasks

MéthodeCheminAuthentificationPermissionDescription
GET/JWTObtenir les tâches ouvertes pour l'utilisateur actuel
GET/:idJWTObtenir une tâche par ID
GET/closedJWTObtenir les tâches fermées pour l'utilisateur actuel
GET/timeline?taskIds=JWTObtenir les données de chronologie pour les tâches par IDs de tâche séparés par des virgules
GET/directoryUpdate/:personIdJWTObtenir la tâche de mise à jour du répertoire pour une personne
POST/JWTCréer ou mettre à jour les tâches. Ajouter ?type=directoryUpdate pour gérer les tâches de mise à jour du répertoire (télécharge automatiquement les photos)
POST/loadForGroupsJWTCharger les tâches pour des groupes spécifiques. Corps : { groupIds: [], status: "Open" }

Automations

Chemin de base : /doing/automations

MéthodeCheminAuthentificationPermissionDescription
GET/JWTLister toutes les automations pour l'église
GET/:idJWTObtenir une automation par ID
GET/checkPublicDéclencher une vérification de toutes les automations
POST/JWTCréer ou mettre à jour les automations
DELETE/:idJWTSupprimer une automation

Actions

Chemin de base : /doing/actions

Les actions définissent ce qui se passe lorsqu'une automation est déclenchée.

MéthodeCheminAuthentificationPermissionDescription
GET/:idJWTObtenir une action par ID
GET/automation/:idJWTObtenir toutes les actions pour une automation
POST/JWTCréer ou mettre à jour les actions
DELETE/:idJWTSupprimer une action

Conditions

Chemin de base : /doing/conditions

Les conditions définissent les critères qui déclenchent une automation.

MéthodeCheminAuthentificationPermissionDescription
GET/:idJWTObtenir une condition par ID
GET/automation/:idJWTObtenir toutes les conditions pour une automation
POST/JWTCréer ou mettre à jour les conditions
DELETE/:idJWTSupprimer une condition

Conjonctions

Chemin de base : /doing/conjunctions

Les conjonctions relient plusieurs conditions ensemble dans une automation (logique AND/OR).

MéthodeCheminAuthentificationPermissionDescription
GET/:idJWTObtenir une conjonction par ID
GET/automation/:idJWTObtenir toutes les conjonctions pour une automation
POST/JWTCréer ou mettre à jour les conjonctions
DELETE/:idJWTSupprimer une conjonction

Authentifications du fournisseur de contenu

Chemin de base : /doing/contentProviderAuths

Étend la classe de base CRUD (GET /, GET /:id, POST /, DELETE /:id — pas de vérifications de permissions).

Gère les enregistrements d'authentification OAuth pour les fournisseurs de contenu externe (par exemple, les intégrations de logiciels de présentation).

MéthodeCheminAuthentificationPermissionDescription
GET/JWTLister toutes les authentifications du fournisseur de contenu
GET/:idJWTObtenir une authentification du fournisseur de contenu par ID
GET/ids?ids=JWTObtenir plusieurs authentifications du fournisseur de contenu par IDs séparés par des virgules
GET/ministry/:ministryIdJWTObtenir toutes les authentifications du fournisseur de contenu pour un ministère
GET/ministry/:ministryId/:providerIdJWTObtenir l'enregistrement d'authentification pour un ministère et un fournisseur spécifiques
POST/JWTCréer ou mettre à jour les authentifications du fournisseur de contenu
DELETE/:idJWTSupprimer une authentification du fournisseur de contenu

Proxy du fournisseur

Chemin de base : /doing/providerProxy

Proxy les requêtes aux fournisseurs de contenu externe (par exemple, ProPresenter, EasyWorship). Gère automatiquement l'actualisation des jetons quand les jetons expirent.

MéthodeCheminAuthentificationPermissionDescription
POST/browseJWTParcourir les fichiers du fournisseur de contenu. Corps : { ministryId, providerId, path }
POST/getPresentationsJWTObtenir les présentations d'un fournisseur de contenu. Corps : { ministryId, providerId, path }
POST/getPlaylistJWTObtenir une liste de lecture d'un fournisseur de contenu. Corps : { ministryId, providerId, path, resolution }
POST/getInstructionsJWTObtenir les instructions pour un élément de contenu. Corps : { ministryId, providerId, path }
POST/getExpandedInstructionsJWTObtenir les instructions élargies pour un élément de contenu. Corps : { ministryId, providerId, path }

Pages connexes