API du module réservable WSD
L’API Prestation de services sur le lieu de travail du module réservable (WSD) fournit des points de terminaison pour récupérer les détails d’un module réservable à partir d’une ServiceNow instance.
Un module réservable regroupe des types similaires d’éléments du lieu de travail. Les employés peuvent afficher ces éléments similaires dans une seule catégorie. Par exemple, une salle est un module réservable qui contient des éléments de lieu de travail similaires, tels que des salles de réunion, des salles de conférence et d’autres salles.
Pour accéder à cette API, l’appelant doit avoir le rôle sn_wsd_core.workplace_user et le module d’extension Workplace Reservation Management (sn_wsd_rsv) doit être activé. Cette API s’exécute dans l’espace de noms sn_wsd_rsv .
Pour en savoir plus sur , reportez-vous à Gestion des réservations du lieu de travailla section Workplace Reservation Management.
Module réservable WSD : GET /sn_wsd_rsv/reservable_module/{sys_id}
Renvoie les détails d’un module réservable spécifié.
Format d'URL
URL versionnée : /api/sn_wsd_rsv/{api_version}/reservable_module/{sys_id}
URL par défaut : /api/sn_wsd_rsv/reservable_module/{sys_id}
Paramètres de demande pris en charge
| Nom | Description |
|---|---|
| api_version | Facultatif. Version du point de terminaison auquel accéder. Exemple : v1 ou v2. Spécifiez uniquement cette valeur pour utiliser une version de point de terminaison différente de la dernière. Type de données : chaîne |
| sys_id | Sys_id de l’enregistrement du module réversible à récupérer. Situé dans la table Module réservable [sn_wsd_rsv_reservable_module]. Type de données : chaîne |
| Nom | Description |
|---|---|
| is_buildings_tree_data_required | Marqueur indiquant s’il faut renvoyer les données de bâtiment associées au modèle réservable. Valeurs valides :
Type de données : booléennes Valeur par défaut : false |
| quartier | Disponible uniquement si le module d’extension Gestion des espaces (sn_wsd_spc_mgmt_neighborhood) est activé. Sys_id de l’enregistrement de quartier à utiliser dans la requête codée. Situé dans la table Quartier [sn_wsd_spcmgmt_neighborhood]. Pour en savoir plus sur les réservations d’espaces de quartier, reportez-vous à la section Create neighborhood reservations. Le point de terminaison vérifie si le quartier est valide, puis récupère les données requises pour le chemin d’accès de navigation par quartier. Type de données : chaîne |
| Nom | Description |
|---|---|
| Aucun |
En-têtes
Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.
| En-tête | Description |
|---|---|
| Accepter | Format de données du corps de la réponse. Types pris en charge : application/json ou application/xml. Valeur par défaut : application/json |
| En-tête | Description |
|---|---|
| Aucun |
Codes d'état
Les codes d'état suivants s'appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.
| Code d'état | Description |
|---|---|
| 200 | Réussi. La demande a été correctement traitée. |
| 400 | Demande incorrecte. Un type de demande incorrecte ou mal formé a été détecté. |
| 401 | Non autorisé. Les informations d'identification de l'utilisateur sont incorrectes ou n'ont pas été transmises. |
| 404 | Introuvable. L’élément demandé est introuvable. |
| 500 | Erreur interne du serveur. Une erreur inattendue s'est produite lors du traitement de la demande. La réponse contient des informations supplémentaires sur l'erreur. |
Paramètres du corps de réponse (JSON ou XML)
| Nom | Description |
|---|---|
| résultats | Détails du module réservable demandé. Type de données : objet |
| result.allow_invitees | Marqueur indiquant si les employés sont en mesure d’ajouter des invités à la réservation. Valeurs valides :
Type de données : booléennes |
| result.allow_whole_day | Marqueur indiquant si les utilisateurs peuvent réserver le réservable pour toute la journée. Valeurs valides :
Type de données : booléennes |
| result.apply_to_shift | Marqueur indiquant si les réservations basées sur l’équipe sont activées pour le module réservable. Valeurs valides :
Type de données : booléennes |
| result.browse_by_area_enabled | Marqueur indiquant si les utilisateurs sont en mesure de rechercher des modules réservables par zone. Valeurs valides :
Type de données : booléennes |
| result.browse_by_neighborhood_enabled | Disponible uniquement si le module d’extension Gestion des espaces - sn_wsd_spc_mgmt est installé. Marqueur indiquant si les utilisateurs sont en mesure d’effectuer des recherches dans les modules réservables par quartier. Valeurs valides :
Type de données : booléennes |
| result.browse_near_a_person_enabled | Marqueur indiquant si les utilisateurs sont en mesure de rechercher des modules réservables situés par une personne spécifiée. Valeurs valides :
Type de données : booléennes |
| result.buildingTreeData | Renvoyé uniquement si le paramètre de is_buildings_tree_data_required requête est défini sur vrai. Hiérarchie des bâtiments associés au module réservable. Ordre hiérarchique :
Chaque noeud d’enfants[ ] reflète un niveau/hiérarchie de bâtiment différent :
Type de données : tableau d’objets |
| result.buildingsTreeData.children | Détails sur le site, le campus ou le bâtiment associé au module réservable. Chacun des paramètres de tous les nœuds enfants[ ] est le même. Ils ne s’appliquent qu’à différentes entités de bâtiment et ne sont décrits qu’une seule fois dans cette section.Type de données : tableau d’objets |
| result.buildingsTreeData.children.data | Détails sur l’entité du bâtiment. Type de données : objet |
| result.buildingsTreeData.children.data.sys_id | Sys_id de l’entité de bâtiment associée. Type de données : chaîne |
| result.buildingsTreeData.children.data.table | Nom de la table dans laquelle se trouve l’enregistrement d’entité du bâtiment identifié dans le sys_id. Type de données : chaîne |
| result.buildingsTreeData.children.data.timezone | Détails sur le fuseau horaire de l’entité du bâtiment. |
| result.buildingsTreeData.children.data.timezone.displayValue | Affichez la valeur dans l’enregistrement pour le fuseau horaire. Type de données : chaîne |
| result.buildingsTreeData.children.data.timezone.value | Valeur interne dans l’enregistrement pour le fuseau horaire. Type de données : chaîne |
| résultat.bâtimentsDonnéesArbre.enfants.isSélectionnable | Marqueur indiquant si l’entité de bâtiment associée est disponible (sélectionnable) pour le modèle réservable. Valeurs valides :
Type de données : booléennes |
| result.buildingsTreeData.children.isValid | Marqueur indiquant si l’entité de bâtiment associée est valide pour le modèle réservable. Valeurs valides :
Type de données : booléennes |
| resultat.bâtimentsDonnéesArbre.enfants.étiquette | Nom de l’entité du bâtiment. Type de données : chaîne |
| result.buildingsTreeData.children.uId | Sys_id de l’enregistrement d’entité de bâtiment associé. Type de données : chaîne |
| result.buildingSysIds | Liste des sys_ids des bâtiments associés au module réservable. Type de données : tableau de chaînes |
| result.checkin_before_minutes | Délai avant le début d’une réservation pendant lequel un utilisateur peut enregistrer sa réservation. Unité : Minutes Type de données : nombre |
| result.display_number_of_attendees | Marqueur indiquant si les utilisateurs peuvent spécifier le nombre de participants dans la réservation. Valeurs valides :
Type de données : booléennes |
| result.display_on_behalf_of | Marqueur indiquant si les réservations peuvent être effectuées au nom de quelqu’un d’autre. Valeurs valides :
Type de données : booléennes |
| result.display_sensitivity | Marqueur indiquant si les utilisateurs peuvent définir la sensibilité de la réservation, comme normal ou privé. Valeurs valides :
Type de données : booléennes |
| result.display_value | Valeur d’affichage du module réservable. Type de données : chaîne |
| result.enable_browse_by_area | Marqueur indiquant si les utilisateurs sont en mesure de rechercher des modules réservables par zone. Identique à browse_by_area_enabled. Valeurs valides :
Type de données : booléennes |
| result.enable_browse_by_neighborhood | Marqueur indiquant si les utilisateurs sont en mesure de rechercher des modules réservables par quartier. Valeurs valides :
Type de données : booléennes |
| result.enable_browse_near_a_person | Marqueur indiquant si les utilisateurs sont en mesure de rechercher des modules réservables situés par une personne spécifiée. Identique à browse_near_a_person_enabled. Valeurs valides :
Type de données : booléennes |
| result.enable_facet_filter | Marqueur indiquant si le filtrage des facettes sur les éléments du lieu de travail est activé. Lorsque cette option est activée, les options de filtre qui s’affichent sont basées sur les résultats de la recherche. Seuls les éléments disponibles dans les résultats de recherche générés sont sélectionnables par les utilisateurs dans le filtre. Valeurs valides :
Type de données : booléennes |
| result.enable_group_reservations | Marqueur indiquant si les utilisateurs peuvent effectuer une réservation de groupe. Valeurs valides :
Type de données : booléennes |
| result.enable_ical_generation | Marqueur indiquant si les utilisateurs peuvent générer un iCalendar pour la réservation. Valeurs valides :
Type de données : booléennes |
| result.font_awesome_icon | Nom de l’icône de police jointe au module réservable. Type de données : chaîne |
| result.inline_title | Titre en ligne du module réservable. Le titre s’affiche conformément au texte descriptif sur le portail de services Workplace. Type de données : chaîne |
| result.layout_mapping | Détails sur la structure du mappage de mise en page des emplacements. Utilisez ces données pour mettre en page les informations dans l’interface utilisateur. Type de données : objet |
| result.layout_mapping.corps | Espace réservé pour le mappage des données de l’interface utilisateur frontale. Type de données : tableau d’objets |
| result.layout_mapping.corps.champ | Espace réservé pour le mappage des données de l’interface utilisateur frontale. Type de données : chaîne |
| result.layout_mapping.body.field_to_display | Espace réservé pour le mappage des données de l’interface utilisateur frontale. Type de données : chaîne |
| result.layout_mapping.corps.icône | Espace réservé pour le mappage des données de l’interface utilisateur frontale. Type de données : chaîne |
| result.layout_mapping.corps.étiquette | Espace réservé pour le mappage des données de l’interface utilisateur frontale. Type de données : chaîne |
| result.layout_mapping.description | Espace réservé pour le mappage des données de l’interface utilisateur frontale. Description du mappage de mise en page. Type de données : tableau |
| result.layout_mapping.image | Espace réservé pour le mappage des données de l’interface utilisateur frontale. Type de données : chaîne |
| result.layout_mapping.sous-titre | Espace réservé pour le mappage des données de l’interface utilisateur frontale. Type de données : tableau |
| result.layout_mapping.subtitle_asc | Espace réservé pour le mappage des données de l’interface utilisateur frontale. Type de données : tableau |
| result.layout_mapping.titre | Espace réservé pour le mappage des données de l’interface utilisateur frontale. Type de données : tableau |
| result.max_jours_dans_le futur | Nombre maximal de jours dans le futur pendant lesquels un utilisateur peut réserver le module réservable. Type de données : nombre |
| result.max_occurrences | Nombre maximal d’occurrences de réservation récurrentes si des réservations récurrentes sont disponibles pour le module réservable. Type de données : nombre |
| result.name | Nom du module réservable. Type de données : chaîne |
| result.nbhBuildingIds | Renvoyé uniquement si le module d’extension Gestion des espaces est installé, que le paramètre est défini sur vrai et que le neighborhoodbrowse_by_neighborhood_enabled paramètre est transmis dans les paramètres de requête. Liste des sys_ids des bâtiments associés au module réservable et configurés pour le quartier. Type de données : tableau de chaînes |
| result.nbhBuildingsData | Renvoyé uniquement si le module d’extension Gestion des espaces est installé, que le paramètre est défini sur vrai et que le neighborhoodbrowse_by_neighborhood_enabled paramètre est transmis dans les paramètres de requête. Liste des sys_ids des bâtiments associés au module réservable et configurés pour le quartier. Chaque élément de bâtiment contient également une liste de sys_ids des étages correspondants disponibles pour le bâtiment. Par exemple : Les enregistrements associés au sys_ids de bâtiment se trouvent dans la table Bâtiment [sn_wsd_core_building]. Les enregistrements associés au sys_ids d’étage sont situés dans la table Étage [sn_wsd_core_floor]. Type de données : tableau d’objets |
| result.nbhBuildingsTreeData | Renvoyé uniquement si le module d’extension Gestion des espaces est installé, que le paramètre est défini sur vrai et que le neighborhoodbrowse_by_neighborhood_enabled paramètre est transmis dans les paramètres de requête. Hiérarchie des bâtiments associés au module réservable et au quartier. Type de données : tableau d’objets Ordre hiérarchique :
|
| result.nbhBuildingsTreeData.children | Décrit la hiérarchie des enfants associés au bâtiment. Chaque nœud enfants[] reflète un niveau/hiérarchie de bâtiment différent :
Type de données : tableau Les paramètres du tableau |
| result.nbhBuildingsTreeData.data | Détails sur l’entité associée ; région, site, campus ou bâtiment. Type de données : objet |
| result.nbhBuildingsTreeData.data.sysId | Sys_id de l’enregistrement d’entité associé. Type de données : chaîne |
| result.nbhBuildingsTreeData.data.table | Table dans laquelle se trouve l’enregistrement associé. Type de données : chaîne |
| result.nbhBuildingsTreeData.data.timezone | Informations sur le fuseau horaire dans lequel réside l’entité associée. Type de données : objet |
| result.nbhBuildingsTreeData.data.timezone.displayValue | Valeur de fuseau horaire à utiliser dans une interface utilisateur. Type de données : chaîne |
| result.nbhBuildingsTreeData.data.timezone.value | Valeur du fuseau horaire interne. Type de données : chaîne |
| result.nbhBuildingsTreeData.isSelectable | Marqueur indiquant si l’entité associée est disponible (sélectionnable) pour le modèle réservable. Valeurs valides :
Type de données : booléennes |
| result.nbhBuildingsTreeData.isValid | Marqueur indiquant si l’entité associée est valide pour le modèle réservable. Valeurs valides :
Type de données : booléennes |
| result.nbhBuildingsTreeData.label | Nom de la vue réservable. Type de données : chaîne |
| result.nbhBuildingsTreeData.uId | Sys_id de l’entité associée. Type de données : chaîne |
| result.override_approval_policy | Option permettant de spécifier la méthode d'implémentation de la politique d'approbation. Les choix sont les suivants :
Type de données : chaîne |
| result.require_cancel_notes | Marqueur indiquant si les utilisateurs doivent saisir une note d’annulation avant d’annuler un module réservable. Valeurs valides :
Type de données : booléennes |
| result.require_cc_dept_check | Marqueur indiquant s’il faut vérifier s’il existe une incompatibilité de centre de coûts ou de département entre l’élément de l’espace de travail et l’utilisateur connecté. Valeurs valides :
Type de données : booléennes |
| result.require_subject | Marqueur indiquant si l’utilisateur doit saisir un objet lors de la réservation. Valeurs valides :
Type de données : booléennes |
| result.reservable_columns | Liste des colonnes d’un réservable. Situé dans la table Emplacement du lieu de travail [sn_wsd_core_workplace_location]. Type de données : tableau |
| result.reservable_container_field | Niveau du conteneur, par exemple un groupe de bureaux dans une zone spécifique. Type de données : chaîne |
| result.reservable_filter | Conditions de filtre utilisées pour filtrer les éléments réservables dans la table réservable associée. La table réservable est un champ de la table Module réservable [sn_wsd_rsv_reservable_module]. Ces conditions de filtre ont été appliquées à la table contenue dans le champ Table réservable. Type de données : chaîne |
| result.reservable_quantity_field | Quantité réservable de tous les espaces. La quantité est utilisée lors de l’affectation d’espaces de quartier à une zone. Pour plus d’informations, reportez-vous à la rubrique Affecter des espaces de quartier à une zone. Type de données : chaîne |
| result.reservable_table | Table contenant les éléments du lieu de travail réservables. Type de données : chaîne |
| result.reservable_type | Type de l’élément réservable, tel que l’emplacement. Type de données : chaîne |
| result.reservable_views | Détails sur les différentes vues associées au module réservable, telles que la vue de carte ou la vue de calendrier. Situé dans la table Vue réservable [sn_wsd_rsv_reservable_view]. Type de données : objet |
| result.reservable_views.iconClass | Classe d’icône de la vue réservable. Type de données : chaîne |
| result.reservable_views.isDefault | Marqueur indiquant s’il faut faire de cette vue réservable la valeur par défaut pour les modules réservables. Valeurs valides :
Type de données : booléennes |
| result.reservable_views.label | Nom de la vue réservable. Type de données : chaîne |
| result.reservable_views.commande | Ordre dans lequel les vues sont affichées pour le module réservable dans l’interface utilisateur. Le numéro d’ordre inférieur vient en premier dans l’interface utilisateur. Dans le cas du même numéro d’ordre, un ordre aléatoire lui est attribué. Type de données : nombre |
| result.reservable_views.type | Nom back-end de la vue réservable. Utilisé pour le traitement interne. Type de données : chaîne |
| result.reservation_paths | Chemins de réservation associés aux modules réservables tels que Tout parcourir, Explorer à proximité d’une personne. Type de données : tableau d’objets |
| result.reservation_paths.displayValue | Valeur d’affichage du chemin de réservation, par exemple « Explorer à proximité d’une personne ». Type de données : chaîne |
| result.reservation_paths.valeur | Valeur interne du chemin de réservation, telle que « browse_near_a_person ». Type de données : chaîne |
| result.search_limit | Nombre maximal de résultats de recherche à renvoyer lorsqu’un utilisateur recherche un emplacement de lieu de travail. Type de données : nombre |
| result.selection_type | Type de sélection à afficher dans les résultats de la recherche. Peut être l’une des options suivantes :
Type de données : chaîne |
| result.short_description | Brève description du module réservable. Type de données : chaîne |
| result.show_map_view | Marqueur indiquant s’il faut activer la vue de carte pour les modules réservables. Valeurs valides :
Type de données : booléennes |
| result.sys_id | Sys_id du module réservable. Type de données : chaîne |
| result.timeSlots | Détails sur les créneaux horaires associés à un module réservable. Type de données : tableau d’objets |
| result.timeSlots.name | Nom du créneau horaire Type de données : chaîne |
| result.timeSlots.short_description | Brève description du créneau horaire. Type de données : chaîne |
| result.timeSlots.slot_end | Heure de fin du créneau horaire Type de données : chaîne |
| result.timeSlots.slot_start | Heure de début du créneau. Type de données : chaîne |
| result.timeSlots.sys_id | Sys_id de l’enregistrement de créneau horaire. Situé dans la table Créneau horaire [sn_wsd_rsv_time_slot]. Type de données : chaîne |
| résultat.titre | Titre du module réservable. Type de données : chaîne |
| result.virtual_meeting_provider | Détails sur le fournisseur virtuel associé au module réservable. Type de données : objet |
| result.virtual_meeting_provider.display_value | Valeur d’affichage du fournisseur de réunion virtuelle. Type de données : chaîne |
| result.virtual_meeting_provider.sys_id | Sys_id du fournisseur de réunion virtuelle. Type de données : chaîne |
Demande cURL
Cet exemple de code montre comment demander un module réservable avec les données de l’arborescence des bâtiments.
curl "http://instance.servicenow.com/api/sn_wsd_rsv/reservable_module/5db44502dbb650106c731dcd13961937&is_buildings_tree_data_required=true" \
--request GET \
--header "Accept:application/json" \
--user "username":"password"
Corps de réponse :
{
"result": {
"sys_id": "5db44502dbb650106c731dcd13961937", "name": "Desks",
"title": "Desks",
"inline_title": "desk",
"font_awesome_icon": "fa-desktop",
"reservable_table": "sn_wsd_core_space",
"reservable_filter": "active=true^is_reservable=true^location_type=5f017383eb512010b89bfdfc9c5228c8^building.is_reservable=true^floor.is_reservable=true^EQ",
"short_description": "Reserve a single desks",
"reservable_type": "location",
"require_subject": null,
"require_cancel_notes": false,
"virtual_meeting_provider": {
"sys_id": "e33d9e6853c201103cf7ddeeff7b1205",
"display_value": "Template"
},
"allow_invitees": null,
"display_number_of_attendees": null,
"display_on_behalf_of": null,
"display_sensitivity": null,
"max_days_in_future": "90",
"allow_whole_day": "1",
"selection_type": "unit",
"reservable_container_field": null,
"reservable_quantity_field": null,
"apply_to_shift": null,
"max_occurrences": "90",
"enable_facet_filter": false,
"search_limit": 10000,
"enable_ical_generation": null,
"enable_group_reservations": null,
"enable_browse_near_a_person": "1",
"enable_browse_by_area": "1",
"enable_browse_by_neighborhood": "1",
"show_map_view": false,
"require_cc_dept_check": false,
"display_value": "Desks",
"browse_near_a_person_enabled": true,
"browse_by_area_enabled": true,
"browse_by_neighborhood_enabled": true,
"reservable_columns": [
"sys_id",
"external_id",
"email",
"name",
"title",
"description",
"image",
"number",
"site",
"campus",
"building",
"floor",
"area",
"capacity",
"reservable_quantity",
"location_type",
"order",
"requires_check_in",
"is_reservable"
],
"layout_mapping": {
"title": [
"name"
],
"description": [
"description"
],
"subtitle": [
"campus",
"building",
"floor",
"area"
],
"subtitle_asc": [
"area",
"floor",
"building",
"campus"
],
"image": "image",
"body": [
{
"label": "Capacity",
"icon": "fa-users",
"field": "capacity",
"field_to_display": ""
},
{
"label": "Standard services",
"icon": "fa-check",
"field": "standard_services",
"field_to_display": "name"
},
{
"label": "Reservable purposes",
"icon": "fa-tags",
"field": "reservable_purposes",
"field_to_display": "name"
}
]
},
"timeSlots": [
{
"sys_id": "d5331cf2dbb5f01038e42b24ca961906",
"name": "All day",
"short_description": "8am - 6pm",
"slot_start": "08:00",
"slot_end": "18:00"
},
{
"sys_id": "de131cf2dbb5f01038e42b24ca961931",
"name": "Before noon",
"short_description": "8am - 12pm",
"slot_start": "08:00",
"slot_end": "12:00"
},
{
"sys_id": "6e99ab5ddbb930102e8e853e68961929",
"name": "After noon",
"short_description": "1pm - 6pm",
"slot_start": "13:00",
"slot_end": "18:00"
}
],
"buildingSysIds": [
"9e0364cedb3650106c731dcd1396192b"
],
"buildingsTreeData": [
{
"isValid": true,
"label": "Europe",
"uId": "2d626c4edb3650106c731dcd1396194b",
"isSelectable": false,
"children": [
{
"isValid": true,
"label": "Western Europe",
"uId": "b17220cedb3650106c731dcd1396197a",
"isSelectable": false,
"children": [
{
"isValid": true,
"label": "Amsterdam Campus",
"uId": "44d2e0cedb3650106c731dcd13961988",
"isSelectable": false,
"children": [
{
"isValid": true,
"label": "AMS-B1",
"uId": "9e0364cedb3650106c731dcd1396192b",
"isSelectable": true,
"children": [],
"data": {
"sysId": "9e0364cedb3650106c731dcd1396192b",
"table": "sn_wsd_core_building",
"timezone": {
"value": "Europe/Amsterdam",
"displayValue": "Europe/Amsterdam"
}
}
}
],
"data": {
"sysId": "44d2e0cedb3650106c731dcd13961988",
"table": "sn_wsd_core_campus",
"timezone": null
}
}
],
"data": {
"sysId": "b17220cedb3650106c731dcd1396197a",
"table": "sn_wsd_core_site",
"timezone": null
}
}
],
"data": {
"sysId": "2d626c4edb3650106c731dcd1396194b",
"table": "sn_wsd_core_region",
"timezone": null
}
}
],
"reservable_views": [
{
"type": "card",
"label": "Card view",
"iconClass": "fa-th-large",
"isDefault": true,
"order": "1"
},
{
"type": "schedule",
"label": "Schedule view",
"iconClass": "fa-calendar-o",
"isDefault": false,
"order": "2"
}
],
"checkin_before_minutes": 30,
"reservation_paths": [
{
"value": "browse_all",
"displayValue": "Browse all"
},
{
"value": "browse_near_a_person",
"displayValue": "Browse near a person"
},
{
"value": "browse_by_area",
"displayValue": "Browse by area"
}
],
"override_approval_policy": "never_required"
}
}