Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Namespace: microsoft.graph
Importante
As APIs na versão /beta no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.
Atualize as propriedades de um objeto workforceintegration .
Esta API está disponível nas seguintes implementações de cloud nacionais.
| Serviço global | US Government L4 | US Government L5 (DOD) | China operada pela 21Vianet |
|---|---|---|---|
| ✅ | ❌ | ❌ | ❌ |
Permissões
Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.
| Tipo de permissão | Permissões com menos privilégios | Permissões com privilégios superiores |
|---|---|---|
| Delegado (conta corporativa ou de estudante) | WorkforceIntegration.ReadWrite.All | Indisponível. |
| Delegado (conta pessoal da Microsoft) | Sem suporte. | Sem suporte. |
| Application | WorkforceIntegration.ReadWrite.All | Indisponível. |
Solicitação HTTP
PATCH /teamwork/workforceIntegrations/{workforceIntegrationId}
Cabeçalhos de solicitação
| Nome | Descrição |
|---|---|
| Autorização | {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização. |
| MS-APP-ACTS-AS (preterido) | Um ID de utilizador (GUID). Necessário apenas se o token de autorização for um token de aplicação; caso contrário, opcional. O MS-APP-ACTS-AS cabeçalho foi preterido e já não é necessário com tokens de aplicação. |
Corpo da solicitação
No corpo da solicitação, forneça os valores para os campos relevantes que devem ser atualizados. As propriedades existentes que não estão incluídas no corpo do pedido mantêm os valores anteriores ou são recalculadas com base em alterações a outros valores de propriedade. Para alcançar o melhor desempenho, não inclua valores existentes que não foram alterados.
| Propriedade | Tipo | Descrição |
|---|---|---|
| apiVersion | Int32 | Versão da API para o URL de chamada de retorno. Comece com 1. |
| displayName | Cadeia de caracteres | Nome da integração da força de trabalho. |
| criptografia | workforceIntegrationEncryption | O recurso de encriptação de integração da força de trabalho. |
| isActive | Booliano | Indica se esta integração da força de trabalho está atualmente ativa e disponível. |
| suporta | string | Os valores possíveis são none, shift, swapRequest, openshift, openShiftRequest, . userShiftPreferences Se selecionar mais do que um valor, todos os valores têm de começar com a primeira letra em maiúsculas. |
| supportedEntities | string | Esta propriedade substitui os suportes em v1.0. Recomendamos que utilize esta propriedade em vez de suportes. A propriedade de suporte continuará a ser suportada na versão beta por enquanto. Os valores possíveis são none, shift, swapRequest, openshift, openShiftRequest, . userShiftPreferences Se selecionar mais do que um valor, todos os valores têm de começar com a primeira letra em maiúsculas. |
| url | Cadeia de caracteres | URL de Integração da Força de Trabalho para chamadas de retorno do serviço Shift. |
Resposta
Se for bem-sucedido, este método devolve um 200 OK código de resposta e um objeto workforceIntegration atualizado no corpo da resposta.
Exemplos
Exemplo 1: Atualizar um objeto workforceIntegration
O exemplo seguinte atualiza um objeto workforceIntegration .
Solicitação
O exemplo a seguir mostra uma solicitação.
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"
}
Resposta
O exemplo a seguir mostra a resposta.
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
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"
}
Exemplo 2: Criar uma nova força de trabalhoIntegração com SwapRequest ativado para filtragem de elegibilidade
O exemplo seguinte cria uma nova workforceIntegration com SwapRequest ativado para filtragem de elegibilidade.
Solicitação
O exemplo a seguir mostra uma solicitação.
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"
}
Resposta
O exemplo a seguir mostra a resposta.
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 criar uma nova força de trabalhoIntegration com SwapRequest ativado para filtragem de elegibilidade, veja o método Criar .
Exemplo 3: obter turnos elegíveis quando SwapRequest está incluído na elegibilidadeFilteringEnabledEntities
A interação entre a aplicação Shifts e os pontos finais de integração da força de trabalho segue o padrão existente.
Solicitação
O exemplo seguinte mostra um pedido feito por Turnos para o ponto final de integração da força de trabalho para obter turnos elegíveis para um pedido de troca.
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}”
}]
}
Resposta
Eis um exemplo da resposta do serviço de integração da força de trabalho.
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
}
]
}
Exemplo 4: muda a chamada de retorno síncrona para o ponto final de integração da força de trabalho quando ativada para notificações em tempo real em alterações timeCard.
Solicitação
O exemplo a seguir mostra uma solicitação.
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
}
]
}
}
}
]
}
Resposta
O exemplo a seguir mostra a resposta.
HTTP/1.1 200 OK
Content-type: application/json
{
"responses":[
{
"id": "1",
"status": 200,
"body":{
"eTag": "4000ee23-0000-0700-0000-5d1415f60000",
"error": null
}
}
]
}