Aller au contenu principal
Cette page vous a-t-elle été utile ?

Ressource API

Catalogue de ressources

Gérer les types de ressources, les ressources, les paramètres de couleur et les jetons de réservation publics

Cette page couvre la surface des ressources authentifiées : le catalogue de types de ressources réutilisables et le des ressources concrètes qui peuvent être réservées ou publiées pour réservation.

JWT ou clé utilisateur APITypes de ressourcesJetons de réservation publicsAperçus de suppression

Authentification et autorisations​

  • Tous les itinéraires sur cette page nécessitent une authentification.
  • Les résultats sont filtrés selon les ressources et les organisations auxquelles l'utilisateur actuel peut accéder.
  • Les opérations de jetons et de cascade reposent sur les contrôles d’accès aux ressources dans les couches de service et de garde.

Référence du point de terminaison​

Types de ressources​

MéthodeCheminObjectifDemande ou requêteAuthentification
POST/api/resource-typesCréez un type de ressource.Corps : champs de saisieClé JWT ou utilisateur API
GET/api/resource-typesRépertoriez les types de ressources.Requête : organisationIdClé JWT ou utilisateur API
GET/api/resource-types/:idObtenez un type de ressource.Chemin : idClé JWT ou utilisateur API
PATCH/api/resource-types/:idMettez à jour un type de ressource.Chemin : id, corps : champs de type partielClé JWT ou utilisateur API
DELETE/api/resource-types/:idSupprimez un type de ressource.Chemin : idClé JWT ou utilisateur API
GET/api/resource-types/:id/deletion-previewAperçu de l’impact de la suppression pour un type de ressource.Chemin : idClé JWT ou utilisateur API
DELETE/api/resource-types/:id/cascadeSupprimez en cascade un type de ressource et ses dépendances.Chemin : idClé JWT ou utilisateur API
PATCH/api/resource-types/:id/colorMettez à jour uniquement la couleur du type de ressource.Chemin : id, corps : colorClé JWT ou utilisateur API

Ressources​

MéthodeCheminObjectifDemande ou requêteAuthentification
POST/api/resourcesCréez une ressource.Corps : name,description,capacity,resourceTypeId,managedByIdClé JWT ou utilisateur API
GET/api/resourcesRépertoriez les ressources.Requête : resourceTypeIdClé JWT ou utilisateur API
GET/api/resources/:idObtenez une ressource.Chemin : idClé JWT ou utilisateur API
PATCH/api/resources/:idMettre à jour une ressource.Chemin : id, corps : champs de ressources partielsClé JWT ou utilisateur API
DELETE/api/resources/:idSupprimer une ressource.Chemin : idClé JWT ou utilisateur API
GET/api/resources/:id/deletion-previewAperçu de l’impact de la suppression pour une ressource.Chemin : idClé JWT ou utilisateur API
DELETE/api/resources/:id/cascadeSupprimez en cascade une ressource et ses personnes à charge.Chemin : idClé JWT ou utilisateur API
GET/api/resources/:id/public-tokenLisez le jeton de réservation public.Chemin : idClé JWT ou utilisateur API
POST/api/resources/:id/regenerate-tokenRégénérez le jeton de réservation public.Chemin : idClé JWT ou utilisateur API

Demander des formes​

Types de ressources​

CreateResourceTypeDto et UpdateResourceTypeDto

  • name : requis à la création
  • description : chaîne facultative
  • minBookingDuration : entier facultatif, minimum 1
  • bufferTime : entier facultatif, minimum 0
  • customerInfoFields : tableau de chaînes facultatif
  • waitlistEnabled : booléen facultatif
  • recurringEnabled : booléen facultatif
  • color : chaîne facultative
  • icon : chaîne facultative
  • organisationId : requis à la création
  • isActive : booléen facultatif de mise à jour uniquement

Requêtes et mises à jour ciblées :

  • ResourceTypeListQueryDto.organisationId : entier facultatif >= 1
  • UpdateResourceTypeColorDto.color : chaîne de couleur requise

Ressources​

CreateResourceDto et UpdateResourceDto

  • name : requis à la création
  • description : chaîne facultative
  • capacity : entier facultatif, minimum 1
  • resourceTypeId : requis à la création
  • managedById : entier facultatif
  • isActive : booléen facultatif de mise à jour uniquement

Requêtes :

  • ResourceListQueryDto.resourceTypeId : entier facultatif >= 1

Exemples d'appels​

Créer un type de ressource​

curl -X POST "$PRIMECAL_API/api/resource-types" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Meeting Room",
"organisationId": 12,
"minBookingDuration": 30,
"bufferTime": 15,
"color": "#0ea5e9"
}'

Créer une ressource​

curl -X POST "$PRIMECAL_API/api/resources" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Family Car",
"resourceTypeId": 3,
"capacity": 5
}'

Régénérer un jeton de réservation public​

curl -X POST "$PRIMECAL_API/api/resources/21/regenerate-token" \
-H "Authorization: Bearer $TOKEN"

Notes de réponse et de comportement​

  • Les itinéraires à jeton public peuvent renvoyer à la fois le jeton brut et une URL de réservation conviviale.
  • Un comportement en cascade de couleurs existe au niveau de la couche organisation et des mises à jour couleur uniquement existent au niveau de la couche type de ressource.
  • Les routes d’aperçu de suppression de ressources et de types de ressources doivent être utilisées avant la suppression en cascade dans les interfaces utilisateur de style administrateur.

Meilleures pratiques​

  • Créez le type de ressource avant de créer les ressources qui en dépendent.
  • Traitez la régénération des jetons comme destructrice pour tous les liens publics précédemment partagés.
  • Maintenez la configuration des types de ressources stable et utilisez les enregistrements de ressources pour l'inventaire réel qui change fréquemment.
  • Utilisez les aperçus de suppression avant toute opération en cascade susceptible d'affecter les réservations en direct.