API des invités de réservation WSD

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 11 minutes de lecture
  • L’API Prestation de services sur le lieu de travaild’invités de réservation (WSD) fournit des points de terminaison permettant d’ajouter des invités aux réservations, d’extraire les invités d’une réservation et de réaffecter les invités d’une réservation.

    Pour accéder à cette API, l’appelant doit avoir le rôle sn_wsd_core.workplace_user et le module d’extension Workplace Reservation Management (sn_wsd_rsv) doit être activé.

    Cette API s’exécute dans l’espace de noms sn_wsd_rsv .

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

    Invités de la réservation WSD : GET /api/sn_wsd_rsv/wsd_reservation_invitees/reservation/{sys_id}

    Récupère les détails sur les invités associés à une réservation spécifiée.

    Format d'URL

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

    URL par défaut : /api/sn_wsd_rsv/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 la réservation pour laquelle renvoyer les détails de l’invité.

    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.
    401 Non autorisé. Les informations d'identification de l'utilisateur sont incorrectes ou n'ont pas été transmises.
    404 Introuvable. L’élément demandé est introuvable.
    500 Erreur interne du serveur. Une erreur inattendue s'est produite lors du traitement de la demande. La réponse contient des informations supplémentaires sur l'erreur.

    Paramètres du corps de réponse

    Nom Description
    résultat Renvoyer les résultats pour les invités associés à la réservation spécifiée.

    Type de données : objet

    {
      "result": {
        "invitees": [Array],
        "reservationId": "String",
        "reservationSubType": "String",
        "success": Boolean
      }
    }
    result.invités Détails sur les invités associés à la réservation.

    Type de données : tableau d’objets

    "invitees": [
      {
        "email": "String",
        "firstName": "String",
        "inviteeId": "String",
        "inviteState": {Object},
        "inviteeType": "String",
        "isVIP": Boolean,
        "isWifiRequired": Boolean,
        "isParkingRequired": Boolean,
        "lastName": "String",
        "licensePlate": "String",
        "location": {Object},
        "name": "String",
        "org": "String",
        "parkingType": "String",
        "phoneNumber": "String",
        "privateNotes": "String",
        "reservationId": "String",
        "reservationInviteeId": "String",
        "title": "String",
        "visitorType": "String"
      }
    ]
    result.invitees.email
    Adresse e-mail de l’invité.

    Type de données : chaîne

    result.invitees.firstName Prénom de l’invité.

    Type de données : chaîne

    result.invitees.inviteeId
    Sys_id de l’enregistrement utilisateur de l’employé. Situé dans la table Utilisateur [sys_user].

    Type de données : chaîne

    result.invitees.inviteState Détails sur l’état actuel de l’invité pour la réservation.

    Type de données : objet

    "inviteState": {
      "displayValue": "String",
      "value": "String"
    }
    result.invitees.inviteState.displayValue Valeur d’affichage de l’état de l’invité, telle que Nouveau ou Supprimé.

    Type de données : chaîne

    result.invitees.inviteState.value Valeur interne de l’état d’invité.

    Type de données : chaîne

    result.invitees.inviteeType
    Type d’invité.
    Valeurs valides : (sensible à la casse)
    • employé
    • visiteur

    Type de données : chaîne

    result.invitees.isVIP Marqueur indiquant si l’invité est classifié comme VIP.
    Valeurs valides :
    • true : l’invité est un VIP.
    • faux : l’invité n’est pas un VIP.

    Type de données : booléennes

    result.invitees.isWifiRequired Marqueur indiquant si le mot de passe WIFI doit être fourni au visiteur à l’entrée.
    Valeurs valides :
    • vrai : fournissez un mot de passe WIFI.
    • faux : ne fournissez pas de mot de passe WIFI.

    Type de données : booléennes

    result.invitees.isParkingRequired Marqueur indiquant si l’invité a besoin d’un parking.
    Valeurs valides :
    • true : Stationnement nécessaire.
    • faux : le stationnement n’est pas nécessaire.

    Type de données : booléennes

    result.invitees.lastName Nom de famille de l’invité.

    Type de données : chaîne

    résultat.invitées.plaque d’immatriculation Plaque d’immatriculation de l’invité.

    Type de données : chaîne

    résultat.invités.emplacement Détails sur l’emplacement du lieu de travail de l’invité.

    Type de données : objet

     "location": {
      "displayName": "String",
      "sysId": "String"
    }
    result.invitees.location.displayName Nom d’affichage de l’emplacement du lieu de travail de l’invité, par exemple Dublin.

    Type de données : chaîne

    result.invitees.location.sysId Sys_id de l’emplacement du lieu de travail de l’invité. Situé dans la table Emplacement du lieu de travail [sn_wsd_core_worplace_location].

    Type de données : chaîne

    result.invitees.name Nom de l’invité.

    Type de données : chaîne

    result.invitees.org Organisation de l’invité.

    Type de données : chaîne

    result.invitees.parkingType Type de stationnement requis pour l’invité.
    Valeurs valides : (sensible à la casse)
    • ev_parking
    • aucun
    • normal_parking
    • van_accessible_parking

    Type de données : chaîne

    result.invitees.phoneNumber Numéro de téléphone de l’invité.

    Type de données : chaîne

    result.invitees.privateNotes Toutes les notes supplémentaires fournies par l’invité.

    Type de données : chaîne

    result.invitees.reservationId Sys_id de la réservation à laquelle l’invité est associé. Situé dans la table Réservation du lieu de travail [sn_wsd_rsv_reservation].

    Type de données : chaîne

    result.invitees.reservationInviteeId

    Sys_id de l’invité de la réservation pour le visiteur. Situé dans la table Invité de la réservation [sn_wsd_rsv_m2m_reservation_invitee].

    Type de données : chaîne

    résultat.invités.titre Titre de l’invité.

    Type de données : chaîne

    result.invitees.visitorType Type d’invité.
    Valeurs valides : (sensible à la casse)
    • client
    • entrepreneur
    • friend_family
    • others

    Type de données : chaîne

    result.reservationId Sys_id de la réservation à laquelle l’invité est associé. Situé dans la table Réservation du lieu de travail [sn_wsd_rsv_reservation].

    Type de données : chaîne

    résultat.reservationSubType Sous-type de l’enregistrement de réservation, tel que mono ou multi-enfant.

    Type de données : chaîne

    résultat.succès Marqueur indiquant si l’appel a réussi.
    Valeurs possibles :
    • vrai : l’appel de point de terminaison a réussi.
    • faux : échec de l’appel du point de terminaison.

    Type de données : booléennes

    Demande cURL

    L’exemple de code suivant montre comment récupérer les invités pour une réservation.

    curl 
    "http://instance.servicenow.com/api/sn_wsd_rsv/wsd_reservation_invitees/reservation/17979dc9536b01103cf7ddeeff7b12b3" \
    --request GET \
    --header "Accept:application/json" \
    --user 'username':'password'
    

    Résultats renvoyés :

    {
      "result": {
        "success": true,
        "reservationId": "17979dc9536b01103cf7ddeeff7b12b3",
        "reservationSubType": "single",
        "invitees": [
          {
            "reservationId": "17979dc9536b01103cf7ddeeff7b12b3",
            "location": {
              "sysId": "19efb84edb7650106c731dcd1396193c",
              "displayName": "Dublin"
            },
            "reservationInviteeId": "1f97d58d53e701103cf7ddeeff7b129a",
            "inviteeType": "employee",
            "inviteState": {
              "displayValue": "New",
              "value": "new"
            },
            "inviteeId": "6816f79cc0a8016401c5a33be04be441",
            "name": "System Administrator",
            "email": "admin@example.com"
          },
          {
            "reservationId": "17979dc9536b01103cf7ddeeff7b12b3",
            "location": {
              "sysId": "19efb84edb7650106c731dcd1396193c",
              "displayName": "Dublin"
            },
            "reservationInviteeId": "8ee7ddc9536b01103cf7ddeeff7b1219",
            "inviteeType": "employee",
            "inviteState": {
              "displayValue": "New",
              "value": "new"
            },
            "inviteeId": "62826bf03710200044e0bfc8bcbe5df1",
            "name": "Abel Tuter",
            "email": "abel.tuter@example.com"
          },
          {
            "reservationId": "17979dc9536b01103cf7ddeeff7b12b3",
            "location": {
              "sysId": "19efb84edb7650106c731dcd1396193c",
              "displayName": "Dublin"
            },
            "reservationInviteeId": "4ae7d10d536b01103cf7ddeeff7b126b",
            "inviteeType": "visitor",
            "inviteState": {
              "displayValue": "New",
              "value": "new"
            },
            "inviteeId": "86e7d10d536b01103cf7ddeeff7b1267",
            "firstName": "Visitor",
            "lastName": "User",
            "name": "Visitor User",
            "email": "visitoruser@example.com",
            "phoneNumber": "+919876543210",
            "isVIP": true,
            "parkingType": "normal_parking",
            "licensePlate": "1234",
            "isParkingRequired": true,
            "org": "Senow",
            "visitorType": "contractor",
            "title": "President",
            "isWifiRequired": true,
            "privateNotes": "Visiting"
          }
        ]
      }
    }

    Invités de la réservation WSD : POST /api/sn_wsd_rsv/wsd_reservation_invitees/reassign

    Réaffecte les invités spécifiés d’une réservation à une autre.

    Format d'URL

    URL versionnée : /api/sn_wsd_rsv/{api_version}/wsd_reservation_invitees/reassign

    URL par défaut : /api/sn_wsd_rsv/wsd_reservation_invitees/reassign

    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
    ID de réservation Requis. Sys_id de la réservation pour laquelle réaffecter les invités. Situé dans la table Réservation du lieu de travail [sn_wsd_rsv_reservation].

    Type de données : chaîne

    reservationInvitees Liste des invités à réaffecter à la réservation identifiée dans le reservationId paramètre. Situé dans la table Invité de la réservation [sn_wsd_rsv_m2m_reservation_invitee].

    Cette opération supprime les invités spécifiés d’une réservation antérieure dans laquelle ils étaient présents selon la table des invités de la réservation et les déplace vers cette réservation.

    Type de données : tableau de chaînes

    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.
    401 Non autorisé. Les informations d'identification de l'utilisateur sont incorrectes ou n'ont pas été transmises.
    404 Introuvable. L’élément demandé est introuvable.
    500 Erreur interne du serveur. Une erreur inattendue s'est produite lors du traitement de la demande. La réponse contient des informations supplémentaires sur l'erreur.

    Paramètres du corps de réponse

    Nom Description
    résultat Détails sur la réaffectation de l’invité.

    Type de données : objet

    "result": {
       "reservationInviteeIds": Array,
       "success": Boolean
    }
    result.reservationInviteeIds Liste des sys_ids des invités de la réservation qui ont été réaffectés à la réservation spécifiée.

    Type de données : tableau de chaînes

    résultat.succès Marqueur indiquant si les invités ont été réaffectés à la réservation.
    Valeurs possibles :
    • true : les invités ont été réaffectés avec succès.
    • faux : les invités n’ont pas été réaffectés.

    Type de données : booléennes

    Demande cURL

    L’exemple de code suivant montre comment réaffecter des invités à une réservation.

    curl "http://instance.servicenow.com/api/sn_wsd_rsv/wsd_reservation_invitees/reassign" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
    \"reservationId\":\"3984e6c1532f01103cf7ddeeff7b129b\",
    \"reservationInvitees\":{\"aa31427f531701103cf7ddeeff7b1243\",\"e231427f531701103cf7ddeeff7b1243\"}
    }" \
    --user 'username':'password'

    Résultats renvoyés :

    {
      "result": {
        "success": true,
        "reservationInviteeIds": [
          "aa31427f531701103cf7ddeeff7b1243",
          "e231427f531701103cf7ddeeff7b1243"
        ]
      }
    }

    Invités de la réservation WSD : POST /api/sn_wsd_rsv/wsd_reservation_invitees/submit

    Ajoute les invités spécifiés à une réservation spécifiée.

    Format d'URL

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

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

    Paramètres de demande pris en charge

    Tableau 13. 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 14. Paramètres de requête
    Nom Description
    Aucun
    Tableau 15. Paramètres de corps de demande (XML ou JSON)
    Nom Description
    Invités Liste des invités à ajouter à la réservation spécifiée.

    Type de données : objet

    "invitees": [
      {
        "email": "String",
        "firstName": "String",
        "inviteeId": "String",
        "inviteeType": "String",
        "isVIP": Boolean,
        "isWifiRequired": Boolean,
        "lastName": "String",
        "licensePlate": "String",
        "org": "String",
        "parkingType": "String",
        "phone": "String",
        "privateNotes": "String",
        "title": "String",
        "visitorType": "String"
      }
    ]
    invitees.email Requis quand inviteeType est « visiteur ».
    Adresse e-mail de l’invité.

    Type de données : chaîne

    invitées.firstName Prénom de l’invité.

    Type de données : chaîne

    invitees.inviteeId Obligatoire si inviteType est « employé ».
    Sys_id de l’enregistrement utilisateur de l’employé. Situé dans la table Utilisateur [sys_user].

    Type de données : chaîne

    invitees.inviteeType Requis.
    Type d’invité.
    Valeurs valides : (sensible à la casse)
    • employé
    • visiteur

    Type de données : chaîne

    invitées.isVIP Marqueur indiquant si l’invité est classifié comme VIP.
    Valeurs valides :
    • true : l’invité est un VIP.
    • faux : l’invité n’est pas un VIP.

    Type de données : booléennes

    invitees.isWifiRequired Marqueur indiquant si le mot de passe WIFI doit être fourni au visiteur à l’entrée.
    Valeurs valides :
    • vrai : fournissez un mot de passe WIFI.
    • faux : ne fournissez pas de mot de passe WIFI.

    Type de données : booléennes

    invitées.lastName Nom de famille de l’invité.

    Type de données : chaîne

    invités.plaque d’immatriculation Plaque d’immatriculation de l’invité.

    Type de données : chaîne

    invitees.org Organisation de l’invité.

    Type de données : chaîne

    invitées.parkingType Type de stationnement requis pour l’invité.
    Valeurs valides : (sensible à la casse)
    • ev_parking
    • aucun
    • normal_parking
    • van_accessible_parking

    Type de données : chaîne

    invitées.phone Numéro de téléphone de l’invité.

    Type de données : chaîne

    invités.privateNotes Toutes les notes supplémentaires fournies par l’invité.

    Type de données : chaîne

    invités.title Titre de l’invité.

    Type de données : chaîne

    invitees.visitorType Type d’invité.
    Valeurs valides : (sensible à la casse)
    • client
    • entrepreneur
    • friend_family
    • others

    Type de données : chaîne

    ID de réservation Requis.
    Sys_id de la réservation pour laquelle ajouter des invités. Situé dans la table Réservations du lieu de travail [sn_wsd_rsv_reservation].

    Type de données : chaîne

    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 16. 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 17. 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 18. Codes d'état
    Code d'état Description
    200 Réussi. La demande a été correctement traitée.
    401 Non autorisé. Les informations d'identification de l'utilisateur sont incorrectes ou n'ont pas été transmises.
    404 Introuvable. L’élément demandé est introuvable.
    500 Erreur interne du serveur. Une erreur inattendue s'est produite lors du traitement de la demande. La réponse contient des informations supplémentaires sur l'erreur.

    Paramètres du corps de réponse

    Nom Description
    résultat Résultat de l’ajout des invités à la réservation.

    Type de données : objet

    "result": {
      "reservationId": "String",
      "success": Boolean
    }
    result.reservationId Sys_id de la réservation à laquelle l’invité a été ajouté.

    Type de données : chaîne

    résultat.succès Marqueur indiquant si les invités ont été ajoutés à la réservation.
    Valeurs possibles :
    • true : les invités ont été ajoutés avec succès.
    • faux : les invités n’ont pas été ajoutés.

    Type de données : booléennes

    Demande cURL

    L’exemple de code suivant montre comment ajouter un visiteur et un employé à une réservation.

    curl "http://instance.servicenow.com/api/sn_wsd_rsv/v1/wsd_reservation_invitees/submit" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{[
      \"reservationId\": \"041c4a13532f01103cf7ddeeff7b12c0\",
      \"invitees\": [
      {
        \"inviteeType\": \"employee\",
        \"inviteeId\": \"62826bf03710200044e0bfc8bcbe5df1\"
      },
      {
        \"inviteeType\":  \"visitor\",
        \"email\": \"visitoruser@example.com\",
        \"firstName\": \"Visitor\",
        \"lastName\":\"User\",
        \"isVIP\":true,
        \"visitorType\":\"contractor\",
        \"title\": \"ServiceNow Developer\",
        \"phone\": \"+91 9876543210\",
        \"isWifiRequired\": true,
        \"parkingType\": \"ev_parking\",
        \"licensePlate\": \"TS00TS0000\",
        \"org\": \"ServiceNow\",
        \"privateNotes\": \"Remarks\"
      }
    ]}" \
    --user 'username':'password'

    Résultats renvoyés :

    {
      "result": {
        "success": true,
        "reservationId": "17979dc9536b01103cf7ddeeff7b12b3"
      }
    }