API do webhook do conector do local de trabalho
. 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.
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
Parâmetros de solicitação compatíveis
| 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 |
| 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] |
| 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: 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 .
| 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. |
| 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 .
| 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 | 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:
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"
}