Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Espacio de nombres: microsoft.graph
Importante
Las API de la versión /beta de Microsoft Graph están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción. Para determinar si una API está disponible en la versión 1.0, use el selector de Versión.
Actualizar las propiedades de un objeto workforceintegration .
Esta API está disponible en las siguientes implementaciones en la nube nacional.
| Servicio global | Administración pública de EE. UU. | Gobierno de EE. UU. L5 (DOD) | China operado por 21Vianet |
|---|---|---|---|
| ✅ | ❌ | ❌ | ❌ |
Permissions
Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use uno o varios permisos con privilegios más altos solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.
| Tipo de permiso | Permisos con privilegios mínimos | Permisos con privilegios más altos |
|---|---|---|
| Delegado (cuenta profesional o educativa) | WorkforceIntegration.ReadWrite.All | No disponible. |
| Delegado (cuenta personal de Microsoft) | No admitida. | No admitida. |
| Aplicación | WorkforceIntegration.ReadWrite.All | No disponible. |
Solicitud HTTP
PATCH /teamwork/workforceIntegrations/{workforceIntegrationId}
Encabezados de solicitud
| Nombre | Descripción |
|---|---|
| Authorization | {token} de portador. Obligatorio. Obtenga más información sobre autenticación y autorización. |
| MS-APP-ACTS-AS (en desuso) | Un identificador de usuario (GUID). Solo es necesario si el token de autorización es un token de aplicación; De lo contrario, es opcional. El MS-APP-ACTS-AS encabezado está en desuso y ya no es necesario con los tokens de aplicación. |
Cuerpo de solicitud
En el cuerpo de la solicitud, proporcione los valores de los campos relevantes que deben actualizarse. Las propiedades existentes que no están incluidas en el cuerpo de la solicitud mantienen sus valores anteriores o se recalculan en función de los cambios realizados en otros valores de propiedad. Para obtener el mejor rendimiento, no incluya valores existentes que no hayan cambiado.
| Propiedad | Tipo | Description |
|---|---|---|
| apiVersion | Int32 | Versión de API para la dirección URL de devolución de llamada. Comience con 1. |
| displayName | Cadena | Nombre de la integración de la fuerza laboral. |
| cifrado | workforceIntegrationEncryption | El recurso de cifrado de integración de la fuerza de trabajo. |
| isActive | Booleano | Indica si esta integración de la fuerza laboral está actualmente activa y disponible. |
| Admite | string | Los valores posibles son none, shift, swapRequest, openshift, openShiftRequest, userShiftPreferences, . Si se selecciona más de un valor, todos los valores deben comenzar con la primera letra en mayúscula. |
| Entidades admitidas | string | Esta propiedad reemplaza los apoyos en v1.0. Le recomendamos que use esta propiedad en lugar de supports. La propiedad supports seguirá siendo compatible en beta por el momento. Los valores posibles son none, shift, swapRequest, openshift, openShiftRequest, userShiftPreferences, . Si se selecciona más de un valor, todos los valores deben comenzar con la primera letra en mayúscula. |
| URL | Cadena | URL de integración de la mano de obra para las devoluciones de llamada del servicio Turnos. |
Respuesta
Si se realiza correctamente, este método devuelve un 200 OK código de respuesta y un objeto workforceIntegration actualizado en el cuerpo de la respuesta.
Ejemplos
Ejemplo 1: Actualizar un objeto workforceIntegration
En el ejemplo siguiente se actualiza un objeto workforceIntegration .
Solicitud
En el ejemplo siguiente se muestra la solicitud.
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"
}
Respuesta
En el ejemplo siguiente se muestra la respuesta.
Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.
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"
}
Ejemplo 2: Crear una nueva workforceIntegration con SwapRequest habilitado para el filtrado de elegibilidad
En el ejemplo siguiente se crea un nuevo workforceIntegration con SwapRequest habilitado para el filtrado de elegibilidad.
Solicitud
En el ejemplo siguiente se muestra la solicitud.
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"
}
Respuesta
En el ejemplo siguiente se muestra la respuesta.
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"
}
Para crear un nuevo workforceIntegration con SwapRequest habilitado para el filtrado de elegibilidad, consulte el método Create .
Ejemplo 3: Captura de turnos elegibles cuando SwapRequest se incluye en eligibilityFilteringEnabledEntities
La interacción entre la aplicación Turnos y los puntos de conexión de integración de personal sigue el patrón existente.
Solicitud
En el ejemplo siguiente se muestra una solicitud realizada por Turnos al punto de conexión de integración de personal para capturar turnos aptos para una solicitud de intercambio.
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}”
}]
}
Respuesta
En el ejemplo siguiente se muestra la respuesta del servicio de integración de la fuerza laboral.
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
}
]
}
Ejemplo 4: Cambia la devolución de llamada sincrónica al punto de conexión de integración de la fuerza laboral cuando se habilita para notificaciones en tiempo real sobre cambios de timeCard.
Solicitud
En el ejemplo siguiente se muestra la solicitud.
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
}
]
}
}
}
]
}
Respuesta
En el ejemplo siguiente se muestra la respuesta.
HTTP/1.1 200 OK
Content-type: application/json
{
"responses":[
{
"id": "1",
"status": 200,
"body":{
"eTag": "4000ee23-0000-0700-0000-5d1415f60000",
"error": null
}
}
]
}