API do usuário do WSD

  • Versão de lançamento: Australia
  • Atualizado 28 de abr. de 2026
  • 10 min. de leitura
  • . 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.

    Casos de uso comuns:
    • 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

    . Usuário do WSD A API requer:
    • 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

    . Usuário do WSD A API pertence a uma família de APIs, todas sob 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

    Tabela 1. Parâmetros de caminho
    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

    Tabela 2. Parâmetros de consulta
    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: 0

    Valor máximo: 12

    Valor padrão: 3

    future_reservations_months Número de meses de reservas futuras a serem retornadas.

    Tipo de dados: Número

    Valor mínimo: 0

    Valor máximo: 12

    Valor padrão: 3

    Tabela 3. Solicitar parâmetros do corpo (XML ou JSON)
    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 .

    Tabela 4. Cabeçalhos da solicitação
    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.
    Tabela 5. Cabeçalhos de resposta
    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 .

    Tabela 6. Códigos de status
    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

    "result": {
      "collaborators": [Array],
      "reservations": {Object},
      "schedule": {Object},
      "workplace_location": {Object}
    }
    colaboradores Lista de colaboradores do usuário com seus dados de presença.

    Tipo de dados: Matriz de objetos

    "collaborators": [
      {
        "sys_id": "String",
        "name": "String",
        "routine": "Object",
        "exceptions": "Array"
      }
    ]
    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 verdadeiro quando o usuário planeja estar no escritório naquele dia, e. falso quando a participação não é planejada.

    Tipo de dados: Matriz de objetos

    "exceptions": [
    { 
       "monday": "Boolean", 
       "tuesday": "Boolean", 
       "wednesday": "Boolean", 
       "thursday": "Boolean", 
       "friday": "Boolean", 
       "saturday": "Boolean", 
       "sunday": "Boolean" 
    }
    ]
    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 verdadeiro indica presença no escritório, e. falso indica que não há presença.

    Tipo de dados: Objeto

    "routine": {
      "monday": Boolean,
      "tuesday": Boolean,
      "wednesday": Boolean,
      "thursday": Boolean, 
      "friday": Boolean,
      "saturday": Boolean,
      "sunday": Boolean
    }
    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

    "reservations": {
      "past": [Array],
      "future": [Array]
    }
    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

    "future": [
     {
      "sys_id": "String",
      "number": "String",
      "start": "String",
      "end": "String",
      "state": "String",
      "subject": "String,
      "location": {Object},
      "building": {Object}
     }
    ]
    futuro.construção.reservas Prédio no qual o local reservado reside.

    Tipo de dados: Objeto

    "building": {
     "name": "String",
     "sys_id": "String"
    }
    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

    "location": {
      "sys_id": "String",
      "name": "String"
    }
    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:
    • confirmado
    • concluído

    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

    "past": [
     {
      "sys_id": "String",
      "number": "String",
      "start": "String",
      "end": "String",
      "state": "String",
      "subject": "String,
      "location": {Object},
      "building": {Object}
     }
    ]
    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

    "schedule": {
      "exceptions": [Array],
      "routine": {Object}
    }
    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

    "exceptions": [
    {
      "sys_id": "sys_id", 
      "date": "String", 
      "in_office": String, 
      "origin": "String", 
      "location": "String" 
     }
    ]
    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:
    • Verdadeiro: O usuário estará no escritório.
    • Falso: O usuário não estará no escritório

    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:
    • usuário : Criado manualmente pelo funcionário.
    • sistema : Criado automaticamente pela plataforma.
    • manual : Criado por um administrador ou em nome do usuário.

    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 verdadeiro indica presença no escritório, e. falso indica que não há presença.

    Tipo de dados: Objeto

    "routine": {
      "monday": Boolean,
      "tuesday": Boolean,
      "wednesday": Boolean,
      "thursday": Boolean, 
      "friday": Boolean,
      "saturday": Boolean,
      "sunday": Boolean
    }
    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": {Object},
      "campus": {Object},
      "floor": {Object},
      "name": "String",
      "sys_id": "String"
    }
    workplace_location.building Prédio no qual o local do local de trabalho reside.

    Tipo de dados: Objeto

    "building": {
      "name": "String",
      "sys_id": "String"
    }
    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

    "campus": {
      "name": "String",
      "sys_id": "String"
    }
    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

    "floor": {
      "name": "String",
      "sys_id": "String"
    }
    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": []
        }
      }
    }