Guia do desenvolvedor de API aberta da ordem de serviço
Use o. API aberta da ordem de serviço para criar, atualizar e recuperar informações de ordem de serviço.
Este guia do desenvolvedor fornece informações sobre como estender o. API aberta da ordem de serviçopara fazer várias personalizações.
Estendendo a API aberta da ordem de serviço
. API aberta da ordem de serviço pode ser estendido editando inclusões de script.
- TMFServiceOrderAPIUtil : Contém funções para lidar com solicitações POST.
- TMFServiceOrderGetAPIUtil : Contém funções para lidar com solicitações GET.
- ServiceOrderExtensionOOB : Contém funções auxiliares que oferecem suporte a funções em TMFServiceOrderAPIUtil e. TMFServiceOrderGetAPIUtil .
- ServiceOrderProcessor : Um arquivo de inclusão de script vazio. Use este arquivo para definir todas as funções que você deseja substituir ServiceOrderExtensionOOB .
Estenda o. API aberta da ordem de serviço para fazer as personalizações a seguir.
Parâmetros obrigatórios
Para alterar quais parâmetros do corpo da solicitação são necessários ou não para criar uma ordem de serviço, substitua a função GetServiceOrderSchema() contido em ServiceOrderExtensionOOB inclusão de script.
A função GetServiceOrderSchema() lê o esquema do TMFOrderAPIConstantes inclusão de script. TMFOrderAPIConstantes é protegido e não pode ser editado, portanto, você não pode simplesmente atualizar o esquema. Em vez disso, um novo esquema deve ser lido de um arquivo diferente. Você pode substituir GetServiceOrderSchema() para ler um novo esquema. Para substituir GetServiceOrderSchema() , escreva uma função com o mesmo nome em ServiceOrderProcessor inclusão de script. A nova função em ServiceOrderProcessor será chamado por TMFServiceOrderAPIUtil para substituir o padrão GetServiceOrderSchema() função em ServiceOrderExtensionOOB .
GetServiceOrderSchema() retorna um esquema personalizado que é definido em um novo arquivo de constante. // ServiceOrderProcessor
var ServiceOrderProcessor = Class.create();
ServiceOrderProcessor.prototype = Object.extendsObject(ServiceOrderExtensionOOB, {
// Define overriding functions here
// Function name and parameters must be identical to the function it overrides
getServiceOrderSchema: function() {
//Define your own custom schema in a new constant file
return JSON.parse(Constants.SCHEMA.CREATE_SERVICE_ORDER);
},
type: 'ServiceOrderProcessor'
});Validação do corpo da solicitação
verdadeiro por padrão.ValidatePostRequest()- Chamado porProcessPostOrder()em TMFServiceOrderAPIUtil .Obj()- Chamado porProcessPostOrder()em TMFServiceOrderAPIUtil .Obj() validateRelatedPartyObj()- Chamado porProcessPostOrder()em TMFServiceOrderAPIUtil .ValidateGetRequest()- Chamado porProcessGetOrder()em TMFServiceOrderGetAPIUtil .
falso , Interrompe a operação da API. Para aplicar a validação personalizada, substitua ServiceOrderExtensionOOB funções auxiliares criando funções com nomes e parâmetros idênticos em ServiceOrderProcessor . Estes novos ServiceOrderProcessor as funções serão chamadas por TMFServiceOrderAPIUtil e. TMFServiceOrderGetAPIUtil para substituir o padrão ServiceOrderExtensionOOB funções auxiliares.// ServiceOrderProcessor
var ServiceOrderProcessor = Class.create();
ServiceOrderProcessor.prototype = Object.extendsObject(ServiceOrderExtensionOOB, {
// Define overriding functions here
// Function name and parameters must be identical to the function it overrides
validatePostRequest: function(orderObject, details) {
// Returning false terminates the POST request
// Make sure to push error message in details array in case of error
if (gs.nil(orderObject.serviceOrderItem)) {
details.push(new TMFCommonOrderAPIUtil().getErrorDetailsObj(TMFOrderAPIConstants.MESSAGES.MISSING_ORDER_ITEM, '/'));
return false;
}
return true;
},
type: 'ServiceOrderProcessor'
});Operações REST adicionais
Para criar operações adicionais além das operações GET e POST existentes, Crie recursos REST com script adicionais para API aberta da ordem de serviço . 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 em uma nova inclusão de script.
Mapeamento de campo
Ao criar registros, a API mapeia os parâmetros do corpo da solicitação para campos de registro. Ao recuperar registros, a API mapeia campos de registro para atributos de objeto de resposta.
TransformOrderGr()TransformOrdLineItemGr()TransformCustLineItmContact()TransformOrderItemChar()
TransformPostOrderResponse()TransformGetOrderResponse()TransformServiceObj()TransformRelatedPartyCustomerLineItem()TransformOrderItemRelationship()TransformGetOrdLineItmResponse()TransformServiceCharacteristics()TransformServiceSpecification()
Personalize mapeamentos de campo para adicionar e recuperar dados de campos adicionais ou para alterar os mapeamentos padrão de campos. Para personalizar os mapeamentos de campo, substitua ServiceOrderExtensionOOB mapear funções criando funções com nomes e parâmetros idênticos em ServiceOrderProcessor . Estes novos ServiceOrderProcessor as funções serão usadas por TMFServiceOrderAPIUtil e. TMFServiceOrderGetAPIUtil para substituir o padrão ServiceOrderExtensionOOB funções de mapeamento.
// ServiceOrderProcessor
var ServiceOrderProcessor = Class.create();
ServiceOrderProcessor.prototype = Object.extendsObject(ServiceOrderExtensionOOB, {
// Define overriding functions here
// Function name and parameters must be identical to the function it overrides
transformOrderGr: function(requestObject, orderGr) {
orderGr.external_id = requestObject.externalId;
return orderGr;
},
transformPostOrderResponse: function(orderObject, orderGr) {
orderObject.id = orderGr.getValue('sys_id');
return orderObject;
},
type: 'ServiceOrderProcessor'
});