Criar um novo objeto workforceIntegration .
Pode configurar as entidades para as quais pretende receber notificações de alteração síncronas do Shifts e definir entidades para configurar a filtragem ao WFM elegibilidade das regras, incluindo pedidos de troca.
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.
Aplicativo
Sem suporte.
Sem suporte.
Observação: esta API oferece transporte a permissões de administrador. Os utilizadores com funções de administrador podem aceder a grupos dos quais não são membros.
Um ID de utilizador (GUID). Necessário apenas se o token de autorização for um token de aplicação; caso contrário, opcional.
Corpo da solicitação
No corpo do pedido, forneça uma representação JSON do objeto workforceIntegration .
A tabela seguinte lista as propriedades que pode utilizar quando cria um objeto workforceIntegration .
Propriedade
Tipo
Descrição
apiVersion
Int32
Versão da API para o URL de chamada de volta. Comece com 1.
displayName
Cadeia de caracteres
Nome da integração da força de trabalho.
eligibilityFilteringEnabledEntities
eligibilityFilteringEnabledEntities
Suporte para ver resultados filtrados por elegibilidade. Os valores possíveis são: none, swapRequest, offerShiftRequest, unknownFutureValue, timeOffReason. Utilize o cabeçalho do Prefer: include-unknown-enum-members pedido para obter o seguinte valor nesta enumeração evoluível: timeOffReason.
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.
supportedEntities
workforceIntegrationSupportedEntities
As entidades Shifts suportadas para notificações de alteração síncronas. Os turnos chamam de volta para o URL fornecido quando ocorrem alterações de cliente às entidades especificadas nesta propriedade. Por predefinição, não são suportadas entidades para notificações de alteração. Os valores possíveis são: none, shift, swapRequest, userShiftPreferences, openShift, openShiftRequest, offerShiftRequest, unknownFutureValue, timeOffReason, timeOff, timeOffRequest. Utilize o cabeçalho do Prefer: include-unknown-enum-members pedido para obter os seguintes valores nesta enumeração evoluível: timeOffReason , timeOff , timeOffRequest.
url
Cadeia de caracteres
URL de integração da força de trabalho utilizado para chamadas de retorno do serviço Turnos.
Resposta
Se for bem-sucedido, este método devolve um 201 Created código de resposta e um novo objeto workforceIntegration no corpo da resposta.
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new WorkforceIntegration
{
DisplayName = "ABCWorkforceIntegration",
ApiVersion = 1,
IsActive = true,
Encryption = new WorkforceIntegrationEncryption
{
Protocol = WorkforceIntegrationEncryptionProtocol.SharedSecret,
Secret = "My Secret",
},
Url = "https://ABCWorkforceIntegration.com/Contoso/",
SupportedEntities = WorkforceIntegrationSupportedEntities.Shift | WorkforceIntegrationSupportedEntities.SwapRequest,
EligibilityFilteringEnabledEntities = EligibilityFilteringEnabledEntities.SwapRequest,
};
// To initialize your graphClient, see https://zcusa.951200.xyz/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Teamwork.WorkforceIntegrations.PostAsync(requestBody);
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
WorkforceIntegration workforceIntegration = new WorkforceIntegration();
workforceIntegration.setDisplayName("ABCWorkforceIntegration");
workforceIntegration.setApiVersion(1);
workforceIntegration.setIsActive(true);
WorkforceIntegrationEncryption encryption = new WorkforceIntegrationEncryption();
encryption.setProtocol(WorkforceIntegrationEncryptionProtocol.SharedSecret);
encryption.setSecret("My Secret");
workforceIntegration.setEncryption(encryption);
workforceIntegration.setUrl("https://ABCWorkforceIntegration.com/Contoso/");
workforceIntegration.setSupportedEntities(EnumSet.of(WorkforceIntegrationSupportedEntities.Shift, WorkforceIntegrationSupportedEntities.SwapRequest));
workforceIntegration.setEligibilityFilteringEnabledEntities(EnumSet.of(EligibilityFilteringEnabledEntities.SwapRequest));
WorkforceIntegration result = graphClient.teamwork().workforceIntegrations().post(workforceIntegration);
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\WorkforceIntegration;
use Microsoft\Graph\Generated\Models\WorkforceIntegrationEncryption;
use Microsoft\Graph\Generated\Models\WorkforceIntegrationEncryptionProtocol;
use Microsoft\Graph\Generated\Models\WorkforceIntegrationSupportedEntities;
use Microsoft\Graph\Generated\Models\EligibilityFilteringEnabledEntities;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new WorkforceIntegration();
$requestBody->setDisplayName('ABCWorkforceIntegration');
$requestBody->setApiVersion(1);
$requestBody->setIsActive(true);
$encryption = new WorkforceIntegrationEncryption();
$encryption->setProtocol(new WorkforceIntegrationEncryptionProtocol('sharedSecret'));
$encryption->setSecret('My Secret');
$requestBody->setEncryption($encryption);
$requestBody->setUrl('https://ABCWorkforceIntegration.com/Contoso/');
$requestBody->setSupportedEntities(new WorkforceIntegrationSupportedEntities('shift,SwapRequest'));
$requestBody->setEligibilityFilteringEnabledEntities(new EligibilityFilteringEnabledEntities('swapRequest'));
$result = $graphServiceClient->teamwork()->workforceIntegrations()->post($requestBody)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.workforce_integration import WorkforceIntegration
from msgraph.generated.models.workforce_integration_encryption import WorkforceIntegrationEncryption
from msgraph.generated.models.workforce_integration_encryption_protocol import WorkforceIntegrationEncryptionProtocol
from msgraph.generated.models.workforce_integration_supported_entities import WorkforceIntegrationSupportedEntities
from msgraph.generated.models.eligibility_filtering_enabled_entities import EligibilityFilteringEnabledEntities
# To initialize your graph_client, see https://zcusa.951200.xyz/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = WorkforceIntegration(
display_name = "ABCWorkforceIntegration",
api_version = 1,
is_active = True,
encryption = WorkforceIntegrationEncryption(
protocol = WorkforceIntegrationEncryptionProtocol.SharedSecret,
secret = "My Secret",
),
url = "https://ABCWorkforceIntegration.com/Contoso/",
supported_entities = WorkforceIntegrationSupportedEntities.Shift | WorkforceIntegrationSupportedEntities.SwapRequest,
eligibility_filtering_enabled_entities = EligibilityFilteringEnabledEntities.SwapRequest,
)
result = await graph_client.teamwork.workforce_integrations.post(request_body)
Para ver como atualizar uma força de trabalho existente com SwapRequest ativado para filtragem de elegibilidade, consulte Atualizar.
Exemplo de obtenção de 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 seguirá 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.