Поделиться через


Создание рабочей силыИнтеграция

Пространство имен: microsoft.graph

Создайте объект workforceIntegration .

Этот API доступен в следующих национальных облачных развертываниях.

Глобальная служба Правительство США L4 Правительство США L5 (DOD) Китай управляется 21Vianet

Разрешения

Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.

Тип разрешения Разрешения с наименьшими привилегиями Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись) WorkforceIntegration.ReadWrite.All Недоступно.
Делегированные (личная учетная запись Майкрософт) Не поддерживается. Не поддерживается.
Для приложений Не поддерживается. Не поддерживается.

Примечание. Этот API поддерживает разрешения администратора. Пользователи с ролями администратора могут получать доступ к группам, членом которых они не являются.

HTTP-запрос

POST /teamwork/workforceIntegrations

Заголовки запросов

Имя Описание
Авторизация Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации.
Content-Type application/json. Обязательно.
MS-APP-ACTS-AS Идентификатор пользователя (GUID). Требуется только в том случае, если маркер авторизации является маркером приложения; В противном случае — необязательно.

Текст запроса

В тексте запроса укажите представление объекта workforceIntegration в формате JSON.

В следующей таблице перечислены свойства, которые можно использовать при создании объекта workforceIntegration .

Свойство Тип Описание
apiVersion Int32 Версия API для URL-адреса обратного вызова. Начните с 1.
displayName String Имя интеграции рабочей силы.
eligibilityFilteringEnabledEntities eligibilityFilteringEnabledEntities Поддержка просмотра отфильтрованных результатов. Возможные значения: none, swapRequest, offerShiftRequest, unknownFutureValue, timeOffReason. Prefer: include-unknown-enum-members Используйте заголовок запроса, чтобы получить следующее значение в этой развиваемой перечислении: timeOffReason.
шифрование workforceIntegrationEncryption Ресурс шифрования интеграции сотрудников.
isActive Логический Указывает, является ли эта интеграция рабочей силы активной и доступной в настоящее время.
supportedEntities workforceIntegrationSupportedEntities Сущности Shifts, поддерживаемые для синхронных уведомлений об изменениях. Смены вызывают указанный URL-адрес при изменении клиента сущностей, указанных в этом свойстве. По умолчанию для уведомлений об изменениях сущности не поддерживаются. Возможные значения: none, shift, swapRequest, userShiftPreferences, openShift, openShiftRequest, offerShiftRequest, unknownFutureValue, timeCard, timeOffReason, timeOff, timeOffRequest. Prefer: include-unknown-enum-members Используйте заголовок запроса, чтобы получить следующие значения в этом развиваемом перечислении: timeCard, timeOffReason , timeOff , . timeOffRequest
url String URL-адрес интеграции сотрудников, используемый для обратных вызовов из службы Смен.

Отклик

В случае успешного выполнения этот метод возвращает код отклика 201 Created и новый объект workforceIntegration в теле отклика.

Примеры

Запрос

Ниже показан пример запроса.

POST https://graph.microsoft.com/v1.0/teamwork/workforceIntegrations
Content-Type: application/json

{
  "displayName": "ABCWorkforceIntegration",
  "apiVersion": 1,
  "isActive": true,
  "encryption": {
    "protocol": "sharedSecret",
    "secret": "My Secret"
  },
  "url": "https://ABCWorkforceIntegration.com/Contoso/",
  "supportedEntities": "Shift,SwapRequest",
  "eligibilityFilteringEnabledEntities": "SwapRequest"
}

Отклик

Ниже показан пример отклика.

Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "c5d0c76b-80c4-481c-be50-923cd8d680a1",
  "displayName": "ABCWorkforceIntegration",
  "apiVersion": 1,
  "isActive": true,
  "encryption": {
    "protocol": "sharedSecret",
    "secret": null
  },
  "url": "https://abcWorkforceIntegration.com/Contoso/",
  "supportedEntities": "Shift,SwapRequest",
  "eligibilityFilteringEnabledEntities": "SwapRequest"
}

Примеры вариантов использования сущности WorkforceIntegration для фильтрации допустимости по правилам системы управления персоналом (WFM)

Вариант использования: создайте новый объект WorkforceIntegration с поддержкой SwapRequest для фильтрации соответствия требованиям

Запрос

Ниже показан пример запроса.

POST https://graph.microsoft.com/v1.0/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/",
  "supportedEntities": "Shift,SwapRequest",
  "eligibilityFilteringEnabledEntities": "SwapRequest"
}

Отклик

Ниже показан пример отклика.

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/",
  "supportedEntities": "Shift,SwapRequest",
  "eligibilityFilteringEnabledEntities": "SwapRequest"
}

Сведения о том, как обновить существующую рабочую группу с поддержкой SwapRequest для фильтрации допустимости, см. в разделе Обновление.

Пример получения допустимых сдвигов, если SwapRequest включен в параметр eligibleyFilteringEnabledEntities

Взаимодействие между приложением Shifts и конечными точками интеграции рабочей силы соответствует существующей схеме.

Запрос

В этом примере показан запрос, сделанный shifts к конечной точке интеграции рабочей силы для получения подходящих смен для запроса на переключение.

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

Отклик

В следующем примере показан ответ от службы интеграции рабочей силы.

HTTP/1.1 200 OK
{
  "responses": [
    "id": "{shiftId}",
    "status: 200,
    "body": {
       "data": [{shiftId}, {shiftId}...]
       "error": null
    }
  ]
}