Guia do desenvolvedor da API de Gestão de alarmes aberta
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.
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
- 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.
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
CriarEventPayload()- Chamado porProcessoCreateEvent ().VerifyClearEventPayload()- Chamado porProcessClearEvent().VerifyPatchEventPayload()- Chamado porProcessPatchEvent().
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.
MapCreateAlarmObjectToEvent ()MapClearAlarmObjectToEvent()MapPatchAlarmObjectToEvent()
MoifyCreateEventResponse()ModificyClearEventResponse()ModificyPatchEventResponse()
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'
});