API do usuário do WSD
. Usuário do WSD A API é uma REST API com script que retorna o contexto do local de trabalho do usuário autenticado, incluindo o local do espaço atribuído, a programação de presença no escritório, colaboradores e reservas passadas e futuras.
Isso Usuário do WSD é apresentado com Prestação de serviços no local de trabalho(WSD) produto de reserva e fornece um ponto de entrada de chamada única para inicializar a experiência de reserva com todos os dados relevantes do usuário. Esta API está dentro de Prestação de serviços no local de trabalho Plug-in de reserva (com.sn_wsd_rsv) e serve como ponto de entrada para exibir a identidade e o histórico completos do local de trabalho de um usuário.
Um usuário autenticado é alguém que está conectado ou cujas credenciais estão incluídas na solicitação de API.
- Inicialização do portal de reservas: Carregue o local inicial, a programação e o histórico de agendamentos de um usuário em uma única chamada ao abrir um portal ou app do local de trabalho.
- Apps personalizados para celular ou web: Busque todo o contexto do usuário sem agrupar várias chamadas de API de tabela, por exemplo, ao criar experiências de reserva de front-end.
- Acompanhamento de presença no escritório: Identifique quais funcionários estão agendados para estar no escritório em um determinado dia.
Requisitos
- Deve existir pelo menos um registro de usuário com a função sn_wsd_core.workplace_user.
- . Prestação de serviços no local de trabalho Concierge (com.sn_wsd_concierge), Prestação de serviços no local de trabalho Core (com.sn_wsd_core), e. Prestação de serviços no local de trabalho Plug-ins de reserva (com.sn_wsd_rsv) a serem ativados.
APIs relacionadas
sn_wsd_rsv namespace que, juntos, oferecem suporte a todo o ciclo de vida de reserva:- API de pesquisa do WSD: Encontre espaços reserváveis disponíveis com base em critérios de local, horário e capacidade.
- API de reserva do WSD: Crie reservas e gerencie check-in/check-out.
- API do módulo reservável do WSD: Recupere as configurações de regra de reserva que regem o que os usuários podem reservar e como.
Usuário do WSD - OBTER /api/sn_wsd_rsv/v1/user/context
Recupera o contexto do local de trabalho do usuário autenticado, incluindo o local de trabalho atribuído, a programação de presença, colaboradores e reservas passadas e futuras.
Use este endpoint para inicializar uma experiência de reserva carregando todo o contexto do usuário relevante em uma única chamada. Os dados do colaborador são incluídos opcionalmente quando o plug-in com.sn_wsd_concierge está ativo.
Formato de URL
URL com controle de versão: /api/sn_wsd_rsv//user/context
URL padrão: /api/sn_wsd_rsv/user/context
Parâmetros de solicitação compatíveis
| Nome | Descrição |
|---|---|
| api_version | Opcional. Versão do endpoint para acessar. Por exemplo, v1 ou v2 . Especifique este valor somente para usar uma versão de endpoint diferente da mais recente. Tipo de dados: Cadeia de caracteres |
| Nome | Descrição |
|---|---|
| incluir | Valor para incluir dados relacionados na resposta. Usa correspondência de igualdade estrita (não análise separada por vírgulas). Nota: includesó entra em vigor quando Prestação de serviços no local de trabalho O plug-in Concierge (com.sn_wsd_concierge) está ativo. Somente valor válido: colaboradores Tipo de dados: Cadeia de caracteres Padrão: Exclui colaboradores da resposta. |
| past_reservations_months | Número de meses de reservas anteriores a serem retornadas. Tipo de dados: Número Valor mínimo: Valor máximo: Valor padrão: |
| future_reservations_months | Número de meses de reservas futuras a serem retornadas. Tipo de dados: Número Valor mínimo: Valor máximo: Valor padrão: |
| Nome | Descrição |
|---|---|
| Nenhum(a) |
Cabeçalhos
Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos da REST API compatíveis .
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. Tipos compatíveis: Application/json, application/xml, text/xml. |
| Autorização | Credenciais de autenticação. Compatível com autenticação básica ou autenticação baseada em sessão. |
| Cabeçalho | Descrição |
|---|---|
| Tipo de conteúdo | Formato de dados do corpo da resposta: Aplicação/json. |
Códigos de status
Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de possíveis códigos de status usados na REST API, consulte REST API códigos de resposta HTTP .
| Código de status | Descrição |
|---|---|
| 200 | Bem-sucedido. A solicitação foi processada com sucesso. |
| 500 | Erro interno do servidor. Ocorreu um erro inesperado ao processar a solicitação. A resposta contém informações adicionais sobre o erro. |
Parâmetros do corpo da resposta (JSON ou XML)
| Nome | Descrição |
|---|---|
| resultado | Objeto que contém resultados da solicitação. Tipo de dados: Objeto |
| colaboradores | Lista de colaboradores do usuário com seus dados de presença. Tipo de dados: Matriz de objetos |
| exceções.colaboradores | Lista de datas em que a programação no escritório do colaborador se desvia de sua rotina. Contém um sinalizador booliano para cada dia da semana que indica a participação planejada no escritório. Exibido Tipo de dados: Matriz de objetos |
| collaborators.name | Nome de exibição do colaborador. Por exemplo, E Jane Smith . Tipo de dados: Cadeia de caracteres |
| colaboradores.rotina | A programação semanal recorrente no escritório do colaborador. Segue a mesma estrutura booliana do dia da semana que schedule.routine. Um valor de Tipo de dados: Objeto |
| sys_id.colaboradores | Sys_id do registro de usuário do colaborador. Tabela: Usuário [sys_user] Tipo de dados: Cadeia de caracteres |
| reservas | Objeto que contém as reservas passadas e futuras do usuário. As reservas privadas e sem local estão excluídas. Máximo de 100 reservas por direção. Filtrado por estados: Confirmado, Concluído. Tipo de dados: Objeto |
| reservas.futuro | Lista de reservas futuras do usuário dentro do intervalo de meses solicitado. Pedido por data/hora de início, o mais rápido primeiro. Tipo de dados: Matriz de objeto |
| futuro.construção.reservas | Prédio no qual o local reservado reside. Tipo de dados: Objeto |
| reservations.future.building.name | Nome de exibição do prédio. Por exemplo, Sede A . Tipo de dados: Cadeia de caracteres |
| sys_id.building.future.building.sys_id | Sys_id do registro de construção. Tabela: Prédio do local de trabalho [sn_wsd_core_building] Tipo de dados: Cadeia de caracteres |
| fim.futuros.reservas | Data e hora de término da reserva em UTC. Formato: aaaa-MM-dd HH:mm:ss Tipo de dados: Cadeia de caracteres |
| local.futuro.reservas | O espaço reservado. Tipo de dados: Objeto |
| reservations.future.location.name | Nome de exibição do local reservado. Por exemplo, Mesa 42 . Tipo de dados: Cadeia de caracteres |
| sys_id.future.location.sys_id | Sys_id do local reservado. Tabela: Local do local de trabalho [sn_wsd_core_workplace_location] Tipo de dados: Cadeia de caracteres |
| número.futuros.reservas | Número de reserva legível. Por exemplo, RSV0001234 . Tipo de dados: Cadeia de caracteres |
| futuro.início | Data e hora de início da reserva em UTC. Formato: aaaa-MM-dd HH:mm:ss Tipo de dados: Cadeia de caracteres |
| estado.futuro.reservas | Estado atual da reserva. Valores válidos:
Tipo de dados: Cadeia de caracteres |
| futuro.assunto.reservas | Assunto ou título da reserva. Por exemplo, Mesa em pé da equipe . Tipo de dados: Cadeia de caracteres |
| sys_id.reservations.future.sys_id | Sys_id do registro de reserva. Tabela: Reserva do local de trabalho [sn_wsd_rsv_reservation] Tipo de dados: Cadeia de caracteres |
| reservas.passadas | Lista de reservas anteriores do usuário dentro do intervalo de meses solicitado. Ordenado por data/hora de início, mais recente primeiro. Segue a mesma estrutura de matriz que reservation.future. Tipo de dados: Matriz de objetos |
| agendamento | Programação de presença no escritório do usuário, incluindo sua rotina semanal recorrente e quaisquer exceções. Nota: Quando o plug-in com.sn_wsd_concierge está inativo, a rotina é nula e as exceções são uma matriz vazia. Tipo de dados: Objeto |
| exceções.schedule | Lista de datas em que a programação no escritório do usuário se desvia da rotina. Tipo de dados: Matriz de objetos |
| schedule.exceptions.date | Data à qual esta exceção se aplica, no formato aaaa-MM-dd. Esta é a data em que a rotina do usuário está sendo substituída. Tipo de dados: Cadeia de caracteres |
| schedule.exceptions.in_office | Sinalizador que indica se o usuário estará no escritório nesta data. Isso substitui o que a programação especifica para esse dia da semana. Valores válidos:
Tipo de dados: Cadeia de caracteres |
| schedule.exceptions.location | O nome ou identificador do local do escritório em que o usuário estará nesta data. Relevante somente quando no_escritório é verdadeiro . Pode ser uma cadeia de caracteres vazia quando o usuário é remoto.Tipo de dados: Cadeia de caracteres |
| origem.schedule.exceptions.origin | Origem que criou a exceção. Valores válidos:
Tipo de dados: Cadeia de caracteres |
| schedule.exceptions.sys_id | Sys_id do registro de exceção. Tabela: Exceções de presença do funcionário (sn_wsd_concierge_employee_presence_exception) Tipo de dados: Cadeia de caracteres |
| rotina.programação | Programação semanal recorrente no escritório do usuário. Cada campo é um booliano que representa um dia da semana e indica se o usuário está agendado para estar no escritório nesse dia. Um valor de Tipo de dados: Objeto |
| workplace_location | O local de trabalho atribuído ao usuário, incluindo detalhes de piso, prédio e campus. Tipo de dados: Objeto |
| workplace_location.building | Prédio no qual o local do local de trabalho reside. Tipo de dados: Objeto |
| workplace_location.building.name | Nome de exibição do prédio. Por exemplo, Sede A . Tipo de dados: Cadeia de caracteres |
| workplace_location.building.sys_id | Sys_id do registro de construção. Tabela: Prédio do local de trabalho [sn_wsd_core_building] Tipo de dados: Cadeia de caracteres |
| workplace_location.campus | Campus no qual o prédio reside. Tipo de dados: Objeto |
| workplace_location.campus.name | Nome de exibição do campus. Por exemplo, Campus principal . Tipo de dados: Cadeia de caracteres |
| workplace_location.campus.sys_id | Sys_id do registro do campus. Tabela: Campus do local de trabalho [sn_wsd_core_campus] Tipo de dados: Cadeia de caracteres |
| workplace_location.floor | Andar no qual o local do local de trabalho reside. Tipo de dados: Objeto |
| workplace_location.floor.name | Sys_id do registro de piso. Tabela: Piso do local de trabalho [sn_wsd_core_floor] Tipo de dados: Cadeia de caracteres |
| local_de_trabalho.piso.sys_id | Nome de exibição do andar. Por exemplo, Piso 3 . Tipo de dados: Cadeia de caracteres |
| workplace_location.name | Nome de exibição do local de trabalho atribuído ao usuário. Por exemplo, Mesa 42 - Piso 3 . Tipo de dados: Cadeia de caracteres |
| local_de_trabalho.sys_id | SYS_id do local de trabalho atribuído ao usuário. Tabela: Local do local de trabalho [sn_wsd_core_workplace_location] Tipo de dados: Cadeia de caracteres |
Solicitação de curl
O exemplo a seguir recupera o contexto completo do local de trabalho do usuário autenticado, incluindo colaboradores, 1 mês de reservas anteriores e 6 meses de reservas futuras.
curl "https://<instance>.service-now.com/api/sn_wsd_rsv/v1/user/context?include=collaborators&past_reservations_months=1&future_reservations_months=6" \
--request GET \
--header "Accept: application/json" \
--user "username:password"
Corpo da resposta.
{
"result": {
"workplace_location": {
"sys_id": "a1b2c3d4e5f6g7h8",
"name": "Desk 42 - Floor 3",
"floor": { "sys_id": "f1a2b3c4", "name": "Floor 3" },
"building": { "sys_id": "b1c2d3e4", "name": "HQ Building A" },
"campus": { "sys_id": "c1d2e3f4", "name": "Main Campus" }
},
"schedule": {
"routine": {
"monday": true, "tuesday": true, "wednesday": false,
"thursday": true, "friday": false, "saturday": false, "sunday": false
},
"exceptions": []
},
"collaborators": [
{
"sys_id": "d4e5f6g7",
"name": "Jane Smith",
"routine": { "monday": true, "tuesday": false, "wednesday": true,
"thursday": true, "friday": false, "saturday": false, "sunday": false },
"exceptions": []
}
],
"reservations": {
"past": [
{
"sys_id": "r1e2s3v4",
"number": "RSV0001234",
"start": "2026-04-01 09:00:00",
"end": "2026-04-01 17:00:00",
"state": "completed",
"subject": "Team standup desk",
"location": { "sys_id": "l1o2c3", "name": "Desk 42" },
"building": { "sys_id": "b1c2d3e4", "name": "HQ Building A" }
}
],
"future": []
}
}
}