Обновление рабочей силыинтеграция
Пространство имен: microsoft.graph
Важно!
API версии /beta
в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Обновление свойств объекта workforceintegration .
Этот API доступен в следующих национальных облачных развертываниях.
Глобальная служба | Правительство США L4 | Правительство США L5 (DOD) | Китай управляется 21Vianet |
---|---|---|---|
✅ | ❌ | ❌ | ❌ |
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Тип разрешения | Разрешения с наименьшими привилегиями | Более высокие привилегированные разрешения |
---|---|---|
Делегированные (рабочая или учебная учетная запись) | WorkforceIntegration.ReadWrite.All | Недоступно. |
Делегированные (личная учетная запись Майкрософт) | Не поддерживается. | Не поддерживается. |
Для приложений | Не поддерживается. | Не поддерживается. |
HTTP-запрос
PATCH /teamwork/workforceIntegrations/{workforceIntegrationId}
Заголовки запросов
Имя | Описание |
---|---|
Авторизация | Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации. |
MS-APP-ACTS-AS | Идентификатор пользователя (GUID). Требуется только в том случае, если маркер авторизации является маркером приложения; В противном случае — необязательно. |
Текст запроса
В тексте запроса укажите значения для соответствующих полей, которые необходимо обновить. Существующие свойства, которые не включены в текст запроса, сохраняют свои предыдущие значения или пересчитываются на основе изменений других значений свойств. Для достижения оптимальной производительности не включайте существующие значения, которые не изменились.
Свойство | Тип | Описание |
---|---|---|
apiVersion | Int32 | Версия API для URL-адреса обратного вызова. Начните с 1. |
displayName | String | Имя интеграции рабочей силы. |
шифрование | workforceIntegrationEncryption | Ресурс шифрования интеграции сотрудников. |
isActive | Логический | Указывает, является ли эта интеграция рабочей силы активной и доступной в настоящее время. |
Поддерживает | string | Возможные значения: none , shift , swapRequest , openshift , openShiftRequest , userShiftPreferences . Если выбрано несколько значений, все значения должны начинаться с первой буквы в верхнем регистре. |
supportedEntities | string | Это свойство заменяет поддержку в версии 1.0. Рекомендуется использовать это свойство вместо поддержки. Пока свойство supports будет поддерживаться в бета-версии. Возможные значения: none , shift , swapRequest , openshift , openShiftRequest , userShiftPreferences . Если выбрано несколько значений, все значения должны начинаться с первой буквы в верхнем регистре. |
url | String | URL-адрес интеграции рабочей силы для обратных вызовов из службы Shift. |
Отклик
В случае успешного выполнения этот метод возвращает код отклика 200 OK
и обновленный объект workforceIntegration в теле отклика.
Примеры
Пример 1. Обновление объекта workforceIntegration
В следующем примере обновляется объект workforceIntegration .
Запрос
Ниже показан пример запроса.
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"
}
Отклик
Ниже показан пример отклика.
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
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"
}
Пример 2. Создание новой рабочей силыИнтеграция с поддержкой SwapRequest для фильтрации допустимости
В следующем примере создается новый объект workforceIntegration с поддержкой SwapRequest для фильтрации допустимости.
Запрос
Ниже показан пример запроса.
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"
}
Отклик
Ниже показан пример отклика.
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"
}
Сведения о создании нового объекта workforceIntegration с включенной фильтрацией по требованиям SwapRequest см. в разделе Метод Create .
Пример 3. Получение допустимых смен, если 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": [
{
"body": {
"SHFT_6548f642-cbc1-4228-8621-054327576457",
"SHFT_6548f642-cbc1-4228-8621-054327571234"
}
"id": "{shiftId}",
"status: 200,
"body": {
"data": [{ShiftId}, {ShiftId}...]
"error": null
}
]
}
Пример 4. Синхронный обратный вызов перемещается в конечную точку интеграции рабочей силы при включении уведомлений в режиме реального времени об изменениях timeCard.
Запрос
Ниже показан пример запроса.
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
}
]
}
}
}
]
}
Отклик
Ниже приводится пример отклика.
HTTP/1.1 200 OK
Content-type: application/json
{
"responses":[
{
"id": "1",
"status": 200,
"body":{
"eTag": "4000ee23-0000-0700-0000-5d1415f60000",
"error": null
}
}
]
}
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по