API du module réservable WSD
L’API Prestation de services de lieu de travail de module réservable (WSD) fournit des points de terminaison permettant de 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 disposer du 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 plus d’informations sur , reportez-vous à Gestion des réservations du lieu de travailWorkplace 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. Par 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. Type de données : chaîne Table : module réservable [sn_wsd_rsv_reservable_module] |
| Nom | Description |
|---|---|
| is_buildings_tree_data_required | Marqueur indiquant s’il faut renvoyer les données du 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. Pour plus d’informations sur les réservations d’espace 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 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 la 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 de l’espace - sn_wsd_spc_mgmt est installé. Marqueur indiquant si les utilisateurs sont en mesure d’effectuer une recherche 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 localisés par une personne spécifiée. Valeurs valides :
Type de données : booléennes |
| résultat.buildingTreeData | Uniquement renvoyé 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 nœud children[ ] reflète un niveau/une hiearchie de bâtiment différent :
Type de données : tableau d’objets |
| résultat.bâtimentsDonnéesArbre.enfants | 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 construction 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 |
| résultat.bâtimentsDonnéesArbre.enfants.données.table | Nom de la table dans laquelle se trouve l’enregistrement d’entité de 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 | Valeur d’affichage dans l’enregistrement du 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.buildingsTreeData.children.isSelectable | 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 |
| result.buildingsTreeData.children.label | Nom de l’entité du bâtiment. Type de données : chaîne |
| result.buildingsTreeData.children.uId | Sys_id de l’enregistrement de l’entité du bâtiment associé. Type de données : chaîne |
| résultat.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 qui indique si les utilisateurs peuvent définir la sensibilité de la réservation, par exemple normale ou privée. 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 localisé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 attachée 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 du lieu de travail. Type de données : chaîne |
| result.layout_mapping | Détails sur la structure du mappage de disposition des emplacements. Utilisez ces données pour présenter les informations dans l’interface utilisateur. Type de données : objet |
| result.layout_mapping.corps | Espace réservé pour le mappage des données d’interface utilisateur front-end. Type de données : tableau d’objets |
| result.layout_mapping.corps.champ | Espace réservé pour le mappage des données d’interface utilisateur front-end. Type de données : chaîne |
| result.layout_mapping.body.field_to_display | Espace réservé pour le mappage des données d’interface utilisateur front-end. Type de données : chaîne |
| result.layout_mapping.body.icon | Espace réservé pour le mappage des données d’interface utilisateur front-end. Type de données : chaîne |
| result.layout_mapping.étiquette.corps | Espace réservé pour le mappage des données d’interface utilisateur front-end. Type de données : chaîne |
| result.layout_mapping.description | Espace réservé pour le mappage des données d’interface utilisateur front-end. 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 d’interface utilisateur front-end. Type de données : chaîne |
| result.layout_mapping.sous-titre | Espace réservé pour le mappage des données d’interface utilisateur front-end. Type de données : tableau |
| result.layout_mapping.subtitle_asc | Espace réservé pour le mappage des données d’interface utilisateur front-end. Type de données : tableau |
| result.layout_mapping.titre | Espace réservé pour le mappage des données d’interface utilisateur front-end. Type de données : tableau |
| result.max_jours_dans_l’avenir | Nombre maximal de jours dans le futur où 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 |
| résultat.nbhBuildingIds | Uniquement renvoyé si le module d’extension Gestion des espaces est installé, si le browse_by_neighborhood_enabled paramètre est défini sur vrai et si le neighborhood 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 |
| résultat.nbhBâtimentsData | Uniquement renvoyé si le module d’extension Gestion des espaces est installé, si le browse_by_neighborhood_enabled paramètre est défini sur vrai et si le neighborhood 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 construction contient également une liste de sys_ids des étages correspondants disponibles pour le bâtiment. Par exemple : Type de données : tableau d’objets Table : les enregistrements associés au bâtiment sys_ids se trouvent dans la table Bâtiment [sn_wsd_core_building]. Les enregistrements associés aux sys_ids d’étage se trouvent dans la table Étage [sn_wsd_core_floor]. |
| résultat.nbhBuildingsTreeData | Uniquement renvoyé si le module d’extension Gestion des espaces est installé, si le browse_by_neighborhood_enabled paramètre est défini sur vrai et si le neighborhood 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 :
|
| résultat.nbhBuildingsTreeData.enfants | Décrit la hiérarchie des enfants associés au bâtiment. Chaque nœud children[] reflète un niveau/hiérarchie de bâtiment différent :
Type de données : tableau d’objets 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 |
| résultat.nbhBuildingsTreeData.data.sysId | Sys_id de l’enregistrement d’entité associé. Type de données : chaîne |
| résultat.nbhBuildingsTreeData.data.table | Table dans laquelle se trouve l’enregistrement associé. Type de données : chaîne |
| résultat.nbhBuildingsTreeData.data.timezone | Informations sur le fuseau horaire dans lequel réside l’entité associée. Type de données : objet |
| résultat.nbhBuildingsTreeData.data.timezone.displayValue | Valeur de fuseau horaire à utiliser dans une interface utilisateur. Type de données : chaîne |
| résultat.nbhBuildingsTreeData.data.timezone.value | Valeur du fuseau horaire interne. Type de données : chaîne |
| résultat.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 |
| résultat.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 |
| résultat.nbhBuildingsTreeData.label | Nom de la vue réservable. Type de données : chaîne |
| résultat.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. Choix :
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 y a une incompatibilité de centre de coûts ou de département entre l’élément d’espace de travail et l’utilisateur connecté. Valeurs valides :
Type de données : booléennes |
| result.require_subject | Marqueur qui indique 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. Type de données : tableau Table : Emplacement du lieu de travail [sn_wsd_core_workplace_location] |
| 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, consultez 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. Type de données : objet Table : Vue réservable [sn_wsd_rsv_reservable_view] |
| 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.étiquette | 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 d’un même numéro de commande, un ordre aléatoire lui est attribué. Type de données : nombre |
| result.reservable_views.type | Nom du 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 Parcourir tout, Explorer à proximité d’une personne. Type de données : tableau d’objets |
| result.reservation_paths.displayValue | Valeur d’affichage du chemin de réservation, telle que « 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 |
| résultat.timeSlots | Détails sur les créneaux horaires associés pour 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 du créneau horaire. Type de données : chaîne Table : Créneau horaire [sn_wsd_rsv_time_slot] |
| 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.valeur_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 la 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"
}
}