API aberta do tópico de gestão de eventos

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 4 min. de leitura
  • A API Abrir tópico da Gestão de eventos fornece um endpoint que permite enviar um tópico por meio do agente de mensagens e armazená-lo em uma instância ServiceNow.

    Usando esta API, você pode armazenar tópicos criados por meio do seu agente de mensagens na tabela ServiceNow Tópico [tópico].

    Esta API é executada no namespace sn-api-notif-mgmt e requer a função sn_api_notif_mgmt.event_mgmt_integration.

    Tópico de gestão de eventos em aberto - POST /sn_api_notif_mgmt/topic

    Cria um novo registro na tabela Tópico [sn_api_notif_mgmt_topic] e salva as informações do tópico passadas nesse registro.

    Use este endpoint para sincronizar tópicos criados em seu middleware de barramento de mensagens com aqueles em sua instância ServiceNow.

    Quando os tópicos são criados usando este endpoint, o campo user_created no registro do tópico associado é definido como falso e o campo de tipo é definido como egress.

    Formato de URL

    URL com controle de versões: /api/sn_api_notif_mgmt/v1/topic

    URL padrão: /api/sn_api_notif_mgmt/topic

    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 acessada. 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
    Nenhum
    Tabela 3. Parâmetros do corpo da solicitação
    Nome Descrição
    ContentQuery Filtro a ser aplicado à carga do evento. Esta consulta é um filtro de evento mais profundo usado para encontrar informações como severidade do evento ou tipo de tíquete. Você pode passar este parâmetro como uma consulta aninhada.
    Por exemplo, para a seguinte carga de evento de tíquete de problema, esta consulta se aplica aos atributos que estão no objeto "evento" da carga:
    {
      "eventId":"dc2003c2c3bb3550054e20bdc0013136",
      "@type":"Troubleticket",
      "eventType":"TroubleTicketCreateEvent",
      "event":{
        "troubleTicket":{
          "short_description":"Test payload",
          "severity":3,
          "ticketType":"incident"
        }
      }
    }
    Este parâmetro oferece suporte às seguintes condições:
    • E: como variável1=valor1&variável2=valor2&variável3=valor3
    • OU: como variável1=valor1,valor2,valor3
    • Variáveis hierárquicas: como variável1.variável2.variável3=valor1

    Por exemplo: "contentQuery": "roubleTicket.ticketType=incident&roubleTicket.severity=1",

    Este campo é mapeado para o campo content_query no registro do tópico associado.

    Para obter informações adicionais, consulte o Guia do usuário da API de gestão de eventos TMF688.

    Tipo de dados: cadeia de caracteres

    IDexterno Identificador externo exclusivo para o tópico, como um GUID. Este campo é mapeado para o campo topic_id no registro do tópico associado.

    Tipo de dados: cadeia de caracteres

    headerQuery Filtro a ser aplicado às propriedades do cabeçalho do evento. Esta consulta define o tipo de eventos a serem escutados para o tópico associado. Você pode passar este parâmetro como uma consulta aninhada.
    Este parâmetro oferece suporte às seguintes condições:
    • E: como variável1=valor1&variável2=valor2&variável3=valor3
    • OU: como variável1=valor1,valor2,valor3
    • Variáveis hierárquicas: como variável1.variável2.variável3=valor1

    Por exemplo: "headerQuery": "eventType=TroubleTicketStatusChangeEvent,TroubleTicketAttributeChangeEvent"

    Este campo é mapeado para o campo header_query no registro do tópico associado.

    Para obter informações adicionais, consulte o Guia do usuário da API de gestão de eventos TMF688.

    Tipo de dados: cadeia de caracteres

    nome Nome do tópico.

    Este campo é mapeado para o campo topic_name no registro do tópico associado.

    Tipo de dados: cadeia de caracteres

    namespace Namespace do tópico. Vazio se não houver nenhum namespace associado.

    Este campo é mapeado para o campo de namespace no registro do tópico associado.

    Tipo de dados: cadeia de caracteres

    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

    Códigos de status

    Os códigos de status a seguir 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 da REST API.

    Tabela 6. Códigos de status
    Código de status Descrição
    201 Bem-sucedido. A solicitação foi processada com sucesso.
    400 O ID externo do tópico aprovado já existe. Passe o ID externo do tópico exclusivo: indica que o ID externo passado já existe na tabela de tópicos.

    Passe a combinação exclusiva de nome do tópico, consulta de cabeçalho, consulta de conteúdo e namespace : indica que a combinação de nome do tópico, namespace, consulta de cabeçalho e consulta de conteúdo já existe.

    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
    ContentQuery Valor do campo content_query no registro do tópico criado.

    Tipo de dados: cadeia de caracteres

    IDexterno Valor do campo topic_id no registro do tópico criado.

    Tipo de dados: cadeia de caracteres

    headerQuery Valor do campo header_query no registro do tópico criado. Este campo é usado pela estrutura do seletor de tópico para determinar quais mensagens de evento devem ser enviadas para um tópico.

    Tipo de dados: cadeia de caracteres

    id Sys_id do registro do tópico criado.

    Tipo de dados: cadeia de caracteres

    nome Nome do tópico.

    Tipo de dados: cadeia de caracteres

    namespace Valor do campo de namespace no registro do tópico criado.

    Tipo de dados: cadeia de caracteres

    Solicitação de cURL

    O exemplo de código a seguir mostra como chamar este endpoint.

    curl "http://instance.servicenow.com/api/sn_api_notif_mgmt/topic" \
    --request POST \
    --header "Accept:application/json" \
    --user 'username':'password'
    --data
    {
      "name": "HighPriorityTroubleTicket",
      "headerQuery": "eventType=TroubleTicketStatusChangeEvent,TroubleTicketAttributeChangeEvent",
      "contentQuery": "troubleTicket.ticketType=incident&troubleTicket.severity=1",
      "externalId": "ext001",
      "namespace": "telecomEvents"
    }

    Resposta:

    
    {
      "externalId": "ext001",
      "name": "HighPriorityTroubleTicket",
      "headerQuery": "eventType=TroubleTicketStatusChangeEvent,TroubleTicketAttributeChangeEvent",
      "contentQuery": "troubleTicket.ticketType=incident&troubleTicket.severity=1",
      "namespace": "telecomEvents",
      "id": "7ee9850443c3f550461f99612bb8f223"
    }