timeCard: clockIn

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.

Registre a entrada para iniciar um timeCard.

Essa API está disponível nas seguintes implantações de nuvem nacional.

Serviço global Governo dos EUA L4 US Government L5 (DOD) China operada pela 21Vianet
✅ ❌ ❌ ❌

Permissões

Escolha a(s) permissão(s) marcada(s) como menos privilegiada(s) para essa API. Use uma permissão ou permissões com privilégios mais altos 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 com privilégios mais elevados
Delegado (conta corporativa ou de estudante) Schedule.ReadWrite.All Indisponível.
Delegado (conta pessoal da Microsoft) Sem suporte. Sem suporte.
Application Schedule.ReadWrite.All Indisponível.

Solicitação HTTP

POST /teams/{teamId}/schedule/timeCards/clockIn

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) Uma ID de usuário (GUID). Necessário somente se o token de autorização for um token de aplicativo; caso contrário, opcional. O MS-APP-ACTS-AS cabeçalho foi preterido e não é mais necessário com tokens de aplicativo.

Corpo da solicitação

Forneça um objeto JSON com os seguintes parâmetros no corpo da solicitação.

Parâmetro Tipo Descrição
isAtApprovedLocation Booliano Indica se essa ação ocorre em um local aprovado.
notes itemBody Notas para o registro de entrada.
atApprovedLocation (preterido) Booliano Indica se essa ação ocorre em um local aprovado. Esta propriedade será removida até 27 de novembro de 2027. Use isAtApprovedLocation em vez disso. atApprovedLocation e isAtApprovedLocation sempre tiverem o mesmo valor, portanto, definir um define automaticamente o valor do outro. Se ambos estiverem incluídos na solicitação com valores diferentes, o valor para isAtApprovedLocation terá precedência.
onBehalfOfUserId string A ID do usuário que você está registrando em nome.

Resposta

Se for bem-sucedido, esse método retornará um código de 201 Created resposta e um objeto timeCard no corpo da resposta.

Exemplos

Exemplo 1: registrar entrada como você mesmo

Solicitação

O exemplo a seguir mostra uma solicitação.

POST https://graph.microsoft.com/beta/teams/fd15cad8-80f6-484f-9666-3caf695fbf32/schedule/timeCards/clockin
Content-type: application/json

{
    "isAtApprovedLocation": true,
    "notes": {
        "contentType": "text",
        "content": "clocking in"
    }
}

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": "TCK_cc09588d-d9d2-4fa0-85dc-2aa5ef983972",
    "createdDateTime": "2021-05-27T22:58:41.327Z",
    "lastModifiedDateTime": "2021-05-27T22:58:41.327Z",
    "userId": "70e47528-2fae-42b5-9d8e-ee73ccd90603",
    "state": "clockedIn",
    "confirmedBy": "none",
    "clockOutEvent": null,
    "notes": null,
    "lastModifiedBy": {
        "application": null,
        "device": null,
        "conversation": null,
        "user": {
            "id": "70e47528-2fae-42b5-9d8e-ee73ccd90603",
            "displayName": "Jing Jing GuTwo"
        }
    },
    "clockInEvent": {
        "dateTime": "2021-05-27T22:58:41.327Z",
        "atApprovedLocation": true,
        "isAtApprovedLocation": true,
        "notes": {
            "contentType": "text",
            "content": "clocking in"
        }
    },
    "breaks": [],
    "originalEntry": {
        "clockOutEvent": null,
        "clockInEvent": {
            "dateTime": "2021-05-27T22:58:41.327Z",
            "atApprovedLocation": true,
            "isAtApprovedLocation": true,
            "notes": {
                "contentType": "text",
                "content": "clocking in"
            }
        },
        "breaks": []
    },
    "createdBy": {
        "application": null,
        "device": null,
        "conversation": null,
        "user": {
            "id": "70e47528-2fae-42b5-9d8e-ee73ccd90603",
            "displayName": "Jing Jing GuTwo"
        }
    }
}

Exemplo 2: registrar entrada em nome de outro usuário

Solicitação

O exemplo a seguir mostra uma solicitação.

POST https://graph.microsoft.com/beta/teams/fd15cad8-80f6-484f-9666-3caf695fbf32/schedule/timeCards/clockin
Content-type: application/json

{
  "isAtApprovedLocation": true,
  "onBehalfOfUserId": "3f29c8e7-7a41-4d8e-99d6-2b1f76c9421e"
}

Resposta

O exemplo a seguir mostra a resposta.

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

{
  "id": "TCK_95c44dff-bc12-4de2-8a9a-9772e4421eb4",
  "createdDateTime": "2025-05-07T21:35:36.311Z",
  "lastModifiedDateTime": "2025-05-07T21:35:36.311Z",
  "userId": "3f29c8e7-7a41-4d8e-99d6-2b1f76c9421e",
  "state": "clockedIn",
  "confirmedBy": "none",
  "clockOutEvent": null,
  "notes": null,
  "lastModifiedBy": {
    "application": null,
    "device": null,
    "user": {
      "id": "d56f3e8a-2b0f-42b1-88b9-e2dbd12a34d2",
      "displayName": "Alice Bradford"
    }
  },
  "clockInEvent": {
    "dateTime": "2025-05-07T21:35:36.311Z",
    "isAtApprovedLocation": true,
    "notes": null
  },
  "breaks": [],
  "originalEntry": {
    "clockOutEvent": null,
    "clockInEvent": {
      "dateTime": "2025-05-07T21:35:36.311Z",
      "isAtApprovedLocation": true,
      "notes": null
    },
    "breaks": []
  },
  "createdBy": {
    "application": null,
    "device": null,
    "user": {
      "id": "d56f3e8a-2b0f-42b1-88b9-e2dbd12a34d2",
      "displayName": "Alice Bradford"
    }
  }
}