Compartilhar via


Criar shift

Namespace: microsoft.graph

Crie uma nova instância de turno numa agenda.

A duração de um turno não pode ser inferior a 1 minuto ou superior a 24 horas.

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) Schedule.ReadWrite.All Group.ReadWrite.All
Delegado (conta pessoal da Microsoft) Sem suporte. Sem suporte.
Application Schedule.ReadWrite.All Indisponível.

Solicitação HTTP

POST /teams/{teamId}/schedule/shifts

Cabeçalhos de solicitação

Cabeçalho Valor
Autorização {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização.
Content-Type application/json. Obrigatório.
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 do pedido, forneça uma representação JSON do objeto shift modificado.

A tabela seguinte lista as propriedades que pode utilizar quando cria um objeto shift .

Propriedade Tipo Descrição
draftShift shiftItem Redigir alterações no turno. As alterações de rascunho só são visíveis para os gestores. As alterações são visíveis para os funcionários quando são partilhados, o que copia as alterações do draftShift para a propriedade sharedShift . Eiher draShift ou sharedShift deve ser null.
isStagedForDeletion Booliano O turno é marcado para eliminação, um processo que é finalizado quando a agenda é partilhada. Opcional.
schedulingGroupId Cadeia de caracteres ID do grupo de agendamento do qual o turno faz parte. Obrigatório.
sharedShift shiftItem A versão partilhada deste turno que é visível tanto pelos colaboradores como pelos gestores. Atualizações para a propriedade sharedShift, envie notificações aos utilizadores no cliente do Teams. Eiher draShift ou sharedShift deve ser null.
userId Cadeia de caracteres ID do utilizador atribuído ao turno. Obrigatório.

Resposta

Se for bem-sucedido, este método devolve um 201 Created código de resposta e um objeto shift no corpo da resposta.

Exemplo

Solicitação

O exemplo a seguir mostra uma solicitação.

POST https://graph.microsoft.com/v1.0/teams/{teamId}/schedule/shifts
Content-type: application/json

{
  "userId": "5ca83ce7-291d-43b7-bf53-af79eef4bc1d",
  "draftShift": {
    "displayName": null,
    "startDateTime": "2024-10-08T15:00:00Z",
    "endDateTime": "2024-10-09T00:00:00Z",
    "theme": "blue",
    "notes": null,
    "activities": []
  },
  "sharedShift": null,
  "isStagedForDeletion": false
}

Resposta

O exemplo a seguir mostra a resposta.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

HTTP/1.1 201 Created
Content-type: application/json

{
  "id": "SHFT_0f004eda-32a6-4f0c-a076-18f76d997a55",
  "createdDateTime": "2024-11-08T23:49:13.877Z",
  "lastModifiedDateTime": "2024-11-08T23:49:13.877Z",
  "schedulingGroupId": "TAG_4ab7d329-1f7e-4eaf-ba93-63f1ff3f3c4a",
  "userId": "5ca83ce7-291d-43b7-bf53-af79eef4bc1d",
  "sharedShift": null,
  "lastModifiedBy": {
    "application": null,
    "device": null,
    "user": {
      "id": "366c0b19-49b1-41b5-a03f-9f3887bd0ed8",
      "displayName": "John Doe",
      "userIdentityType": "aadUser",
      "tenantId": null
    }
  },
  "draftShift": {
    "displayName": null,
    "startDateTime": "2024-10-08T15:00:00Z",
    "endDateTime": "2024-10-09T00:00:00Z",
    "theme": "blue",
    "notes": null,
    "activities": []
  },
  "isStagedForDeletion": false
}