Atualizar workforceintegration
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 .
Essa API está disponível nas seguintes implantações nacionais de nuvem.
Serviço global | Governo dos EUA L4 | GOVERNO DOS EUA L5 (DOD) | China operada pela 21Vianet |
---|---|---|---|
✅ | ❌ | ❌ | ❌ |
Permissões
Escolha a permissão ou as permissões marcadas como menos privilegiadas para essa API. Use uma permissão ou permissões privilegiadas mais altas somente se o aplicativo exigir. Para obter detalhes sobre permissões delegadas e de aplicativo, consulte Tipos de permissão. Para saber mais sobre essas permissões, consulte a referência de permissões.
Tipo de permissão | Permissões menos privilegiadas | Permissões privilegiadas mais altas |
---|---|---|
Delegado (conta corporativa ou de estudante) | WorkforceIntegration.ReadWrite.All | Indisponível. |
Delegado (conta pessoal da Microsoft) | Sem suporte. | Sem suporte. |
Aplicativo | Sem suporte. | Sem suporte. |
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 | Uma ID de usuário (GUID). Necessário somente se o token de autorização for um token de aplicativo; caso contrário, opcional. |
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 da solicitação mantêm seus valores anteriores ou são recalculadas com base em alterações em 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 a url de retorno de chamada. Comece com 1. |
displayName | Cadeia de caracteres | Nome da integração da força de trabalho. |
criptografia | workforceIntegrationEncryption | O recurso de criptografia de integração da força de trabalho. |
isActive | Booliano | Indica se essa integração da força de trabalho está ativa e disponível no momento. |
Suporta | string | Os valores possíveis são none , shift , swapRequest , openshift , , openShiftRequest . userShiftPreferences Se selecionar mais de um valor, todos os valores devem começar com a primeira letra em maiúsculas. |
supportedEntities | cadeia de caracteres | Essa propriedade substitui os suportes no v1.0. Recomendamos que você use essa propriedade em vez de suportes. A propriedade de suporte ainda terá suporte em beta por enquanto. Os valores possíveis são none , shift , swapRequest , openshift , , openShiftRequest . userShiftPreferences Se selecionar mais de um valor, todos os valores devem começar com a primeira letra em maiúsculas. |
url | Cadeia de caracteres | Url de Integração da Força de Trabalho para retornos de chamada do serviço Shift. |
Resposta
Se for bem-sucedido, esse método retornará 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 a seguir 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 trabalhoIntegration com SwapRequest habilitado para filtragem de elegibilidade
O exemplo a seguir cria uma nova força de trabalhoIntegration com SwapRequest habilitado 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 o SwapRequest habilitado para filtragem de elegibilidade, consulte o método Criar .
Exemplo 3: Buscar turnos qualificados quando SwapRequest é incluído em eligibilityFilteringEnabledEntities
A interação entre o aplicativo Shifts e os pontos de extremidade de integração da força de trabalho segue o padrão existente.
Solicitação
O exemplo a seguir mostra uma solicitação feita pelo Shifts para o ponto de extremidade de integração da força de trabalho para buscar turnos qualificados para uma solicitação 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
Aqui está 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 o retorno de chamada síncrono para o ponto de extremidade de integração da força de trabalho quando habilitado para notificações em tempo real em alterações no 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
}
}
]
}