update workforceintegration

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
      }
    }
  ]
}