API de service supplémentaire WSD

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 11 minutes de lecture
  • L’API Workplace Service Deliveryde service supplémentaire (WSD) vous permet de récupérer des services supplémentaires, tels que les dispositions d’emplacement et les services standard d’un emplacement du 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 Workplace Reservation Management, consultez Workplace Reservation Management.

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

    Renvoie les demandes de service supplémentaire 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
    Néant
    Tableau 3. Paramètres de corps de 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 une 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 une 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 pour lequel 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

    résultat.catégories de service 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.servicesCategories.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

    result.flexibleServices 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,
      }
    ]
    résultat.catégoriesService.Servicesflexibles.capacité 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

    résultat.catégoriesService.Servicesflexibles.catégorie 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.servicesCategories.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

    résultat.catégoriesService.Servicesflexibles.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.servicesCategories.flexibleServices.maxCapacity Capacité maximale de l’espace de travail pouvant être demandée.

    Type de données : nombre

    résultat.catégoriesService.Servicesflexibles.quantité
    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.servicesCategories.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 du fichier de la 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 prendra fin.

    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 commencera la préparation de l’élément de service du lieu de travail.

    Type de données : chaîne

    résultat.catégoriesService.Servicesflexibles.é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.catégoriesService.Servicesflexibles.état.valeur Valeur interne de l’état de l’élément de service 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 pour l’élément de service du lieu de travail ou le service supplémentaire, tel que la disposition des chaises, les boissons ou l’assistance informatique.

    Type de données : chaîne

    résultat.servicesCatégories.flexibleServices.subCatégorie.valeur Valeur interne de la sous-catégorie de l’élément de service ou du service supplémentaire du 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"
    }
    résultat.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 prendra fin.

    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 commencera la préparation de l’élément de service du lieu de travail.

    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
    Néant
    Tableau 9. Paramètres de corps de demande
    Nom Description
    ID réservable Requis.
    Sys_id de l’emplacement du lieu de travail pour lequel 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 à laquelle ajouter les demandes de service supplémentaires. Situé dans la table Réservation du lieu de travail [sn_wsd_rsv_reservation].

    Type de données : chaîne

    catégories de service 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.category Requis. Sys_id ou nom du service du lieu de travail à ajouter à la réservation. Situé dans la table [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 si la demande de service supplémentaire spécifiée doit être annulée.
    Valeurs possibles :
    • true : supprime 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 [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 [sn_wsd_case_workplace_service_item].

    Type de données : chaîne

    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 une 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 une 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 Résultats de la demande.

    Type de données : objet

    "result": {
      "extraServiceRequests": [Array],
      "reservableId": "String",
      "reservationId": "String",
      "success": Boolean
    }
    result.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"
        }
      ]
    }
    result.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 [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 [sn_wsd_case_service_item_request].

    Type de données : chaîne

    result.reservableId
    Sys_id de l’emplacement du lieu de travail pour lequel 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
      }
    }