Guia do desenvolvedor da API de Gestão de alarmes aberta

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 3 min. de leitura
  • Use API de Gestão de alarmes em aberto Para criar e atualizar dados na tabela Eventos [em_event].

    Este guia do desenvolvedor fornece informações sobre como estender o. API de Gestão de alarmes em aberto para fazer várias personalizações.

    Estender a API Abrir Gestão de alarmes

    . Gestão de alarmes aberta API pode ser estendido editando inclusões de script.

    Essas inclusões de script só deve ser editado com uma compreensão de consequências das mudanças .
    • TMFAlarmAPIConstantes : Contém constantes e informações de parâmetro necessárias.
    • TMFAlarmAPIUtil : Contém funções para lidar com solicitações de API.
    • AlarmAPIProcessorOOB : Contém funções de ajuda que oferecem suporte a funções no TMFAlarmAPIUtil .
    • AlarmAPIProcessor : Um arquivo de inclusão de script vazio. Use isso arquivo para definir todas as funções que você deseja substituir AlarmAPIProcessorOOB .

    Estenda API de Gestão de alarmes em aberto para fazer as personalizações a seguir.

    Parâmetros obrigatórios

    . Gestão de alarmes A API utiliza esquemas JSON para manter informações de parâmetros necessários. Esses esquemas JSON são definidos no TMFAlarmAPIConstantes inclusão de script. Esses esquemas são usados validar se as cargas da solicitação são válidas. Esses esquemas não são referenciados diretamente nas inclusões de script e são retornados pelos seguintes métodos no AlarmAPIProcessorOOB inclusão de script:
    • GetCreateEventSchema Retorna o esquema de validação para criar um evento.
    • GetClearEventSchema Retorna o esquema de validação para limpar um alarme de evento.
    • GetPatchEventSchema Retorna o esquema de validação para corrigir um evento.
    Para substituir esquemas existentes, defina novos esquemas em AlarmAPIProcessor incluir e substituir script AlarmAPIProcessorOOB inclusão de script métodos .
    var AlarmAPIProcessor = Class.create();
    AlarmAPIProcessor.prototype = Object.extendsObject(AlarmAPIProcessorOOB, {
    	// Define overriding functions here
    	
    	// Define getCreateEventSchema here to override OOTB method in AlarmAPIProcessorOOB
    	getCreateEventSchema: function() {
    		return JSON.parse(AlarmAPIProcessor.CUSTOMIZED_SCHEMA);
    	},
        type: 'AlarmAPIProcessor'
    });
    
    // Define a new schema
    AlarmAPIProcessor.CUSTOMIZED_SCHEMA = "{\"title\":\"CreateAlarm\",\"type\":\"object\",
    \"properties\":{\"externalAlarmId\":{\"type\":\"string\"},\"alarmType\":{\"type\":\"string\"},
    \"perceivedSeverity\":{\"type\":\"string\"},\"probableCause\":{\"type\":\"string\"},
    \"alarmedObject\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},
    \"href\":{\"type\":\"string\"}},\"required\":[\"id\"]},\"sourceSystemId\":{\"type\":\"string\"}},
    \"required\":[\"externalAlarmId\",\"alarmType\",\"perceivedSeverity\",\"probableCause\",
    \"alarmedObject\",\"sourceSystemId\"]}";

    Validação do corpo da solicitação

    Para executar validação adicional no corpo da solicitação, substitua as funções a seguir no AlarmAPIProcessorOOB inclusão de script . Essas funções são chamadas pelas funções especificadas em . TMFAlarmAPIUtil inclusão de script .
    • CriarEventPayload() - Chamado por ProcessoCreateEvent () .
    • VerifyClearEventPayload() - Chamado por ProcessClearEvent() .
    • VerifyPatchEventPayload() - Chamado por ProcessPatchEvent() .
    Todas essas funções retornam verdadeiro por padrão. Se uma função auxiliar retornar falso , Interrompe a operação da API.
    Para aplicar validações personalizadas, substitua as funções auxiliares AlarmAPIProcessorOOB por nomes de função e parâmetros com nomes de função com nome idêntico no AlarmAPIProcessor. As novas funções AlarmAPIProcessor são chamadas por TMFAlarmAPIUtil para substituir as funções auxiliares padrão AlarmAPIProcessorOOB.
    Neste exemplo, uma função em um personalizado AlarmAPIProcessor inclusão de script Substitui uma função padrão em AlarmAPIProcessorOOB para executar a validação no atributo name.
    var AlarmAPIProcessor = Class.create();
    AlarmAPIProcessor.prototype = Object.extendsObject(AlarmAPIProcessorOOB, {
    	// Define overriding functions here
    	
        verifyCreateEventPayload: function(eventPayload, apiResponseProcessor){
            // Returning false terminates the POST request
            // Make sure to assign error message and reason
            if (eventPayload.type != "unique") {
                apiResponseProcessor.setMessage("Failed");
                apiResponseProcessor.setReason("No reason needed");
                return false;
            }
        },
    	
        type: 'AlarmAPIProcessor'
    });

    Operações REST adicionais

    Para criar operações adicionais além das operações GET, PATCH e POST existentes, Criar recursos REST com script adicionais para Gestão de alarmes aberta API. A lógica dos novos recursos REST com script deve ser consistente com as operações existentes. Defina funções para as novas operações no TMFAlarmAPIUtil.

    Mapeamento de campo

    Ao criar ou atualizar registros, . Gestão de alarmes aberta A API mapeia os parâmetros do corpo da solicitação para evento campos de registro . Ao recuperar registros, a API mapeia campos de registro para atributos de objeto de resposta.

    . AlarmAPIProcessorOOB inclusão de script Contém as seguintes funções para mapear um corpo de PATCH ou solicitação POST para um registro na tabela Evento [em_event].
    • MapCreateAlarmObjectToEvent ()
    • MapClearAlarmObjectToEvent()
    • MapPatchAlarmObjectToEvent()
    Também Contém as seguintes funções para mapear um GlideRecord de evento para um objeto de resposta JSON para solicitações GET, PATCH ou POST.
    • MoifyCreateEventResponse()
    • ModificyClearEventResponse()
    • ModificyPatchEventResponse()
    Você pode c Mapeie mapeamentos de campo para adicionar e recuperar dados para campos de tabela de evento adicionais [em_event] ou mudar os mapeamentos de campo padrão. Para trabalhar com mapeamentos, crie funções com nomes e parâmetros idênticos em AlarmAPIProcessor para substituir AlarmAPIProcessorOOB funções de mapeamento. TMFAlarmAPIUtil os usa AlarmAPIProcessor funções para substituir o padrão AlarmAPIProcessorOOB funções de mapeamento.
    No exemplo a seguir, dois AlarmAPIProcessor as funções substituem as funções padrão em AlarmAPIProcessorOOB para mudar Tipo f mapeamento de campo e adicione um mapeamento para Gravidade campo.
    var AlarmAPIProcessor = Class.create();
    AlarmAPIProcessor.prototype = Object.extendsObject(AlarmAPIProcessorOOB, {
    	// Define overriding functions here
    	
        // Function name and parameters must be identical to the function it overrides
        mapCreateAlarmObjectToEvent: function(eventGr, eventObject){
            // Override default mapping for the severity field
            eventGr.severity = "High";
        },
    
        modifyCreateEventResponse: function(eventGr, eventObject){
            // Override default mapping for the type field
            eventGr.type = "Customized Event"; 
        },
    	
        type: 'AlarmAPIProcessor'
    });