Guia do desenvolvedor da Open API para gestão de alarmes
Use a API aberta de gestão de alarmes para criar e atualizar dados na tabela Eventos [em_event].
Este guia do desenvolvedor fornece informações sobre como estender o API aberta de gestão de alarmes para fazer várias personalizações.
Como estender a API aberta de gestão de alarmes
A API Abrir de gestão de alarmes pode ser estendida editando inclusões de script.
TMFAlarmAPIConstants: 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 em TMFAlarmAPIUtil.AlarmAPIProcessor: um arquivo de inclusão de script vazio. Use este arquivo [ para definir as funções que você deseja substituir de AlarmAPIProcessorOOB.
Estenda a API aberta de gestão de alarmes para fazer as seguintes personalizações.
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\"]}";Solicitar validação do corpo
verifyCreateEventPayload()— Chamado porprocessCreateEvent().verifyClearEventPayload()- Chamado porprocessClearEvent().verifiquePatchEventPayload()— 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, crie recursos REST de script adicionais para a API aberta de gestão de alarmes. A lógica dos novos recursos REST de script deve ser consistente com as operações existentes. Defina funções para as novas operações em TMFAlarmAPIUtil.
Mapeamento de campo
Ao criar ou atualizar registros, a API aberta de gestão de alarmes mapeia os parâmetros do corpo da solicitação para eventos campos de registro. Ao recuperar registros, a API mapeia campos de registro para atributos de objeto de resposta.
mapCreateAlarmObjectToEvent()mapClearAlarmObjectToEvent()mapPatchAlarmObjectToEvent()
modifyCreateEventResponse()modifyClearEventResponse()modifyPatchEventResponse()
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'
});