API do Webhook do conector do local de trabalho
A API do Webhook do conector do local de trabalho é uma interface genérica que permite que dados de diferentes tipos de hardware ou sensores do local de trabalho (como sistemas de crachá ou sensores de ocupação) sejam armazenados em tabelas da Prestação de serviços no local de trabalho.
Esta API é executada no namespace sn_wsd_wc. Para acessar esta API, o plug-in Workplace Connectors (com.sn_wsd_wc) deve ser 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 do evento baseado em hardware/sensor para a tabela de destino ServiceNow, como a tabela Dados de participação do funcionário [sn_wsd_wc_employee_astendance_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 eventos 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 crachá na tabela Eventos do conector e os transforma e os grava na tabela Dados de participação do funcionário [sn_wsd_wc_employee_astendance_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 participação do funcionário é definido em um ponto de extensão. Este ponto de extensão é identificado no campo Definição de ponto de extensão na tabela Configuração do conector associada [sn_wsd_wc_connector_config]. Para este endpoint, este é o ponto de extensão BadgingDataHandler.
processado são limpos dois dias depois da data de criação. Os registros no estado de erro são limpos após sete dias a partir da data de criação. Registros no novo estado nunca são limpos.Formato da URL
URL com controle de versão: /api/sn_wsd_wc/{api_version}/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 acessada. Por exemplo, v1 ou v2. Somente especifique este valor 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 Tabela: 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 identifique 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] |
| valor_token | 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 de nome-valor dos dados de eventos 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 participação 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 códigos de status possíveis usados na REST API, consulte Códigos de resposta HTTP de REST API.
| Código do status | Descrição |
|---|---|
| 200 | Bem-sucedido. A solicitação foi processada com sucesso. |
| 400 | Solicitação Incorreta. Foi detectado um tipo de solicitação incorreto ou solicitação malformada. |
| 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 ocorrido durante o processamento dos dados. Tipo de dados: objeto |
| erro.detalhe | 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"
}