Vorbereitung von Datenquellen: ServiceNow API
Überblick
Im Folgenden findest du eine konsolidierte Referenz der am häufigsten verwendeten REST API-Endpunkte von ServiceNow. Diese integrierten APIs ermöglichen CRUD-Operationen auf Tabellen, statistische Auswertungen, das Verwalten von Anhängen, die Verarbeitung externer Daten über Import Sets sowie benutzerdefinierte Schnittstellen via Scripted REST APIs.
Nutze den REST API Explorer in deiner Instanz (System Web Services ▶ Inbound ▶ REST API Explorer), um Anfragen zu testen und verfügbare Parameter zu prüfen.
Kernschnittstellen von ServiceNow
| API-Typ | Endpunkt-Format | Beschreibung |
|---|---|---|
| Table API | /api/now/table/{tableName} | Standard-CRUD für jede Tabelle |
| Aggregate API | /api/now/stats/{tableName} | Zählungen und statistische Auswertungen |
| Attachment API | /api/now/attachment/* | Anhänge hoch-/runterladen und auflisten |
| Import Set API | /api/now/import/{stagingTableName} | Massenimport externer Daten mit Transformation |
| Scripted REST API | /api/{namespace}/{api_id}/… | Benutzerdefinierte Endpunkte mit serverseitiger Logik |
Table API
Ermöglicht Create, Read, Update und Delete auf jeder ServiceNow-Tabelle.
Basis-URI:
https://<instance>.service-now.com/api/now/table/{tableName}
``` :contentReference[oaicite:5]{index=5} Unterstützte Methoden:
GET– Datensätze abrufenPOST– Neuen Datensatz erstellenPUT/PATCH– Datensatz aktualisierenDELETE– Datensatz löschen
Typische Parameter:
sysparm_query– Query-String (z. B.active=true^priority=1)sysparm_limit/sysparm_offset– Paginierungsysparm_fields– Nur bestimmte Felder abrufensysparm_display_value– Anzeige- statt Rohwert (true/false)
Beispiel: Top 10 Incidents mit Priorität 1 abrufen:
GET https://<instance>.service-now.com/api/now/table/incident
?sysparm_limit=10
&sysparm_query=priority=1
&sysparm_fields=number,short_description,priority
``` :contentReference[oaicite:6]{index=6}
Aggregate API
Gibt zusammengefasste Statistiken (z. B. Zählungen, Summen) zurück, ohne vollständige Datensätze zu laden.
Basis-URI:
https://<instance>.service-now.com/api/now/stats/{tableName}
``` :contentReference[oaicite:7]{index=7} Unterstützte Methode:
- Nur
GET
Typische Parameter:
sysparm_count=true– Gibt die Gesamtanzahl zurücksysparm_sum_fields– Felder zur Summenbildungsysparm_group_by– Gruppierung nach Feldernsysparm_query– Gefilterte Teilmenge
Beispiel: Zähle Incidents mit Priorität 1:
GET https://<instance>.service-now.com/api/now/stats/incident
?sysparm_count=true
&sysparm_query=priority=1
``` :contentReference[oaicite:8]{index=8} Attachment API
Ermöglicht das Hochladen, Abrufen, Auflisten und Löschen von Dateianhängen für beliebige Tabellen.
Datei hochladen:
POST https://<instance>.service-now.com/api/now/attachment/file
?table_name={tableName}
&table_sys_id={recordSysId}
&file_name={filename}
Content-Type: multipart/form-data oder binär servicenow.com
Datei herunterladen:
GET https://<instance>.service-now.com/api/now/attachment/{attachmentSysId}/file Anhänge zu einem Datensatz auflisten:
GET https://<instance>.service-now.com/api/now/attachment
?sysparm_query=table_name={tableName}^table_sys_id={recordSysId}
Anhang löschen:
DELETE https://<instance>.service-now.com/api/now/attachment/{attachmentSysId} Import Set API
Dient zur Zwischenspeicherung und Verarbeitung externer Daten vor dem Laden in Zieltabellen.
Einzeldatensatz einfügen:
POST https://<instance>.service-now.com/api/now/import/{stagingTableName} Body: JSON-Objekt, das einen einzelnen Datensatz repräsentiert servicenow.com
Mehrere Datensätze einfügen:
POST https://<instance>.service-now.com/api/now/import/{stagingTableName}/insertMultiple
Body: {
"records": [
{ ... },
{ ... }
] } ahmeddrar.me
Wichtige Query-Parameter
Keine – das Mapping und die Transformation erfolgen vollständig nach dem Staging innerhalb von ServiceNow.
Scripted REST API
Erlaubt die Erstellung vollständig benutzerdefinierter REST-Endpunkte mit serverseitigem Script-Handling.
Ort der Definition:
Navigiere in der Instanz unter System Web Services ▶ Scripted REST APIs. servicenow.com
URI-Muster:
https://<instance>.service-now.com/api/{namespace}/{api_id}/{resourcePath}
Typische Methoden:
GET,POST,PUT,DELETE– gemäß deiner Skriptdefinition- Benutzerdefiniertes Request-/Response-Scripting in der Scripted REST-Ressource
Typische Anwendungsfälle:
- Komplexe Geschäftslogik
- Datenformate oder Workflows außerhalb der Standard-APIs
- Versionierte und abgesicherte benutzerdefinierte Schnittstellen
Endpunkte entdecken und testen
REST API Explorer
- In deiner ServiceNow-Instanz findest du den REST API Explorer unter: System Web Services ▶ REST API Explorer
- Dort kannst du: integrierte APIs durchsuchen, Beispielanfragen dynamisch zusammenstellen und verfügbare Parameter und Antwortstrukturen einsehen
Versionierung
- Viele REST-Endpunkte unterstützen Versionierung, z. B.:
/api/now/v1/...oder/api/now/v2/... - Wenn keine Version angegeben wird, verwendet ServiceNow automatisch die aktuell empfohlene und stabile API-Version.
Authentifizierung & Sicherheit
Unterstützte Authentifizierungsverfahren:
- Basic Authentication (Benutzername/Passwort)
- OAuth 2.0 (empfohlen für produktive Integrationen)
- Mutual TLS (Zertifikatsbasierte Authentifizierung auf Instanzebene)
Rate Limits & Best Practices
- Nutze
sysparm_limitundsysparm_offset, um große oder blockierende Anfragen zu vermeiden. blog.josephvelliah.com - Verwende indexfreundliche Filter in
sysparm_query, um die Performance zu optimieren.
Durch den Einsatz der integrierten REST-Schnittstellen von ServiceNow kannst du die Anbindung und Kommunikation mit einem Tool wie Noreja nahtlos und sicher gestalten. Die APIs bieten standardisierte, leistungsfähige Zugänge zum Datenmodell – flexibel erweiterbar durch benutzerdefinierte Endpunkte, starke Authentifizierungsmechanismen und moderne Abfrageoptionen.