WSD-Anwender-API

  • Freigeben Version: Australia
  • Aktualisiert 28. April 2026
  • 7 Minuten Lesedauer
  • Die WSD-Anwender API ist eine geskriptete REST-API, die den Arbeitsplatzkontext des authentifizierten Anwenders zurückgibt, einschließlich des zugewiesenen Arbeitsbereichsstandorts, des Zeitplans für die Anwesenheit im Büro, der Mitarbeitenden sowie vergangener und zukünftiger Reservierungen.

    Dies WSD-Anwender Wird mit empfohlen Workplace Service Delivery(WSD) Reservierungsprodukt und bietet einen Einstiegspunkt für einen Anruf zum Initialisieren der Reservierungsbuchungs-Experience mit allen relevanten Anwenderdaten. Diese API befindet sich in Workplace Service Delivery Reservierungs-Plugin (com.sn_wsd_rsv) und dient als Einstiegspunkt für die Anzeige der vollständigen Arbeitsplatzidentität und des Verlaufs eines Anwenders.

    Ein authentifizierter Anwender ist jemand, der angemeldet ist oder dessen Anmeldeinformationen in der API-Anforderung enthalten sind.

    Häufige Anwendungsfälle:
    • Initialisierung des Reservierungsportals: Laden Sie den Heimatstandort, den Zeitplan und den Buchungsverlauf eines Anwenders in einem einzigen Anruf, wenn Sie eine Arbeitsplatz-App oder ein Portal öffnen.
    • Anwenderdefinierte Mobile- oder Web-Apps: Ruft den gesamten Anwenderkontext ab, ohne mehrere Tabellen-API-Aufrufe zusammenzufügen, z. B. beim Erstellen von Front-End-Reservierungs-Experiences.
    • Nachverfolgung der Anwesenheit im Büro: Identifizieren Sie, welche Mitarbeiter an einem bestimmten Tag im Büro sein sollen.

    Anforderungen

    Die WSD-Anwender API erfordert:
    • Mindestens ein Anwenderdatensatz mit der sn_wsd_core.workplace_user-Rolle muss vorhanden sein.
    • Die Workplace Service Delivery Concierge (com.sn_wsd_Concierge), Workplace Service Delivery Core (com.sn_wsd_Core), und Workplace Service Delivery Reservierungs-Plugins (com.sn_wsd_rsv) müssen aktiv sein.

    Zugehörige APIs

    Die WSD-Anwender API gehört zu einer Familie von APIs, die alle unter dem aufgeführt sind sn_wsd_rsv Namespace, der zusammen den gesamten Reservierungslebenszyklus unterstützt:
    • WSD-Such-API: Suchen Sie verfügbare reservierbare Plätze basierend auf Standort, Zeit und Kapazitätskriterien.
    • WSD-Reservierungs-API: Reservierungen erstellen und Check-in/Check-out verwalten.
    • WSD-API für reservierbares Modul: Ruft die Buchungsregelkonfigurationen ab, die steuern, welche Anwender wie reservieren können.

    WSD-Anwender: RUFT /api/sn_wsd_rsv/v1/user/context ab

    Ruft den Arbeitsplatzkontext des authentifizierten Anwenders ab, einschließlich des zugewiesenen Arbeitsplatzstandorts, des Anwesenheitszeitplans, der Mitarbeitenden sowie vergangener und zukünftiger Reservierungen.

    Verwenden Sie diesen Endpunkt, um eine Reservierungs-Experience zu initialisieren, indem Sie alle relevanten Anwenderkontexte in einem einzigen Anruf laden. Mitarbeitende-Daten sind optional enthalten, wenn das Plugin „com.sn_wsd_Concierge“ aktiv ist.

    URL-Format

    Versionierte URL: /api/sn_wsd_rsv/{api_Version}/user/context

    Standard-URL: /api/sn_wsd_rsv/user/context

    Unterstützte Anforderungsparameter

    Tabelle : 1. Pfad-Parameter
    Name Beschreibung
    api_version Optional. Version des Endpunkts, auf den zugegriffen werden soll. Beispiel: v1 Oder v2 . Geben Sie diesen Wert nur an, um eine andere Endpunktversion als die neueste zu verwenden.

    Datentyp: Zeichenfolge

    Tabelle : 2. Abfrageparameter
    Name Beschreibung
    einbeziehen Wert zum Einbeziehen zugehöriger Daten in die Antwort. Verwendet strikten Gleichheitsabgleich (keine kommagetrennte Analyse).
    Hinweis:
    includeIst nur wirksam, wenn Workplace Service Delivery Plugin „Concierge“ (com.sn_wsd_Concierge) ist aktiv.

    Nur gültiger Wert: Mitarbeitende

    Datentyp: Zeichenfolge

    Standard: Schließt Mitarbeitende aus der Antwort aus.

    Past_Reservierungen_months Anzahl der Monate vergangener Reservierungen, die zurückgegeben werden sollen.

    Datentyp: Zahl

    Mindestwert: 0

    Höchstwert: 12

    Standardwert: 3

    Future_Reservierungen_months Anzahl der Monate zukünftiger Reservierungen, die zurückgegeben werden sollen.

    Datentyp: Zahl

    Mindestwert: 0

    Höchstwert: 12

    Standardwert: 3

    Tabelle : 3. Anforderungstextparameter (XML oder JSON)
    Name Beschreibung
    Keine

    Header

    Die folgenden Anforderungs- und Antwort-Header gelten nur für diese HTTP-Aktion oder werden auf diese Aktion in einer bestimmten Weise angewendet. Eine Liste der allgemeinen Header, die in der REST-API verwendet werden, finden Sie unter Unterstützte REST-API-Header .

    Tabelle : 4. Anforderungskopfzeilen.
    Header Beschreibung
    Akzeptieren Datenformat des Antworttexts. Unterstützte Typen: Application/JSON, Application/xml, Text/xml.
    Autorisierung Anmeldeinformationen für Authentifizierung. Unterstützt Standardauthentifizierung oder sitzungsbasierte Authentifizierung.
    Tabelle : 5. Antwortkopfzeilen
    Header Beschreibung
    Inhaltstyp Datenformat des Antworttexts: Application/JSON.

    Statuscodes

    Die folgenden Statuscodes gelten für diese HTTP-Aktion. Eine Liste der möglichen Statuscodes, die in der REST-API verwendet werden, finden Sie unter REST-API-HTTP-Antwortcodes .

    Tabelle : 6. Statuscodes
    Statuscode Beschreibung
    200 Erfolgreich. Die Anforderung wurde erfolgreich verarbeitet.
    500 Interner Serverfehler. Beim Verarbeiten der Anforderung ist ein unerwarteter Fehler aufgetreten. Die Antwort enthält zusätzliche Informationen zum Fehler.

    Antworttext-Parameter (JSON oder XML)

    Name Beschreibung
    Ergebnis Objekt, das die Ergebnisse der Anforderung enthält.

    Datentyp: Objekt

    "result": {
      "collaborators": [Array],
      "reservations": {Object},
      "schedule": {Object},
      "workplace_location": {Object}
    }
    Mitarbeitende Liste der Mitarbeitenden des Anwenders mit ihren Anwesenheitsdaten.

    Datentyp: Array von Objekten

    "collaborators": [
      {
        "sys_id": "String",
        "name": "String",
        "routine": "Object",
        "exceptions": "Array"
      }
    ]
    Mitarbeitende.Ausnahmen Liste der Daten, an denen der Zeitplan des Mitarbeitenden im Büro von seiner Routine abweicht.

    Enthält eine boolesche Kennzeichnung für jeden Wochentag, die die geplante Anwesenheit im Büro angibt. Wird Angezeigt Wahr Wann der Anwender an diesem Tag im Büro sein möchte, und Falsch Wenn die Teilnahme nicht geplant ist.

    Datentyp: Array von Objekten

    "exceptions": [
    { 
       "monday": "Boolean", 
       "tuesday": "Boolean", 
       "wednesday": "Boolean", 
       "thursday": "Boolean", 
       "friday": "Boolean", 
       "saturday": "Boolean", 
       "sunday": "Boolean" 
    }
    ]
    collaborators.name Anzeigename des mitarbeitenden. Beispiel: Jane Smith .

    Datentyp: Zeichenfolge

    Collaborators.Routine Der wiederkehrende wöchentliche Zeitplan im Büro des mitarbeitenden. Folgt derselben booleschen Struktur für Wochentage wie schedule.routine.

    Ein Wert von Wahr Gibt die Anwesenheit im Büro an, und Falsch Gibt keine Teilnahme an.

    Datentyp: Objekt

    "routine": {
      "monday": Boolean,
      "tuesday": Boolean,
      "wednesday": Boolean,
      "thursday": Boolean, 
      "friday": Boolean,
      "saturday": Boolean,
      "sunday": Boolean
    }
    Collaborators.sys_ID SYS_ID des Anwenderdatensatzes des mitarbeitenden.

    Tabelle: Benutzer [sys_user]

    Datentyp: Zeichenfolge

    Reservierungen Objekt, das die vergangenen und zukünftigen Reservierungen des Anwenders enthält. Private und standortlose Reservierungen sind ausgeschlossen.

    Maximal 100 Reservierungen pro Richtung.

    Gefiltert nach status: Bestätigt, Abgeschlossen.

    Datentyp: Objekt

    "reservations": {
      "past": [Array],
      "future": [Array]
    }
    Reservierungen.Zukunft Liste der zukünftigen Reservierungen des Anwenders innerhalb des Bereichs für den angeforderten Monat. Sortiert nach Startdatum/-Uhrzeit, frühestens zuerst.

    Datentyp: Array des Objekts

    "future": [
     {
      "sys_id": "String",
      "number": "String",
      "start": "String",
      "end": "String",
      "state": "String",
      "subject": "String,
      "location": {Object},
      "building": {Object}
     }
    ]
    Reservierungen.Zukunft.Gebäude Gebäude, in dem sich der reservierte Standort befindet.

    Datentyp: Objekt

    "building": {
     "name": "String",
     "sys_id": "String"
    }
    reservations.future.building.name Anzeigename des Gebäudes. Beispiel: HQ-Gebäude A .

    Datentyp: Zeichenfolge

    Reservierungen.Zukunft.Gebäude.sys_ID SYS_ID des Gebäudedatensatzes.

    Tabelle: Arbeitsplatzgebäude [sn_wsd_core_building]

    Datentyp: Zeichenfolge

    Reservierungen.Zukunft.Ende Enddatum/-Uhrzeit der Reservierung in UTC.

    Format: jjjj-MM-TT HH:mm:ss

    Datentyp: Zeichenfolge

    Reservierungen.Zukunft.Standort Der reservierte Platz.

    Datentyp: Objekt

    "location": {
      "sys_id": "String",
      "name": "String"
    }
    reservations.future.location.name Anzeigename des reservierten Standorts. Beispiel: Schreibtisch 42 .

    Datentyp: Zeichenfolge

    Reservierungen.Zukunft.Standort.sys_ID SYS_ID des reservierten Standorts.

    Tabelle: Arbeitsplatzstandort [sn_wsd_core_workplace_location]

    Datentyp: Zeichenfolge

    Reservierungen.Zukunft.Nummer Visuell lesbare Reservierungsnummer. Beispiel: RSV0001234 .

    Datentyp: Zeichenfolge

    Reservierungen.Zukunft.Start Startdatum/-Uhrzeit der Reservierung in UTC.

    Format: jjjj-MM-TT HH:mm:ss

    Datentyp: Zeichenfolge

    Reservierungen.Zukunft.Status Aktueller Status der Reservierung.
    Gültige Werte:
    • Bestätigt
    • Abgeschlossen

    Datentyp: Zeichenfolge

    Reservierungen.Zukunft.Betreff Betreff oder Titel der Reservierung. Beispiel: Stand-up-Desk des Teams .

    Datentyp: Zeichenfolge

    Reservierungen.Zukunft.sys_ID SYS_ID des Reservierungsdatensatzes.

    Tabelle: Arbeitsplatzreservierung [sn_wsd_rsv_reservation]

    Datentyp: Zeichenfolge

    Reservierungen.Vergangenheit Liste der früheren Reservierungen des Anwenders innerhalb des Bereichs für den angeforderten Monat. Sortiert nach Startdatum/-Uhrzeit, neueste zuerst.

    Folgt derselben Array-Struktur wie reservation.future.

    Datentyp: Array von Objekten

    "past": [
     {
      "sys_id": "String",
      "number": "String",
      "start": "String",
      "end": "String",
      "state": "String",
      "subject": "String,
      "location": {Object},
      "building": {Object}
     }
    ]
    Zeitplan Der Zeitplan für die Anwesenheit des Anwenders im Büro, einschließlich der wiederkehrenden wöchentlichen Routine und aller Ausnahmen.
    Hinweis:
    Wenn das Plugin com.sn_wsd_Concierge inaktiv ist, ist die Routine null, und Ausnahmen sind ein leeres Array.

    Datentyp: Objekt

    "schedule": {
      "exceptions": [Array],
      "routine": {Object}
    }
    Zeitplan.Ausnahmen Liste der Daten, an denen der Zeitplan des Anwenders im Büro von seiner Routine abweicht.

    Datentyp: Array von Objekten

    "exceptions": [
    {
      "sys_id": "sys_id", 
      "date": "String", 
      "in_office": String, 
      "origin": "String", 
      "location": "String" 
     }
    ]
    schedule.exceptions.date Datum, für das diese Ausnahme gilt, im Format JJJJ-MM-TT. Dies ist das Datum, an dem die Routine des Anwenders überschrieben wird.

    Datentyp: Zeichenfolge

    schedule.exceptions.in_office Kennzeichnung, die angibt, ob der Anwender an diesem Datum im Büro ist. Dies überschreibt die Angaben des Zeitplans für diesen Wochentag.
    Gültige Werte:
    • Wahr: Anwender befindet sich im Büro.
    • Falsch: Anwender ist nicht im Büro

    Datentyp: Zeichenfolge

    Zeitplan.Ausnahmen.Standort Der Name oder Bezeichner des Bürostandorts, an dem sich der Anwender an diesem Datum befindet. Nur relevant, wenn In_Office Ist Wahr . Kann eine leere Zeichenfolge sein, wenn der Anwender Remote ist.

    Datentyp: Zeichenfolge

    Zeitplan.Ausnahmen.Ursprung Quelle, die die Ausnahme erstellt hat.
    Gültige Werte:
    • Anwender : Manuell vom Mitarbeiter erstellt.
    • System : Wird automatisch von der Plattform erstellt.
    • Manuell : Von einem Administrator oder im Namen des Anwenders erstellt.

    Datentyp: Zeichenfolge

    Schedule.Exceptions.sys_ID SYS_ID des Ausnahmedatensatzes.

    Tabelle: Ausnahmen bei Mitarbeiteranwesenheit (sn_wsd_concierge_employee_presence_exception)

    Datentyp: Zeichenfolge

    Zeitplan.Routine Wiederkehrender wöchentlicher Zeitplan im Büro des Anwenders. Jedes Feld ist ein boolescher Wert, der einen Wochentag darstellt und angibt, ob der Anwender an diesem Tag im Büro sein soll.

    Ein Wert von Wahr Gibt die Anwesenheit im Büro an, und Falsch Gibt keine Teilnahme an.

    Datentyp: Objekt

    "routine": {
      "monday": Boolean,
      "tuesday": Boolean,
      "wednesday": Boolean,
      "thursday": Boolean, 
      "friday": Boolean,
      "saturday": Boolean,
      "sunday": Boolean
    }
    Workplace_location Der zugewiesene Arbeitsplatzstandort des Anwenders, einschließlich Stockwerk-, Gebäude- und Campus-Details.

    Datentyp: Objekt

    "workplace_location": {
      "building": {Object},
      "campus": {Object},
      "floor": {Object},
      "name": "String",
      "sys_id": "String"
    }
    Workplace_location.Building Gebäude, in dem sich der Arbeitsplatzstandort befindet.

    Datentyp: Objekt

    "building": {
      "name": "String",
      "sys_id": "String"
    }
    workplace_location.building.name Anzeigename des Gebäudes. Beispiel: HQ-Gebäude A .

    Datentyp: Zeichenfolge

    Workplace_location.Building.sys_ID SYS_ID des Gebäudedatensatzes.

    Tabelle: Arbeitsplatzgebäude [sn_wsd_core_building]

    Datentyp: Zeichenfolge

    workplace_location.campus Campus, auf dem sich das Gebäude befindet.

    Datentyp: Objekt

    "campus": {
      "name": "String",
      "sys_id": "String"
    }
    workplace_location.campus.name Anzeigename des Campus. Beispiel: Hauptcampus .

    Datentyp: Zeichenfolge

    workplace_location.campus.sys_id SYS_ID des Campus-Datensatzes.

    Tabelle: Arbeitsplatz-Campus [sn_wsd_core_campus]

    Datentyp: Zeichenfolge

    Workplace_location.floor Stockwerk, auf dem sich der Arbeitsplatzstandort befindet.

    Datentyp: Objekt

    "floor": {
      "name": "String",
      "sys_id": "String"
    }
    workplace_location.floor.name SYS_ID des Stockwerkdatensatzes.

    Tabelle: Arbeitsplatzgeschoss [sn_wsd_core_floor]

    Datentyp: Zeichenfolge

    Workplace_location.floor.sys_ID Anzeigename des Stockwerks. Beispiel: Stockwerk 3 .

    Datentyp: Zeichenfolge

    workplace_location.name Anzeigename des zugewiesenen Arbeitsplatzstandorts des Anwenders. Beispiel: Schreibtisch 42: Stockwerk 3 .

    Datentyp: Zeichenfolge

    Workplace_location.sys_ID SYS_ID des zugewiesenen Arbeitsplatzstandorts des Anwenders.

    Tabelle: Arbeitsplatzstandort [sn_wsd_core_workplace_location]

    Datentyp: Zeichenfolge

    cURL-Anforderung

    Das folgende Beispiel ruft den vollständigen Arbeitsplatzkontext des authentifizierten Anwenders ab, einschließlich Mitarbeitenden, 1 Monat vergangener Reservierungen und 6 Monate zukünftiger Reservierungen.

    curl "https://<instance>.service-now.com/api/sn_wsd_rsv/v1/user/context?include=collaborators&past_reservations_months=1&future_reservations_months=6" \
      --request GET \
      --header "Accept: application/json" \
      --user "username:password"

    Antworttext.

    {
      "result": {
        "workplace_location": {
          "sys_id": "a1b2c3d4e5f6g7h8",
          "name": "Desk 42 - Floor 3",
          "floor": { "sys_id": "f1a2b3c4", "name": "Floor 3" },
          "building": { "sys_id": "b1c2d3e4", "name": "HQ Building A" },
          "campus": { "sys_id": "c1d2e3f4", "name": "Main Campus" }
        },
        "schedule": {
          "routine": {
            "monday": true, "tuesday": true, "wednesday": false,
            "thursday": true, "friday": false, "saturday": false, "sunday": false
          },
          "exceptions": []
        },
        "collaborators": [
          {
            "sys_id": "d4e5f6g7",
            "name": "Jane Smith",
            "routine": { "monday": true, "tuesday": false, "wednesday": true,
                         "thursday": true, "friday": false, "saturday": false, "sunday": false },
            "exceptions": []
          }
        ],
        "reservations": {
          "past": [
            {
              "sys_id": "r1e2s3v4",
              "number": "RSV0001234",
              "start": "2026-04-01 09:00:00",
              "end": "2026-04-01 17:00:00",
              "state": "completed",
              "subject": "Team standup desk",
              "location": { "sys_id": "l1o2c3", "name": "Desk 42" },
              "building": { "sys_id": "b1c2d3e4", "name": "HQ Building A" }
            }
          ],
          "future": []
        }
      }
    }