API de service supplémentaire WSD

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 12 minutes de lecture
  • L’API Prestation de services sur le lieu de travailde service supplémentaire (WSD) fournit des points de terminaison pour récupérer des services supplémentaires, tels que les dispositions d’emplacement et les services standard d’un emplacement de lieu de travail.

    Pour accéder à cette API, l’appelant doit disposer du rôle sn_wsd_core.workplace_user.

    Cette API s’exécute dans l’espace de noms sn_wsd_rsv . Pour accéder à cette API, le module d’extension Workplace Reservation Management (sn_wsd_rsv) doit être activé.

    Pour plus d’informations sur , reportez-vous à Gestion des réservations du lieu de travailla rubrique Gestion des réservations du lieu de travail.

    Demande de service supplémentaire WSD : PATCH/api/sn_wsd_rsv/wsd_extra_service_request/reservation/{sys_id}

    Renvoie les demandes de service supplémentaires associées à une seule réservation.

    Remarque :
    Ce point de terminaison ne fonctionne pas pour les réservations de groupe ou multiples.

    Format d'URL

    URL versionnée : /api/sn_wsd_rsv/{api_version}/wsd_extra_service_request/reservation/{sys_id}

    URL par défaut : /api/sn_wsd_rsv/wsd_extra_service_request/reservation/{sys_id}

    Paramètres de demande pris en charge

    Tableau 1. Paramètres de chemin d'accès
    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 de réservation pour lequel renvoyer les détails de la demande de service supplémentaire. Situé dans la table Réservation du lieu de travail [sn_wsd_rsv_reservation].

    Type de données : chaîne

    Tableau 2. Paramètres de requête
    Nom Description
    Aucun
    Tableau 3. Paramètres du corps de la demande
    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.

    Tableau 4. En-têtes de demandes
    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

    Tableau 5. En-têtes de réponses
    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.

    Tableau 6. Codes d'état
    Code d'état Description
    200 Réussi. La demande a été correctement traitée.
    400 Demande incorrecte. Le sys_id de réservation est manquant, non valide ou n’existe pas.
    401 Non autorisé. Les informations d'identification de l'utilisateur sont incorrectes ou n'ont pas été transmises.
    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

    Nom Description
    résultat Détails sur la demande de service supplémentaire spécifiée.

    Type de données : objet

    {
      "result": {
        "reservableId": "String",
        "reservationId": "String",
        "serviceCategories": {Object},
        "serviceTimes": {Object}
      }
    }
    result.reservableId
    Sys_id de l’emplacement du lieu de travail par rapport auquel la réservation est créée. Situé dans la table Emplacement du lieu de travail [sn_wsd_core_workplace_location].

    Type de données : chaîne

    result.reservationId Sys_id de la réservation pour laquelle renvoyer les détails de la demande de service supplémentaire. Situé dans la table Réservation du lieu de travail [sn_wsd_rsv_reservation].

    Type de données : chaîne

    result.serviceCategories Détails sur la catégorie de service des services supplémentaires associés.

    Type de données :

    "serviceCategories": {
      "String": {
        "categoryFriendlyName": "String",
        "categoryCurrencyCode": "String",
        "comment": "String",
        "flexibleServices": [Array],
        "serviceTimes": {Object}
      }
    }
    result.serviceCategories.categoryFriendlyName Nom convivial de la catégorie du service du lieu de travail ou du service supplémentaire, tel que l’aménagement de l’espace.

    Type de données : chaîne

    result.serviceCategories.categoryCurrencyCode Code de devise utilisé pour calculer le coût de l’élément de service du lieu de travail ou du service supplémentaire.

    Type de données : chaîne

    result.serviceCategories.comment
    Commentaires sur la catégorie de service.

    Type de données : chaîne

    résultat.servicesflexibles Détails sur chacun des éléments de service du lieu de travail ou du service supplémentaire demandé pour la réservation.

    Type de données : tableau d’objets

    "flexibleServices": [
      {
        "capacity": Number,
        "capacityEnabled": Boolean,
        "category": "String",
        "categoryComment": "String",
        "categoryFriendlyName": "String",
        "comment": "String",
        "currencyCode": "String",
        "deliveryTime": "String",
        "flexibleServiceId": "String",
        "flexibleServiceName": "String",
        "maxCapacity": Number,
        "quantity": Number,
        "quantityEnabled": Boolean,
        "requestId": "String",
        "serviceItemImage": "String",
        "servicePrice": Number,
        "serviceTimes": {Object},
        "state": {Object},
        "subCategory": {Object},
        "totalPrice": Number,
      }
    ]
    result.serviceCategories.flexibleServices.capacity Capacité demandée lors de la demande de l’élément de service du lieu de travail.

    Type de données : nombre

    result.serviceCategories.flexibleServices.capacityEnabled Marqueur indiquant si l’utilisateur qui crée la réservation peut spécifier la capacité du lieu de travail.
    Valeurs valides :
    • true : l’utilisateur peut spécifier la capacité.
    • false : l’utilisateur ne peut pas spécifier la capacité.

    Type de données : booléennes

    result.serviceCategories.flexibleServices.category Sys_id de la catégorie du service du lieu de travail ou du service supplémentaire associé à la réservation.

    Type de données : chaîne

    result.serviceCategories.flexibleServices.categoryComment Commentaires supplémentaires sur la catégorie.

    Type de données : chaîne

    result.serviceCategories.flexibleServices.categoryFriendlyName Nom convivial de la catégorie du service du lieu de travail ou du service supplémentaire, tel que l’aménagement de l’espace.

    Type de données : chaîne

    result.serviceCategories.flexibleServices.comment
    Commentaires supplémentaires sur l’élément de service du lieu de travail ou le service supplémentaire.

    Type de données : chaîne

    result.serviceCategories.flexibleServices.currencyCode Code de devise utilisé pour calculer le coût de l’élément de service du lieu de travail ou du service supplémentaire associé.

    Type de données : chaîne

    result.serviceCategories.flexibleServices.deliveryTime
    Délai de livraison de l’élément de service du lieu de travail ou du service supplémentaire.

    Type de données : chaîne

    Format : UTC - aaaa-mm-jjThh :mm :ssZ, par exemple 2021-02-05T18:00:00Z

    result.serviceCategories.flexibleServices.flexibleServiceId
    Sys_id du service supplémentaire ou de l’élément de service du lieu de travail. Situé dans la table [sn_wsd_case_workplace_service_item].

    Type de données : chaîne

    result.serviceCategories.flexibleServices.flexibleServiceName Nom du service supplémentaire associé ou de l’élément de service du lieu de travail.

    Type de données : chaîne

    result.serviceCategories.flexibleServices.maxCapacity Capacité maximale du lieu de travail qui peut être demandée.

    Type de données : nombre

    result.serviceCategories.flexibleServices.quantity
    Nombre d’éléments de service supplémentaires demandés.

    Type de données : nombre

    result.serviceCategories.flexibleServices.quantityEnabled Marqueur indiquant si l’utilisateur qui crée la réservation peut spécifier la quantité d’éléments de service.
    Valeurs valides :
    • true : l’utilisateur peut spécifier la quantité.
    • false : l’utilisateur ne peut pas spécifier la quantité.

    Type de données : booléennes

    result.serviceCategories.flexibleServices.requestId Sys_id du service supplémentaire ou de l’élément de service du lieu de travail. Situé dans la table [sn_wsd_case_service_item_request].

    Type de données : chaîne

    result.serviceCategories.flexibleServices.serviceItemImage Nom de fichier de l’image miniature de l’élément de service du lieu de travail.

    Type de données : chaîne

    result.serviceCategories.flexibleServices.servicePrice Coût de l’élément de service du lieu de travail ou du service supplémentaire.

    Type de données : chaîne

    result.serviceCategories.flexibleServices.serviceTimes Détails sur le temps nécessaire à la préparation et au nettoyage de l’élément de service du lieu de travail.

    Type de données : objet

    "serviceTimes": {
      "endCleanup": "String",
      "endPreparation": "String",
      "startCleanup": "String",
      "startPreparation": "String"
    }
    result.serviceCategories.flexibleServices.serviceTimes.endCleanup Date et heure auxquelles le nettoyage de l’élément de service du lieu de travail prendra fin.

    Type de données : chaîne

    result.serviceCategories.flexibleServices.serviceTimes.endPreparation Date et heure auxquelles la préparation de l’élément de service du lieu de travail s’arrête.

    Type de données : chaîne

    result.serviceCategories.flexibleServices.serviceTimes.startCleanup Date et heure auxquelles le nettoyage de l’élément de service du lieu de travail commencera.

    Type de données : chaîne

    result.serviceCategories.flexibleServices.serviceTimes.startPreparation Date et heure auxquelles la préparation de l’élément de service du lieu de travail commencera.

    Type de données : chaîne

    result.serviceCategories.flexibleServices.state Détails sur l’état actuel de l’élément de service du lieu de travail associé.

    Type de données : objet

    "state": {
      "display_value": "String",
      "value": "String"
    }
    result.serviceCategories.flexibleServices.state.display_value Valeur d’affichage de l’état de l’élément de service du lieu de travail, tel que Ouvert.

    Type de données : chaîne

    résultat.serviceCatégories.flexibleServices.état.valeur Valeur interne de l’élément de service de l’état du lieu de travail, par exemple Ouvert.

    Type de données : chaîne

    result.serviceCategories.flexibleServices.subCategory Détails sur la sous-catégorie de l’élément de service du lieu de travail associé.

    Type de données : objet

    "subCategory": {
      "display_value": "String",
      "value": "String"
    }
    result.serviceCategories.flexibleServices.subCategory.display_value Valeur d’affichage de la sous-catégorie de l’élément de service du lieu de travail ou du service supplémentaire, tel que la disposition des chaises, les boissons ou l’assistance informatique.

    Type de données : chaîne

    résultat.serviceCatégories.flexibleServices.subCatégorie.valeur Valeur interne de la sous-catégorie de l’élément de service ou du service supplémentaire sur le lieu de travail, comme chair_layout, boissons ou IT_support.

    Type de données : chaîne

    result.serviceCategories.flexibleServices.total_price Coût total de l’élément de service du lieu de travail ou du service supplémentaire pour la réservation.

    Type de données : nombre

    result.serviceTimes Détails sur le temps nécessaire à la préparation et au nettoyage de l’élément de service du lieu de travail.

    Type de données : objet

    "serviceTimes": {
      "endCleanup": "String",
      "endPreparation": "String",
      "startCleanup": "String",
      "startPreparation": "String"
    }
    result.serviceTimes.endCleanup Date et heure auxquelles le nettoyage de l’élément de service du lieu de travail prendra fin.

    Type de données : chaîne

    result.serviceTimes.endPreparation Date et heure auxquelles la préparation de l’élément de service du lieu de travail s’arrête.

    Type de données : chaîne

    result.serviceTimes.startCleanup Date et heure auxquelles le nettoyage de l’élément de service du lieu de travail commencera.

    Type de données : chaîne

    result.serviceTimes.startPreparation Date et heure auxquelles la préparation de l’élément de service du lieu de travail commencera.

    Type de données : chaîne

    Demande cURL

    Cet exemple de code montre comment demander les détails des services supplémentaires ou des éléments de service du lieu de travail pour une réservation.

    curl "http://instance.servicenow.com/api/sn_wsd_rsv/wsd_extra_service_request/reservation/383e36c1536f01103cf7ddeeff7b1245" \
    --request GET \
    --header "Accept:application/json" \
    --user "username": "password"

    Résultats renvoyés :

    {
      "result": {
        "reservationId": "383e36c1536f01103cf7ddeeff7b1245",
        "serviceTimes": {
          "startPreparation": "2022-05-17T11:45:00ZZ",
          "endPreparation": "2022-05-17T12:00:00ZZ",
          "startCleanup": "2022-05-17T13:00:00ZZ",
          "endCleanup": "2022-05-17T13:15:00ZZ"
        },
        "reservableId": "02000d4edb7650106c731dcd13961914",
        "serviceCategories": {
          "50723fbf07100110c9b36b6e0ad300b4": {
            "serviceTimes": {
              "startPreparation": "2022-05-17T11:45:00Z",
              "endPreparation": "2022-05-17T12:00:00Z",
              "startCleanup": "2022-05-17T13:00:00Z",
              "endCleanup": "2022-05-17T13:15:00Z"
            },
            "flexibleServices": [
              {
                "requestId": "743eb605536f01103cf7ddeeff7b126b",
                "category": "50723fbf07100110c9b36b6e0ad300b4",
                "categoryComment": "test2",
                "subCategory": {
                  "value": "chair_layout",
                  "display_value": "Chair layout"
                },
                "categoryFriendlyName": "Space arrangement",
                "servicePrice": 0,
                "serviceItemImage": "4c6a0d7107600110c9b36b6e0ad300fc.iix",
                "currencyCode": "GBP",
                "totalPrice": 0,
                "flexibleServiceId": "21e2c08407600110c9b36b6e0ad3007c",
                "flexibleServiceName": "Theater Style",
                "deliveryTime": "2022-05-17 12:00:00",
                "comment": "test1",
                "quantity": 1,
                "capacity": 1,
                "quantityEnabled": false,
                "capacityEnabled": true,
                "maxCapacity": null,
                "state": {
                  "value": "2",
                  "display_value": "Work in Progress"
                },
                "serviceTimes": {
                  "startPreparation": "2022-05-17T11:45:00Z",
                  "endPreparation": "2022-05-17T12:00:00Z",
                  "startCleanup": "2022-05-17T13:00:00Z",
                  "endCleanup": "2022-05-17T13:15:00Z"
                }
              }
            ],
            "comment": "test2",
            "categoryFriendlyName": "Space arrangement",
            "categoryCurrencyCode": "GBP"
          }
        }
      }
    }

    Demande de service supplémentaire WSD : PATCH/api/sn_wsd_rsv/wsd_extra_service_request/submit

    Ajoute une nouvelle demande de service supplémentaire ou met à jour une demande de service supplémentaire existante à une réservation unique spécifiée.

    Remarque :
    Ce point de terminaison ne fonctionne pas pour les réservations de groupe ou multiples.

    Format d'URL

    URL versionnée : /api/sn_wsd_rsv/{api_version}/wsd_extra_service_request/submit

    URL par défaut : /api/sn_wsd_rsv/wsd_extra_service_request/submit

    Paramètres de demande pris en charge

    Tableau 7. Paramètres de chemin d'accès
    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

    Tableau 8. Paramètres de requête
    Nom Description
    Aucun
    Tableau 9. Paramètres du corps de la demande
    Nom Description
    reservationDateTimeChanged Marqueur indiquant si la date et l’heure de réservation ont changé.
    Valeurs valides :
    • true : la date et l’heure de réservation ont été modifiées.
    • faux : la date et l’heure de réservation n’ont pas été modifiées.

    Type de données : booléennes

    Valeur par défaut : false

    ID réservable Requis.
    Sys_id de l’emplacement du lieu de travail par rapport auquel la réservation est créée. Situé dans la table Emplacement du lieu de travail [sn_wsd_core_workplace_location].

    Type de données : chaîne

    ID de réservation Requis. Sys_id de la réservation pour laquelle ajouter les demandes de service supplémentaire. Situé dans la table Réservation du lieu de travail [sn_wsd_rsv_reservation].

    Type de données : chaîne

    Catégories de services Requis. Liste des éléments de service du lieu de travail ou des services supplémentaires à ajouter à la réservation.

    Type de données : tableau d’objets

    "serviceCategories": [
      {
        "category": "String",
        "comment": "String",
        "flexibleServices": [Array]
      }
    ]
    serviceCategories.catégorie Requis. Sys_id ou nom du service du lieu de travail à ajouter à la réservation. Situé dans la table Service du lieu de travail [sn_wsd_case_workplace_service].

    Type de données : chaîne

    serviceCategories.comment Requis.
    Commentaires sur la catégorie de service.

    Type de données : chaîne

    serviceCategories.flexibleServices Requis. Détails sur chacun des éléments de service du lieu de travail ou des services supplémentaires à ajouter ou annuler à partir de la réservation.

    Type de données : tableau d’objets

    "flexibleServices": [
      {
        "cancelFlag": Boolean,
        "comment": "String",
        "deliveryTime": "String",
        "extraServiceRequestId": "String",
        "flexibleServiceId": "String",
        "quantity": Number
      }
    ]
    serviceCategories.flexibleServices.cancelFlag Marqueur indiquant s’il faut annuler la demande de service supplémentaire spécifiée.
    Valeurs possibles :
    • vrai : supprimer la demande de service supplémentaire associée.
    • false : aucune opération.

    Type de données : booléennes

    Valeur par défaut : false

    serviceCategories.flexibleServices.comment Requis.
    Commentaires supplémentaires sur l’élément de service du lieu de travail ou le service supplémentaire.

    Type de données : chaîne

    serviceCategories.flexibleServices.deliveryTime Requis.
    Délai de livraison de l’élément de service du lieu de travail ou du service supplémentaire.

    Type de données : chaîne

    Format : UTC - aaaa-mm-jjThh :mm :ssZ, par exemple 2021-02-05T18:00:00Z

    serviceCategories.flexibleServices.extraServiceRequestId Sys_id de la demande de service supplémentaire existante. Fournissez ce paramètre pour mettre à jour une demande de service supplémentaire existante. Situé dans la table Éléments de service de demande [sn_wsd_case_service_item_request].

    Type de données : chaîne

    serviceCategories.flexibleServices.flexibleServiceId Requis. Sys_id du service supplémentaire ou de l’élément de service du lieu de travail. Situé dans la table Élément de service du lieu de travail [sn_wsd_case_workplace_service_item].

    Type de données : chaîne

    serviceCatégories.Servicesflexibles.quantité Requis.
    Nombre d’éléments de service supplémentaires demandés.

    Type de données : nombre

    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.

    Tableau 10. En-têtes de demandes
    En-tête Description
    Accepter Format de données du corps de la demande. Types pris en charge : application/json, application/xml ou, text/xml.

    Valeur par défaut : application/json

    Content-Type Format de données du corps de la demande. Prend uniquement en charge application/json.
    Tableau 11. En-têtes de réponses
    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.

    Tableau 12. Codes d'état
    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.
    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

    Nom Description
    résultat Renvoyer les résultats de la demande.

    Type de données : objet

    "result": {
      "extraServiceRequests": [Array],
      "reservableId": "String",
      "reservationId": "String",
      "success": Boolean
    }
    résultat.extraServiceRequests Détails sur la demande de service supplémentaire ajoutée ou annulée.

    Type de données : tableau d’objets

    "result": {
      "extraServiceRequests": [
        {
          "flexibleServiceId": "String",
          "requestId": "String"
        }
      ]
    }
    résultat.extraServiceRequests.flexibleServiceId Sys_id de la demande d’élément de service supplémentaire qui a été ajoutée à la réservation. Situé dans la table Élément de service du lieu de travail [sn_wsd_case_workplace_service_item].

    Type de données : chaîne

    result.extraServiceRequests.requestId Sys_id de l’élément de service supplémentaire qui a été ajouté à la demande. Situé dans la table Éléments de service de demande [sn_wsd_case_service_item_request].

    Type de données : chaîne

    result.reservableId
    Sys_id de l’emplacement du lieu de travail par rapport auquel la réservation est créée. Situé dans la table Emplacement du lieu de travail [sn_wsd_core_workplace_location].

    Type de données : chaîne

    result.reservationId Sys_id de la réservation pour laquelle la demande de service supplémentaire a été ajoutée. Situé dans la table Réservation du lieu de travail [sn_wsd_rsv_reservation].

    Type de données : chaîne

    résultat.succès Marqueur indiquant si la demande de service supplémentaire a été ajoutée avec succès à la réservation.
    Valeurs possibles :
    • true : ajouté avec succès.
    • false : échec de l’opération.

    Type de données : booléennes

    Demande cURL

    L’exemple de code suivant montre comment ajouter une demande d’élément de service supplémentaire à une réservation.

    curl "http://instance.servicenow.com/api/sn_wsd_rsv/wsd_extra_service_request/submit" \
    --request POST \
    --header "Accept:application/json" \
    --header "Concept-Type:application/json" \
    --user 'username':'password'

    Résultats renvoyés :

    {
      "result": {
        "reservationId": "2dc2efdf531701103cf7ddeeff7b1227",
        "reservableId": "02000d4edb7650106c731dcd13961914",
        "extraServiceRequests": [
          {
            "requestId": "bea46dbc53e701103cf7ddeeff7b1236",
            "flexibleServiceId": "e2ecf7b307500110c9b36b6e0ad30033"
          }
    ],
        "success": true
      }
    }