Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Namespace: microsoft.graph
Wichtig
Die APIs unter der /beta Version in Microsoft Graph können sich ändern. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in v1.0 verfügbar ist, verwenden Sie die Version Selektor.
Aktualisieren Sie die Eigenschaften eines WorkforceIntegration-Objekts .
Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.
| Weltweiter Service | US Government L4 | US Government L5 (DOD) | China, betrieben von 21Vianet |
|---|---|---|---|
| ✅ | ❌ | ❌ | ❌ |
Berechtigungen
Wählen Sie die Berechtigungen aus, die für diese API als am wenigsten privilegiert markiert sind. Verwenden Sie eine höhere Berechtigung oder Berechtigungen nur, wenn Ihre App dies erfordert. Ausführliche Informationen zu delegierten Berechtigungen und Anwendungsberechtigungen finden Sie unter Berechtigungstypen. Weitere Informationen zu diesen Berechtigungen finden Sie in der Berechtigungsreferenz.
| Berechtigungstyp | Berechtigungen mit den geringsten Berechtigungen | Berechtigungen mit höheren Berechtigungen |
|---|---|---|
| Delegiert (Geschäfts-, Schul- oder Unikonto) | WorkforceIntegration.ReadWrite.All | Nicht verfügbar. |
| Delegiert (persönliches Microsoft-Konto) | Nicht unterstützt | Nicht unterstützt |
| Application | WorkforceIntegration.ReadWrite.All | Nicht verfügbar. |
HTTP-Anforderung
PATCH /teamwork/workforceIntegrations/{workforceIntegrationId}
Anforderungsheader
| Name | Beschreibung |
|---|---|
| Authorization | Bearer {token}. Erforderlich. Erfahren Sie mehr über Authentifizierung und Autorisierung. |
| MS-APP-ACTS-AS (veraltet) | Eine Benutzer-ID (GUID). Nur erforderlich, wenn das Autorisierungstoken ein Anwendungstoken ist. Andernfalls optional. Der MS-APP-ACTS-AS Header ist veraltet und bei Anwendungstoken nicht mehr erforderlich. |
Anforderungstext
Geben Sie im Anforderungstext die Werte für die relevanten Felder an, die aktualisiert werden sollen. Vorhandene Eigenschaften, die nicht im Anforderungstext enthalten sind, behalten ihre vorherigen Werte bei oder werden basierend auf Änderungen an anderen Eigenschaftswerten neu berechnet. Geben Sie aus Gründen der Leistung vorhandene Werte, die nicht geändert wurden, nicht an.
| Eigenschaft | Typ | Beschreibung |
|---|---|---|
| apiVersion | Int32 | API-Version für die Rückruf-URL. Beginnen Sie mit 1. |
| displayName | Zeichenfolge | Name der Mitarbeiterintegration. |
| Verschlüsselung | workforceIntegrationEncryption | Die Verschlüsselungsressource für die Mitarbeiterintegration. |
| isActive | Boolean | Gibt an, ob diese Mitarbeiterintegration derzeit aktiv und verfügbar ist. |
| unterstützt | string | Mögliche Werte sind none, shift, swapRequest, openshift, openShiftRequest, userShiftPreferences. Bei Auswahl mehrerer Werte müssen alle Werte mit dem ersten Buchstaben in Großbuchstaben beginnen. |
| supportedEntities | string | Diese Eigenschaft ersetzt die Unterstützung in v1.0. Es wird empfohlen, diese Eigenschaft anstelle von Stützen zu verwenden. Die unterstützende Eigenschaft wird vorerst noch in der Betaversion unterstützt. Mögliche Werte sind none, shift, swapRequest, openshift, openShiftRequest, userShiftPreferences. Bei Auswahl mehrerer Werte müssen alle Werte mit dem ersten Buchstaben in Großbuchstaben beginnen. |
| url | Zeichenfolge | Workforce Integration-URL für Rückrufe vom Schichtdienst. |
Antwort
Bei erfolgreicher Ausführung gibt diese Methode einen 200 OK Antwortcode und ein aktualisiertes workforceIntegration-Objekt im Antworttext zurück.
Beispiele
Beispiel 1: Aktualisieren eines WorkforceIntegration-Objekts
Im folgenden Beispiel wird ein workforceIntegration-Objekt aktualisiert.
Anforderung
Das folgende Beispiel zeigt eine Anfrage.
PATCH https://graph.microsoft.com/beta/teamwork/workforceIntegrations/{workforceIntegrationId}
Content-type: application/json
{
"displayName": "displayName-value",
"apiVersion": 99,
"encryption": {
"protocol": "protocol-value",
"secret": "secret-value"
},
"isActive": true,
"url": "url-value",
"supports": "supports-value"
}
Antwort
Das folgende Beispiel zeigt die Antwort.
Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.
HTTP/1.1 200 OK
Content-type: application/json
{
"displayName": "displayName-value",
"apiVersion": 99,
"encryption": {
"protocol": "protocol-value",
"secret": "secret-value"
},
"isActive": true,
"url": "url-value",
"supports": "supports-value"
}
Beispiel 2: Erstellen einer neuen BelegschaftIntegration mit aktiviertem SwapRequest für die Berechtigungsfilterung
Im folgenden Beispiel wird eine neue WorkforceIntegration mit aktiviertem SwapRequest für die Berechtigungsfilterung erstellt.
Anforderung
Das folgende Beispiel zeigt eine Anfrage.
POST https://graph.microsoft.com/beta/teamwork/workforceIntegrations/
Authorization: Bearer {token}
Content-type: application/json
{
"displayName": "ABCWorkforceIntegration",
"apiVersion": 1,
"isActive": true,
"encryption": {
"protocol": "sharedSecret",
"secret": "My Secret"
},
"url": "https://ABCWorkforceIntegration.com/Contoso/",
"supports": "Shift,SwapRequest",
"eligibilityFilteringEnabledEntities": "SwapRequest"
}
Antwort
Das folgende Beispiel zeigt die Antwort.
HTTP/1.1 200 OK
{
"id": "c5d0c76b-80c4-481c-be50-923cd8d680a1",
"displayName": "ABCWorkforceIntegration",
"apiVersion": 1,
"isActive": true,
"encryption": {
"protocol": "sharedSecret",
"secret": null
},
"url": "https://abcWorkforceIntegration.com/Contoso/",
"supports": "Shift,SwapRequest",
"eligibilityFilteringEnabledEntities": "SwapRequest"
}
Informationen zum Erstellen einer neuen BelegschaftIntegration mit aktiviertem SwapRequest für die Berechtigungsfilterung finden Sie unter der Create-Methode .
Beispiel 3: Abrufen berechtigter Schichten, wenn SwapRequest in eligibilityFilteringEnabledEntities enthalten ist
Die Interaktion zwischen der Schichten-App und den Endpunkten der Mitarbeiterintegration folgt dem vorhandenen Muster.
Anforderung
Das folgende Beispiel zeigt eine Anforderung von Schichten an den Workforce-Integrationsendpunkt, um geeignete Schichten für eine Tauschanforderung abzurufen.
POST https://abcWorkforceIntegration.com/Contoso/{apiVersion}/team/{teamId}/read
Accept-Language: en-us
{
"requests": [
{
"id": "{shiftId}",
"method": "GET”,
"url": “/shifts/{shiftId}/requestableShifts?requestType={requestType}&startDateTime={startDateTime}&endDateTime={endDateTime}”
}]
}
Antwort
Das folgende Beispiel zeigt die Antwort des Workforce Integration Service.
HTTP/1.1 200 OK
{
"responses": [
{
"body": {
"SHFT_6548f642-cbc1-4228-8621-054327576457",
"SHFT_6548f642-cbc1-4228-8621-054327571234"
}
"id": "{shiftId}",
"status: 200,
"body": {
"data": [{ShiftId}, {ShiftId}...]
"error": null
}
]
}
Beispiel 4: Verschiebt synchronen Rückruf an den Workforce-Integration-Endpunkt, wenn aktiviert, für Echtzeit-Benachrichtigungen bei TimeCard-Änderungen.
Anforderung
Das folgende Beispiel zeigt eine Anfrage.
POST https://foobarWorkforceIntegration.com/foobar/v1/teams/788b75d2-a911-48c0-a5e2-dc98480457e3/update
Accept-Language: en-us
X-MS-WFMPassthrough: foobarvalue
Content-type: application/json
{
"requests":[
{
"id":"1",
"method":"POST",
"url":"/timecards",
"headers":{
"X-MS-Transaction-ID":"1"
},
"body":{
"id":"3895809b-a618-4c0d-86a0-d42b25b7d74f",
"userId":"a3601044-a1b5-438e-b742-f78d01d68a67",
"createdDateTime":"2019-03-18T00:00:00.000Z",
"createdBy":{
"user":{
"id":"a3601044-a1b5-438e-b742-f78d01d68a67",
"displayName":"Dwight Schrute"
}
},
"lastModifiedDateTime":"2019-03-18T00:00:00.000Z",
"lastModifiedBy":{
"user":{
"id":"a3601044-a1b5-438e-b742-f78d01d68a67",
"displayName":"Dwight Schrute"
}
},
"state":"onBreak",
"clockIn":{
"dateTime":"2019-03-18T00:00:00.000Z",
"atApprovedLocation":true,
"notes":null
},
"clockOut":null,
"breaks":[
{
"id":"string",
"notes":{
"content":"Lunch break",
"contentType":"text"
},
"start":{
"dateTime":"2019-03-18T00:00:00.000Z",
"atApprovedLocation":true,
"notes":{
"content":"Started my break 5 minutes early",
"contentType":"text"
}
},
"end":null
}
],
"notes":null,
"originalEntry":{
"clockIn":{
"dateTime":"2019-03-18T00:00:00.000Z",
"atApprovedLocation":true,
"notes":null
},
"clockOut":null,
"breaks":[
{
"id":"4591109b-a618-3e0d-e6a0-d42b25b7231f",
"notes":{
"content":"Lunch break",
"contentType":"text"
},
"start":{
"dateTime":"2019-03-18T00:00:00.000Z",
"atApprovedLocation":true,
"notes":{
"content":"Started my break 5 minutes early",
"contentType":"text"
}
},
"end":null
}
]
}
}
}
]
}
Antwort
Das folgende Beispiel zeigt die Antwort.
HTTP/1.1 200 OK
Content-type: application/json
{
"responses":[
{
"id": "1",
"status": 200,
"body":{
"eTag": "4000ee23-0000-0700-0000-5d1415f60000",
"error": null
}
}
]
}