WSD-Anwender-API
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.
- 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
- 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
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
| 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 |
| 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: Höchstwert: Standardwert: |
| Future_Reservierungen_months | Anzahl der Monate zukünftiger Reservierungen, die zurückgegeben werden sollen. Datentyp: Zahl Mindestwert: Höchstwert: Standardwert: |
| 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 .
| 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. |
| 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 .
| 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 |
| Mitarbeitende | Liste der Mitarbeitenden des Anwenders mit ihren Anwesenheitsdaten. Datentyp: Array von Objekten |
| 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 Datentyp: Array von Objekten |
| 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 Datentyp: Objekt |
| 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 |
| 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 |
| Reservierungen.Zukunft.Gebäude | Gebäude, in dem sich der reservierte Standort befindet. Datentyp: Objekt |
| 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 |
| 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:
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 |
| 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 |
| Zeitplan.Ausnahmen | Liste der Daten, an denen der Zeitplan des Anwenders im Büro von seiner Routine abweicht. Datentyp: Array von Objekten |
| 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:
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:
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 Datentyp: Objekt |
| Workplace_location | Der zugewiesene Arbeitsplatzstandort des Anwenders, einschließlich Stockwerk-, Gebäude- und Campus-Details. Datentyp: Objekt |
| Workplace_location.Building | Gebäude, in dem sich der Arbeitsplatzstandort befindet. Datentyp: Objekt |
| 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 |
| 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 |
| 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": []
}
}
}