API do webhook do conector do local de trabalho

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 5 min. de leitura
  • . Webhook do conector do local de trabalho A API é uma interface genérica que permite que dados de diferentes tipos de hardware ou sensores do local de trabalho (como sistemas de crachás ou sensores de ocupação) sejam armazenados nas tabelas de Prestação de serviços no local de trabalho.

    Esta API é executada no sn_wsd_wc namespace. Para acessar esta API, o plug-in do Workplace Connectors (com.sn_wsd_wc) deve estar ativado.

    Antes de chamar esta API, você deve configurar registros nas tabelas Configuração do conector [sn_wsd_wc_connector_config] e Configuração do provedor [sn_wsd_wc_provider_config]. Para obter informações sobre como configurar esses registros, consulte Configure Workplace Connectors.

    Além disso, você deve configurar um ponto de extensão que defina a conversão/mapeamento de dados da carga útil do evento baseada em hardware/sensor para o destino ServiceNow Tabela, como a tabela Dados de presença do funcionário [sn_wsd_wc_employee_attendance_data].

    Para obter informações adicionais sobre webhooks do conector do local de trabalho, consulte Workplace Connectors.

    Webhook do conector do local de trabalho - POST /workplace_connector_webhook/event

    Cria um registro na tabela Eventos do conector [sn_wsd_wc_connector_events] e armazena os dados de evento baseados em hardware/sensor passados na carga do endpoint no campo Carga desse registro.

    Depois que o endpoint armazena a carga, ele define o campo Estado no registro de eventos do conector como novo indicando que a carga não foi processada.

    Um trabalho agendado localiza os novos registros de selo na tabela Eventos do conector e os transforma e grava na tabela Dados de presença do funcionário [sn_wsd_wc_employee_attensiance_data]. O campo Estado é definido como processado .

    O mapeamento dos dados entre os dados de carga no registro de eventos do conector e o registro de dados de presença do funcionário é definido em um ponto de extensão. Este ponto de extensão é identificado no campo Definição do ponto de extensão na tabela Configuração do conector associado [sn_wsd_wc_connector_config]. Para este endpoint, este é o ponto de extensão BadgingDataHandler.

    Nota:
    Registros na tabela Eventos do conector no processado os estados são limpos após dois dias a partir da data de criação. Registros no erro os estados são limpos após sete dias a partir da data de criação. Registros no novo nunca são limpos.

    Formato de URL

    URL com controle de versão: /api/sn_wsd_wc//workplace_connector_webhook/event

    URL padrão: /api/sn_wsd_wc/workplace_connector_webhook/event

    Nota:
    As versões disponíveis são especificadas em REST API Explorer . Para REST APIs com script, há informações adicionais de versão no Formulário de serviço REST com script .

    Parâmetros de solicitação compatíveis

    Tabela 1. Parâmetros de caminho
    Nome Descrição
    api_version Opcional. Versão do endpoint a ser acessado. 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
    ni.nolog.id Obrigatório. Sys_id do registro de configuração do provedor associado ao hardware que gerou as informações do evento.

    Tipo de dados: Cadeia de caracteres

    Configuração do provedor [sn_wsd_wc_provider_config]

    token_name Nome do token de segurança, como um nome de usuário ou outro valor que identifica o token de segurança. Usado para autenticar a solicitação.

    Tipo de dados: Cadeia de caracteres

    Tabela: Configuração do provedor [sn_wsd_wc_provider_config]

    token_value Valor associado ao token de segurança, como uma senha. Usado para autenticar a solicitação.

    Tipo de dados: Cadeia de caracteres

    Tabela: Configuração do provedor [sn_wsd_wc_provider_config]

    Tabela 3. Solicitar parâmetros do corpo (XML ou JSON)
    Nome Descrição
    <payload> Pares nome-valor dos dados de evento baseados em hardware/sensor.

    Os nomes devem corresponder aos nomes identificados no ponto de extensão BadgingDataHandler.

    Por exemplo:

    {
      "Time zone": "(UTC-08:00) Pacific Time (US & Canada)",
      "Event": "Access granted",
      "Door": "L_SJC005_B1.101_ELEVATOR 2 INT",
      "Side": "Reader - In",
      "Cardholder": "ninat.salem",
      "First name": "Nina T",
      "Last name": "Salem",
      "Credential": " ninat.salem's credential",
      "Employee ID (Cardholder)": "10097",
      "Event timestamp": "11/07/2022 00:56:57"
    }

    Você pode passar dados de vários eventos em uma única chamada de endpoint. Passe os dados de cada evento em um objeto separado. Os dados de cada evento são armazenados em um registro de Dados de frequência do funcionário separado.

    Nota:
    Certifique-se de que qualquer carimbo de data/hora fornecido esteja em conformidade com a formatação ISO 8601 para evitar problemas com a análise de data.

    Tipo de dados: Objeto JSON

    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 de REST API compatíveis .

    Tabela 4. Cabeçalhos da solicitação
    Cabeçalho Descrição
    Aceitar Formato de dados do corpo da resposta. Oferece suporte somente a application/json.
    Tipo de conteúdo Formato de dados do corpo da solicitação. Oferece suporte somente a application/json.
    Tabela 5. Cabeçalhos de resposta
    Cabeçalho Descrição
    Nenhum(a)

    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 Códigos de resposta HTTP da REST API .

    Tabela 6. Códigos de status
    Código do status Descrição
    200 Bem-sucedido. A solicitação foi processada com sucesso.
    400 Solicitação Incorreta. Um tipo de solicitação incorreto ou uma solicitação malformada foi detectada.
    401 Não autorizado. As credenciais do usuário estão incorretas ou não foram aprovadas.
    404 Não encontrado. O item solicitado não foi encontrado.
    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

    Nome Descrição
    erro Descrição de qualquer erro que ocorreu durante o processamento dos dados.

    Tipo de dados: Objeto

    "error": {
      "detail": "String",
      "message": "String"
    "status": "String"
    }
    error.detail Informações que fornecem detalhes sobre o erro.

    Tipo de dados: Cadeia de caracteres

    mensagem.erro Mensagens de erro

    Tipo de dados: Cadeia de caracteres

    status Status do processamento do endpoint.
    Valores possíveis:
    • Falha: Falha no endpoint. Consulte errorobjeto para obter detalhes adicionais.
    • Endpoint concluído com sucesso. O registro foi adicionado.

    Tipo de dados: Cadeia de caracteres

    Solicitação de curl

    O exemplo de código a seguir mostra como chamar este endpoint para adicionar vários eventos de leitor de cartão à tabela Eventos do conector. Antes de processar a solicitação, a solicitação é autenticada.

    curl http://instance.servicenow.com/api/sn_wsd_wc/v1/workplace_connector_webhook/event?token_name=token&ni.nolog.id=8e666cb0a3053110bc6e146546fcdad1&token_value=babugosha  \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data --data "{
      \"Time zone\": \"(UTC+02:00) Jerusalem\",
      \"Event\": \"Access granted\",
      \"Door\": \"L_TLV001_A3.07_KITCHEN AREA INT\",
      \"Side\": \"Reader - In\",
      \"Cardholder\": \" ninat.alem\",
      \"First name\": \" Nina T\",
      \"Last name\": \" Salem\",
      \"Credential\": \" ninat.salem's credential\",
      \"Employee ID (Cardholder)\": 10097,
      \"Event timestamp\": \"11/07/2022 10:57:24\"
    }
    {
      \"Time zone\": \"(UTC+02:00) Jerusalem\",
      \"Event\": \"Access granted\",
      \"Door\": \"L_TLV003_A4.07_FRONT ENT\",
      \"Side\": \"Reader - In\",
      \"Cardholder\": \" joe.blue\",
      \"First name\": \" Joe\",
      \"Last name\": \" Blue\",
      \"Credential\": \" joe.blue's credential\",
      \"Employee ID (Cardholder)\": 24098,
      \"Event timestamp\": \"11/07/2022 10:59:33\"
    }"

    Resposta:

    // Successful response
    {
      "staus": "success"
    }
    
    // Error response
    {
      "error": {
        "message": "Events request is invalid. Events query parms incomplete, some fields are missing",
        "detail": "Missing fields: token_name, token_value"
      }
      "status": "failure"
    }