API de service supplémentaire WSD

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 12 minutes de lecture
  • L’API Prestation de services de 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 travail.

    Pour accéder à cette API, l’appelant doit avoir le 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 Gestion des réservations du lieu de travail, voir Gestion des réservations du lieu de travail.

    Demande de service supplémentaire WSD : CORRECTIF /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}

    Remarque :
    Les versions disponibles sont spécifiées dans l’explorateur d’API REST. Pour les API REST basées sur un script, des informations de version supplémentaires sont disponibles sur le formulaire Service REST scripté.

    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. 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 de réservation pour lequel renvoyer les détails de la demande de service supplémentaire.

    Type de données : chaîne

    Table : Réservation du lieu de travail [sn_wsd_rsv_reservation]

    Tableau 2. Paramètres de requête
    Nom Description
    Néant
    Tableau 3. Paramètres du corps de la demande
    Nom Description
    Néant

    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}
    }
    résultat.reservableId
    Sys_id de l’emplacement du lieu de travail en fonction duquel la réservation est créée.

    Type de données : chaîne

    Table : Emplacement du lieu de travail [sn_wsd_core_workplace_location]

    résultat.reservationId Sys_id de la réservation pour laquelle renvoyer les détails de la demande de service supplémentaire.

    Type de données : chaîne

    Table : Réservation du lieu de travail [sn_wsd_rsv_reservation].

    résultat.serviceCatégories Détails sur la catégorie de service des services supplémentaires associés.

    Type de données : objet

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

    Type de données : chaîne

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

    Type de données : chaîne

    résultat.catégoriesservices.commentaire
    Commentaires sur la catégorie de service.

    Type de données : chaîne

    résultat.serviceCatégories.flexibleServices Détails sur chacun des éléments de service du lieu de travail ou des services supplémentaires demandés 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,
      }
    ]
    résultat.serviceCatégories.flexibleServices.capacité Capacité demandée lors de la demande d’élément de service du lieu de travail.

    Type de données : nombre

    résultat.catégoriesservices.servicesflexibles.capacitéactivée Marqueur indiquant si l’utilisateur qui crée la réservation peut spécifier la capacité du lieu de travail.
    Valeurs possibles :
    • vrai : l’utilisateur peut spécifier la capacité.
    • faux : l’utilisateur ne peut pas spécifier la capacité.

    Type de données : booléennes

    résultat.catégoriesservices.servicesflexibles.catégorie Sys_id de la catégorie de service du lieu de travail ou du service supplémentaire associé à la réservation.

    Type de données : chaîne

    résultat.catégoriesservices.servicesflexibles.catégorieCommentaire Commentaires supplémentaires sur la catégorie.

    Type de données : chaîne

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

    Type de données : chaîne

    résultat.catégoriesservices.servicesflexibles.commentaire
    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 ou du service supplémentaire associé sur le lieu de travail.

    Type de données : chaîne

    résultat.catégoriesservices.servicesflexibles.délai de livraison
    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, comme 2021-02-05T18:00:00Z

    résultat.serviceCategories.flexibleServices.flexibleServiceId
    Sys_id du service supplémentaire ou de l’élément de service sur le lieu de travail.

    Type de données : chaîne

    Table : élément de service du lieu de travail [sn_wsd_case_workplace_service_item]

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

    Type de données : chaîne

    résultat.serviceCatégories.flexibleServices.maxCapacity Capacité maximale du lieu de travail pouvant être demandée.

    Type de données : nombre

    résultat.catégoriesservices.servicesflexibles.quantité
    Nombre d’éléments de service supplémentaires demandés.

    Type de données : nombre

    résultat.catégoriesservices.servicesflexibles.quantitéactivée Marqueur indiquant si l’utilisateur créant la réservation peut spécifier la quantité d’éléments de service.
    Valeurs possibles :
    • vrai : l’utilisateur peut spécifier la quantité.
    • faux : l’utilisateur ne peut pas spécifier la quantité.

    Type de données : booléennes

    résultat.serviceCategories.flexibleServices.requestId Sys_id du service supplémentaire ou de l’élément de service sur le lieu de travail.

    Type de données : chaîne

    Table : Demande de service [sn_wsd_case_service_item_request]

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

    Type de données : chaîne

    résultat.catégoriesservices.servicesflexibles.servicePrice Coût de l’élément de service du lieu de travail ou du service supplémentaire.

    Type de données : chaîne

    résultat.serviceCatégories.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"
    }
    résultat.serviceCategories.flexibleServices.serviceTimes.endCleanup Date et heure auxquelles le nettoyage de l’élément de service du lieu de travail se terminera.

    Type de données : chaîne

    résultat.serviceCategories.flexibleServices.serviceTimes.endPreparation Date et heure auxquelles la préparation de l’élément de service du lieu de travail se terminera.

    Type de données : chaîne

    résultat.serviceCatégories.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

    résultat.serviceCatégories.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

    résultat.serviceCatégories.flexibleServices.état 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, par exemple Ouvert.

    Type de données : chaîne

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

    Type de données : chaîne

    résultat.serviceCatégories.flexibleServices.sous-catégorie 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 pour l’élément de service sur le lieu de travail ou le service supplémentaire, comme la disposition des chaises, les boissons ou l’assistance informatique.

    Type de données : chaîne

    résultat.serviceCatégories.flexibleServices.sous-catégorie.valeur Valeur interne de la sous-catégorie de l’élément de service sur le lieu de travail ou du service supplémentaire, tel que 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

    résultat.tempsservice 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"
    }
    résultat.serviceTimes.endCleanup Date et heure auxquelles le nettoyage de l’élément de service du lieu de travail se terminera.

    Type de données : chaîne

    résultat.tempsservice.finPréparation Date et heure auxquelles la préparation de l’élément de service du lieu de travail se terminera.

    Type de données : chaîne

    résultat.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

    résultat.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 sur le 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"

    Renvoyer les résultats :

    {
      "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 existante pour 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

    Remarque :
    Les versions disponibles sont spécifiées dans l’explorateur d’API REST. Pour les API REST basées sur un script, des informations de version supplémentaires sont disponibles sur le formulaire Service REST scripté.

    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. 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

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

    Type de données : booléennes

    Valeur par défaut : false

    ID réservableId Requis.
    Sys_id de l’emplacement du lieu de travail en fonction duquel la réservation est créée.

    Type de données : chaîne

    Table : Emplacement du lieu de travail [sn_wsd_core_workplace_location]

    ID de réservation Requis. Sys_id de la réservation pour laquelle ajouter les demandes de service supplémentaires.

    Type de données : chaîne

    Table : Réservation du lieu de travail [sn_wsd_rsv_reservation]

    serviceCategories Requis. Liste des éléments de service sur le 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.category Requis. Sys_id ou nom du service du lieu de travail à ajouter à la réservation.

    Type de données : chaîne

    Table : Service du lieu de travail [sn_wsd_case_workplace_service]

    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.
    • faux : 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, comme 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.

    Type de données : chaîne

    Table : Demander des éléments de service [sn_wsd_case_service_item_request]

    serviceCategories.flexibleServices.flexibleServiceId Requis. Sys_id du service supplémentaire ou de l’élément de service sur le lieu de travail.

    Type de données : chaîne

    Table : élément de service du lieu de travail [sn_wsd_case_workplace_service_item]

    serviceCategories.flexibleServices.quantity 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 pour 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

    "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.

    Type de données : chaîne

    Table : élément de service du lieu de travail [sn_wsd_case_workplace_service_item]

    résultat.extraServiceRequests.requestId Sys_id de l’élément de service supplémentaire qui a été ajouté à la demande.

    Type de données : chaîne

    Table : Demander des éléments de service [sn_wsd_case_service_item_request]

    résultat.reservableId
    Sys_id de l’emplacement du lieu de travail en fonction duquel la réservation est créée.

    Type de données : chaîne

    Table : Emplacement du lieu de travail [sn_wsd_core_workplace_location]

    résultat.reservationId Sys_id de la réservation pour laquelle la demande de service supplémentaire a été ajoutée.

    Type de données : chaîne

    Table : Réservation du lieu de travail [sn_wsd_rsv_reservation]

    Résultat.Réussite Marqueur indiquant si la demande de service supplémentaire a été ajoutée avec succès à la réservation.
    Valeurs possibles :
    • vrai : ajouté avec succès.
    • faux : é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'

    Renvoyer les résultats :

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