LeadtoCasCore - Com escopo
. LeadtoCasCore A inclusão de script fornece métodos para orquestrar um fluxo de trabalho de lead-to-cash no ciclo de vida principal do lead to Cash.
O plug-in Lead to Cash Core (com.snd.l2c.core) deve ser ativado para LeadtoCasCore inclusões de script a serem disponibilizadas em uma instância. Esta inclusão de script pertence ao namespace sn_l2c_core e requer a função de administrador.
Em um fluxo de trabalho de lead para dinheiro, você mapeia uma entidade de origem para uma entidade de destino. Uma entidade é definida como uma coleção de tabelas. O mapeamento de origem para destino permite transformar a estrutura ou o conteúdo da entidade de origem para se ajustar à estrutura ou ao conteúdo necessário na entidade de destino. A funcionalidade fornecida por esta inclusão de script representa o recurso de mapeamento de entidade disponível no recurso Lead to Cash. Para obter mais informações, consulte Lead to Cash Core.
Para concluir um fluxo de trabalho usando LeadtoCash inclusão de script, você passa parâmetros de retorno de um método para o próximo. Normalmente, você chama esses métodos na seguinte ordem:
- LeadtoCashCore - createInstance(cadeia de caracteres headerSysIDs, cadeia de caracteres LineSysIDs, boolian isTarget, Object additionalParams) - Obtém os dados de uma determinada entidade. Por exemplo, informações relacionadas ao pedido do cliente, incluindo itens de linha e seus dados relacionados.
Use contextParâmetro para declarar um ou mais IDs de cabeçalho ou linha no script. Para esses casos de uso de seleção múltipla, o JSON de saída contém uma matriz de itens-chave em que cada entrada representa uma única entidade.
- LeadtoCashCore - delta(Object sourceJSON, Object dirtyJSON, Object additionalParams) - Compara duas entradas JSON e identifica todas as mudanças que ocorreram entre elas. Por exemplo, quando algo é adicionado, excluído ou modificado em uma entidade.
- LeadtoCashCore - Efeito (Object sourceJSON, Object targetJSON, Object additionalParams) - Transforma o destino JSON de origem em um objeto de destino.
- LeadtoCashCore - commitInstance(Object targetJSON, Object additionalParams)- Confirma a transformação feita no efeito () inclusão de script no banco de dados.
Pré-requisitos
Cada um desses métodos é empacotado com um ponto de extensão, sn_l2c_core.LeadToCashServiceEP. PrimitiveUtil() é um utilitário que fornece métodos para obter o serviço de ponto de extensão e invoca as inclusões de script de acordo com os parâmetros disponíveis. Primeiro, você deve fornecer PrimitiveUtil() com GetPrimitivesEPService() método, que especifica a tabela da qual obter informações de origem e destino. Para obter mais informações, consulte LeadtoCashCore - getPrimitivesEPService(cadeia de caracteres sourceToTargetConfigID, contexto do objeto). Uma vez PrimitiveUtil() e. GetPrimitivesEPService() são fornecidos no script, você pode chamar qualquer um dos CreateInstance() , delta() , efeito () ou CommitInstance() inclusões de script conforme necessário para seu caso de uso.
Script de fluxo de trabalho Lead para Cash Core de exemplo
Cada uma das inclusões de script Lead to Cash Core disponíveis sejam documentadas individualmente, você pode consultar o exemplo a seguir para ver como usar esses métodos juntos para produzir um fluxo de trabalho Lead to Cash.
var util = new sn_l2c_core.PrimitiveUtil();
var context = {"isMultiSelect": false}; // Set the context.isMultiSelect parameter as true to enable multi-select use cases
//Flow: Creation of Order from a sold product
var service = util.getPrimitivesEPService('sn_l2c_cust_flows_sp_to_order', context);
//CREATE INSTANCE to get the data of sold product with sys_id '06670ba3c3adbd501caee74bb0013166'
var SPInstance = service.createInstance(null, '06670ba3c3adbd501caee74bb0013166');
gs.info("SPInstance: "+JSON.stringify(SPInstance));
// DELTA
// construct the dirtyJSON as required
var deltaOutput = service.delta(SPInstance, dirtyJSON);/
gs.info("deltaOutput: "+JSON.stringify(deltaOutput));
// EFFECT
var effectOutput = service.effect(deltaOutput);
gs.info("effectOutput: " + JSON.stringify(effectOutput));
// COMMIT INSTANCE
var commitOutput = service.commitInstance(effectOutput);
gs.info("commitOutput: " + JSON.stringify(commitOutput));
- A primeira chamada obtém as informações do produto vendido existente usando CreateInstance() método.
- Em seguida, comparamos este JSON de origem com o JSON sujo usando delta() Método, que retorna um JSON delta.
- . delta()JSON é transformado em um JSON de ordem do tipo usando efeito () método.
- A ordem JSON é confirmada no banco de dados usando CommitInstance() método.
LeadtoCashCore - getPrimitivesEPService(cadeia de caracteres sourceToTargetConfigID, contexto do objeto)
Aciona o. PrimitiveUtil() método utilitário.
Para usar qualquer um dos métodos disponíveis no LeadtoCasCore inclusão de script, você deve sempre chamar primeiro o ponto de extensão com script PrimitiveUtil() em seu script com GetPrimitivesEPService() método de utilitário para acionar a implementação.
| Nome | Tipo | Descrição |
|---|---|---|
| contexto | Objeto | Opcional. Opções de parâmetro adicionais para exibir valores de atributo e invocar mais de uma instância por vez. |
| Context.isMultiSelect | Booliano | Opcional. Sinalizador que indica se várias entidades devem ser aprovadas como entrada para criar a instância. Valores válidos:
Padrão: falso |
| Context.loadDisplayValue | Booliano | Opcional. Sinalizador que indica se o valor de exibição deve ser carregado para cada atributo. Valores válidos:
Padrão: falso |
| SourceToTargetConfigID | Cadeia de caracteres | ID de configuração de mapeamento para o mapeamento de origem para destino. Tabela: Mapeamento de entidade de lead para dinheiro [sn_l2c_core_entity_mapping] |
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
O exemplo a seguir invoca PrimitiveUtil() E escolhe uma implementação com base em sn_l2c_cust_flows_sp_to_order, que é um ID de configuração de mapeamento na tabela Mapeamento de entidade de lead para dinheiro [sn_l2c_core_entity_mapping].
//Utility to invoke createInstance API
var util = new sn_l2c_core.PrimitiveUtil();
var context = {"isMultiSelect": true}; // Set the context.isMultiSelect parameter as true to enable multi-select use cases
//Invokes the extension point and specifies an implementation based on sourceToTargetConfigID of a L2C flow.
var service = util.getPrimitivesEPService('sn_l2c_cust_flows_sp_to_order’, context)
LeadtoCashCore - createInstance(cadeia de caracteres headerSysIDs, cadeia de caracteres LineSysIDs, boolian isTarget, Object additionalParams)
Retorna os dados de uma ou mais entidades fornecidas com um objeto JSON que contém vários detalhes, como cabeçalho, linhas, linhas secundárias, características e seus atributos.
Use o JSON de saída do CreateInstance() Método nos métodos subsequentes do fluxo de trabalho Lead to Cash Core, como delta() , efeito () e CommitInstance() .
Defina GetPrimitivesEPService() parâmetro booliano context.isMultiSelectpara verdadeiro para habilitar CreateInstance() Para passar vários headerIDs ou IDs de linha separados por vírgulas por vez. Caso contrário, você só poderá passar um ID de cada vez. Consulte LeadtoCashCore - getPrimitivesEPService(cadeia de caracteres sourceToTargetConfigID, contexto do objeto) para obter mais detalhes. O caso de uso de ID de cabeçalho único com vários IDs de linha é compatível sem configuração context.isMultiSelectpara verdadeiro.
| Nome | Tipo | Descrição |
|---|---|---|
| additionalParams | Objeto | Opcional. Parâmetros adicionais a serem usados. |
| AdditionalParams.skipLines | Booliano | Opcional. Sinalizador que indica se itens de linha devem ser obtidos para a entidade especificada. Valores válidos:
Padrão: falso |
| HeaderSyIDs | Cadeia de caracteres | Sys_id(s) do cabeçalho de uma entidade da qual recuperar dados. Necessário se você não fornecer lineSysIDsparâmetro. Aprovado nulo se você não estiver passando nenhum sys_ids de cabeçalho.Para designar um ou mais sys_ids de cabeçalho em seu script, defina Nota: Pelo menos um headerSysIDou lineSysIDso parâmetro é obrigatório. |
| IsDestino | Booliano | Opcional. Sinalizador que determina se os dados da entidade de destino devem ser obtidos. Valores válidos:
Padrão: falso |
| LineSyIDs | Cadeia de caracteres | Sys_id(s) do item de linha de uma entidade da qual recuperar dados da entidade. Necessário se você não fornecer headerSysIDse se a estrutura da entidade começar com itens de linha, como produto vendido. Para designar um ou mais sys_ids de item de linha em seu script, defina Nota: Pelo menos um headerSysIDou lineSysIDso parâmetro é obrigatório. Se passar vários lineSysIDstodos os registros devem pertencer ao mesmo headerSysID. |
| Tipo | Descrição |
|---|---|
| Objeto JSON | JSON que contém detalhes do registro da entidade. Tipo de dados: Matriz de objetos |
| _state | Estado da atividade da entidade. Valores possíveis:
Padrão: Ativo Tipo de dados: Cadeia de caracteres |
| características | Lista de características da entidade. As características podem variar entre as entidades. Tipo de dados: Matriz de objetos |
| atributos.características | Um ou mais objetos que contêm informações sobre atributos associados ao registro de característica. O <attribute type> pode ter valores diferentes com base nos registros/funcionalidade associados à característica. Por exemplo, este objeto pode conter referências ao sys_id do registro de atributos, registros de característica associados, registros de opção de característica ou informações do produto vendido. Tipo de dados: Objeto |
| atributos.atributos.<attribute_type> | Informações sobre o nome da chave do atributo do item.Tipo de dados: Objeto |
| atributos.<attribute_type>.valor | Normalmente, o sys_id do registro de atributo associado, mas pode ser qualquer cadeia de caracteres de texto significativa que descreva o tipo de atributo associado. Tipo de dados: Cadeia de caracteres |
| sys_id.sys_id | Objeto que contém o sys_id do registro de característica associado. Tipo de dados: Objeto |
| sys_id.value | Sys_id do registro de característica associado. Tipo de dados: Cadeia de caracteres |
| characteristics.table | Nome da tabela que contém o registro de característica da entidade Lead para dinheiro. Tipo de dados: Cadeia de caracteres |
| itens | Contém uma matriz de objetos selecionados quando context.isMultiSelectdefinido como verdadeiro. Tipo de dados: Matriz de objetos |
| atributos.itens | Atributos do registro do item. Os atributos podem variar entre as entidades.Tipo de dados: Objeto |
| atributos.itens.conta | Informações sobre a conta associada ao atributo do item. |
| atributos.conta.valor | Atributos do item. Os atributos podem variar entre as entidades.Tipo de dados: Objeto |
| atributos.itens.<key_name> | Informações sobre o nome da chave do atributo do item.Tipo de dados: Objeto |
| itens.atributos.<key_name>.valor | Valor do atributo do nome da chave. Tipo de dados: Cadeia de caracteres |
| sys_id | Objeto que contém informações sys_id sobre o item da entidade. Os valores variam entre as entidades. Tipo de dados: Objeto |
| itens.sys_id.value | Sys_id de um item associado. Tipo de dados: Cadeia de caracteres |
| items.table | Nome da tabela que contém o registro do item de linha associado à entidade Lead para dinheiro. Tipo de dados: Cadeia de caracteres |
| Items.lineItems | Objeto JSON que contém os detalhes do item de linha do registro da entidade. Tipo de dados: Matriz de objetos |
| Items.lineItems._state | Estado da atividade da entidade do item de linha. Valores possíveis:
Padrão: Ativo Tipo de dados: Cadeia de caracteres |
| Items.lineItems.attributes | Atributos do registro do item de linha. Os atributos podem variar entre as entidades.Tipo de dados: Objeto |
| Items.LineItems.Attributes.<key_name> | Informações sobre o nome da chave do atributo do item de linha.Tipo de dados: Objeto |
| Items.LineItems.Attributes.<key_name>.Value | Valor do atributo do nome da chave. Tipo de dados: Cadeia de caracteres |
| Items.LineItems.Attributes.Account | Informações sobre a conta associada ao atributo de item de linha. |
| Items.LineItems.Atributos.Conta.Valor | Sys_id da conta associada ao atributo de item de linha. Tipo de dados: Cadeia de caracteres |
| items.lineItems.characteristics | Lista de características associadas ao item de linha. As características podem variar entre as entidades. Tipo de dados: Matriz de objetos |
| items.lineItems.characteristics.attributes | Um ou mais objetos que contêm informações sobre atributos associados ao registro de característica. O <attribute type> pode ter valores diferentes com base nos registros/funcionalidade associados à característica. Por exemplo, este objeto pode conter referências ao sys_id do registro de atributos, registros de característica associados, registros de opção de característica ou informações do produto vendido. Tipo de dados: Objeto |
| items.lineItems.characteristics.attributes.<attribute_type>.Value | Normalmente, o sys_id do registro de atributo associado, mas pode ser qualquer cadeia de caracteres de texto significativa que descreva o tipo de atributo associado. Tipo de dados: Cadeia de caracteres |
| items.lineItems.characteristics.sys_id | Objeto que contém o sys_id do registro de característica associado. Tipo de dados: Objeto |
| items.lineItems.characteristics.sys_id.value | Sys_id do registro de característica associado. Tipo de dados: Cadeia de caracteres |
| items.lineItems.characteristics.table | Nome da tabela que contém o registro de característica da entidade Lead para dinheiro. Tipo de dados: Cadeia de caracteres |
| Items.lineItems.lineItems | Itens de linha secundários de um item de linha primário. Este objeto tem o mesmo formato que lineItemsparâmetro. Tipo de dados: Objeto |
| Items.lineItems.sys_id | Objeto que contém informações sys_id sobre o registro do item de linha associado. Tipo de dados: Objeto |
| Items.sys_id.value | Sys_id de um registro de item de linha associado. Tipo de dados: Cadeia de caracteres |
| Items.lineItems.table | Nome da tabela que contém o registro do item de linha associado à entidade Lead para dinheiro. Tipo de dados: Cadeia de caracteres |
O script de exemplo abaixo invoca o. CreateInstance() método para carregar os dados de um produto vendido, toda a hierarquia e suas características.
//Utility to invoke createInstance API
var util = new sn_l2c_core.PrimitiveUtil();
//Invoke extension point, picks an implementation based on sourceToTargetConfigID of a L2C flow, the Mapping Config ID in "sn_l2c_core_entity_mapping" table.
var service = util.getPrimitivesEPService('sn_l2c_cust_flows_sp_to_order');
//Invoke createInstance API with required params
var SPInstance = service.createInstance(null, '4e03cda2ec873110f87727ef5883a2cf');
//Print the returned JSON
gs.info("SPInstance: "+JSON.stringify(SPInstance));
//The returned JSON can be used for subsequent methods of the flow such as delta(), effect() and commitInstance()
Saída:
{
"lineItems": [
{
"table": "sn_install_base_sold_product",
"sys_id": {
"value": "4e03cda2ec873110f87727ef5883a2cf"
},
"attributes": {
"name": {
"value": "Quadplay Home Tech Hub Bundle"
},
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
}
},
"lineItems": [
{
"table": "sn_install_base_sold_product",
"sys_id": {
"value": "9e0301e2ec873110f87727ef5883a23a"
},
"attributes": {
"name": {
"value": "Internet and OTT Bundle"
},
"_state": "active",
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
}
},
"lineItems": [
],
"characteristics": []
}
],
"characteristics": [
{
"table": "sn_prd_pm_product_characteristics",
"sys_id": {
"value": "8d669b6665ebf110f877d71ec56bf75c"
},
"attributes": {
"sys_id": {
"value": "8d669b6665ebf110f87d71ec56bf75c"
},
"_state": "active",
"characteristic_value": {
"value": ""
},
"characteristic": {
"value": "4f31999fd0a63110f8770dbf976be178"
},
"characteristic_option": {
"value": "4f31999fd0a63110f8770dbf976be179"
},
"sold_product": {
"value": "4e03cda2ec873110f87727ef5883a2cf"
}
}
}
]
}
]
}
Seleção múltipla
O script a seguir demonstra como usar isMultiSelectpara invocar o. CreateInstance() e carregue os dados de dois produtos vendidos com toda a hierarquia e as características.
//Utility to invoke createInstance API
var util = new sn_l2c_core.PrimitiveUtil();
//Set context variable isMultiSelect true to enable multi-select
var context = {"isMultiSelect": true};
//Invoke extension point, picks an implementation based on sourceToTargetConfigID of a L2C flow, the Mapping Config ID in “sn_l2c_core_entity_mapping” table.
var service = util.getPrimitivesEPService('sn_l2c_cust_flows_sp_to_order’, context);
//Multiple sold products selected
var selectedLineitems = '4e03cda2ec873110f87727ef5883a2cf,036a2349284d0210f877b68370fb2e93';
//Invoke createInstance API with required params
var SPInstance = service.createInstance(null, selectedLineitems);
//Print the returned JSON
gs.info("SPInstance: "+JSON.stringify(SPInstance));
//The returned JSON can be used for subsequent APIs of the flow such as Delta, Effect and Commit Instance
Resposta:
{
"items": [
{
"lineItems": [
{
"table": "sn_install_base_sold_product",
"sys_id": {
"value": "4e03cda2ec873110f87727ef5883a2cf"
},
"attributes": {
"name": {
"value": "Quadplay Home Tech Hub Bundle"
},
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
}
},
"lineItems": [
{
"table": "sn_install_base_sold_product",
"sys_id": {
"value": "9e0301e2ec873110f87727ef5883a23a"
},
"attributes": {
"name": {
"value": "Internet and OTT Bundle"
},
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
}
},
"lineItems": [],
"characteristics": []
}
]
}
]
},
{
"lineItems": [
{
"table": "sn_install_base_sold_product",
"sys_id": {
"value": "036a2349284d0210f877b68370fb2e93"
},
"attributes": {
"name": {
"value": "Quadplay Home Tech Hub Bundle"
},
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
}
},
"lineItems": [
{
"table": "sn_install_base_sold_product",
"sys_id": {
"value": "4b6a2349284d0210f877b68370fb2e9c"
},
"attributes": {
"name": {
"value": "Internet and OTT Bundle"
},
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
}
},
"lineItems": [],
"characteristics": []
}
],
"characteristics": [],
"_state": "active"
}
]
}
]
}
LeadtoCashCore - delta(Object sourceJSON, Object dirtyJSON, Object additionalParams)
Compara os objetos JSON de origem e de origem modificados de uma entidade de lead para dinheiro e retorna um objeto JSON que descreve todas as mudanças feitas no JSON de origem, como adições, exclusões ou modificações.
| Nome | Tipo | Descrição |
|---|---|---|
| SourceJSON | Objeto | Objeto JSON da entidade lead de origem para dinheiro. Nota: Use LeadtoCashCore - createInstance(cadeia de caracteres headerSysIDs, cadeia de caracteres LineSysIDs, boolian isTarget, Object additionalParams) Método para recuperar o JSON de origem de uma entidade. |
| DirtyJSON | Objeto | JSON de origem modificado da entidade lead para dinheiro. |
| additionalParams | Objeto | Opcional. Parâmetros adicionais a serem usados. |
| additionalParams.delta_ignore_attributes | Objeto | Atributos de tabela a serem ignorados durante a comparação entre a origem e dirtyJSON. Habilita o suporte a casos de uso de reconfiguração. |
| additionalParams.delta_ignore_attributes.<table_name> | Cadeia de caracteres | O nome da tabela e seus atributos associados a serem ignorados. Por exemplo: |
| AdditionalParams.loadDisplayValue | Booliano | Opcional. Sinalizador que indica se o valor de exibição deve ser carregado para cada atributo. Valores válidos:
Padrão: falso |
| Tipo | Descrição |
|---|---|
| Objeto JSON | Um objeto que contém detalhes do registro da entidade com todas as mudanças que ocorreram entre sourceJSON e dirtyJSON. Tipo de dados: Objeto |
| LineItems | Objeto JSON que contém os detalhes do item de linha do registro da entidade. Por exemplo, itens de linha de pedido ou itens de linha de cotação. Tipo de dados: Matriz de objetos |
| LineItems._action | Ação de mudança aplicada ao item de linha do JSON de origem. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| LineItems.attributes | Atributos do item de linha. Por exemplo, o nome e o valor do atributo. Pode conter campos variáveis com base na entidade. Tipo de dados: Objeto |
| lineitens.attributes.<attribute_name> | Nome do atributo do item de linha. Por exemplo, o nome de uma conta ou contato. Pode conter campos variáveis da entidade. Tipo de dados: Objeto |
| lineitems.attributes.<attribute_name>.value | Valor do atributo do item de linha. Tipo de dados: Cadeia de caracteres |
| LineItems.attributes.Account | Informações sobre a conta associada ao atributo do item. Tipo de dados: Objeto |
| LineItems.attributes.Account.Value | Sys_id da conta associada ao atributo de item de linha. Tipo de dados: Cadeia de caracteres |
| lineItems.characteristics | Características do item de linha. Pode conter campos variáveis com base na entidade. Tipo de dados: Matriz de objetos |
| lineItems.characteristics.attributes | Atributos das características do registro de cabeçalho. Por exemplo, o nome e o valor do atributo. Pode conter campos variáveis com base na entidade. Tipo de dados: Objeto |
| lineitems.characteristics.attributes.<field_name> | Nome do atributo do registro de característica associado ao item de linha. Tipo de dados: Objeto |
| lineitems.characteristics.attributes.<field_name>.value | Valor do atributo que pertence ao registro de característica de uma entidade. Tipo de dados: Cadeia de caracteres |
| lineItems.characteristics.sys_id | Objeto sys_id do registro de característica. Tipo de dados: Objeto |
| lineItems.characteristics.sys_id.value | Sys_id do registro de característica associado. A tabela atualizada pode variar entre as entidades. Por exemplo, order [sn_ind_tmt_orn_order]. Tipo de dados: Cadeia de caracteres |
| lineItems.characteristics.table | Nome da tabela que contém o registro de característica. Tipo de dados: Cadeia de caracteres |
| LineItems.lineItems | Itens de linha secundários de um item de linha primário. Este objeto tem o mesmo formato que lineItemsparâmetro. Tipo de dados: Matriz de objetos |
| LineItems.sys_id | Sys_id do registro do item associado. Tipo de dados: Objeto |
| LineItems.sys_id.value | Sys_id de um registro de item associado. A tabela atualizada pode variar entre entidades, como Ordem ou Especificação. Por exemplo, order [sn_ind_tmt_orn_order]. Tipo de dados: Cadeia de caracteres |
| LineItems.table | Nome da tabela que contém o registro do item associado à entidade Lead para dinheiro. Tipo de dados: Cadeia de caracteres |
O exemplo a seguir demonstra como chamar delta() primeiro chamando o. PrimitiveUtil método utilitário e. ObPrimitiesEPService() E, em seguida, fornecendo os objetos JSON de origem e de destino.
//Utility to invoke Delta API
var util = new sn_l2c_core.PrimitiveUtil();
//Invoke extension point, picks an implementation based on sourceToTargetConfigID of a L2C flow, the Mapping Config ID in “sn_l2c_core_entity_mapping” table.
var service = util.getPrimitivesEPService('sp_order_macd');
//Invoke delta API with required params
// sourceJSON can be the output of createInstance or null
//dirtyJSON is the modified sourceJSON
var deltaOutput= service.delta(sourceJSON, dirtyJSON);
//Print the returned JSON
gs.info(" deltaOutput: "+JSON.stringify(deltaOutput));
//The returned JSON can be used for subsequent APIs of the flow such as Effect and Commit Instance
O JSON de saída mostra que vários itens de linha foram adicionados ao produto de base vendido:
{
"lineItems": [
{
"table": "sn_install_base_sold_product",
"sys_id": {
"value": "-1"
},
"attributes": {
"name": {
"value": "Quadplay Home Tech Hub Bundle"
},
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
}
},
"lineItems": [
{
"table": "sn_install_base_sold_product",
"sys_id": {
"value": "-1"
},
"attributes": {
"name": {
"value": "Internet and OTT Bundle"
},
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
}
},
"lineItems": [
{
"table": "sn_install_base_sold_product",
"sys_id": {
"value": "-1"
},
"attributes": {
"name": {
"value": "Solana Sports streaming channel"
},
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
}
},
"lineItems": [],
"characteristics": [],
"_action": "add"
}
],
"characteristics": [],
"_action": "add"
}
],
"characteristics": [
{
"table": "sn_prd_pm_product_characteristics",
"sys_id": {
"value": "-1"
},
"attributes": {
"characteristic_value": {
"value": ""
},
"characteristic": {
"value": "4f31999fd0a63110f8770dbf976be178"
},
"characteristic_option": {
"value": "4f31999fd0a63110f8770dbf976be179"
},
"sold_product": {
"value": "4e03cda2ec873110f87727ef5883a2cf"
},
"action": {
"value": "add"
}
},
"_action": "add"
}
],
"_action": "add"
}
]
}
Seleção múltipla
O exemplo a seguir mostra como formar a seleção múltipla delta() método pela primeira chamada PrimitiveUtil e. ObterPrimitivesEPService E, em seguida, fornecer os objetos JSON de origem e de destino para vários IDs de linha ou cabeçalho. Para cada fluxo, obtenha o serviço apenas uma vez e use o mesmo serviço para todos os LeadtoCasCore métodos.
/Utility to invoke Delta API
var util = new sn_l2c_core.PrimitiveUtil();
//Set context variable isMultiSelect true to enable multi-select
var context = {"isMultiSelect": true};
//Invoke extension point, picks an implementation based on sourceToTargetConfigID of a L2C flow, the Mapping Config ID in “sn_l2c_core_entity_mapping” table.
var service = util.getPrimitivesEPService(‘sn_l2c_cust_flows_sp_to_order’, context);
//Invoke delta API with required params
// sourceJSON can be the output of createInstance for multiple lineIDs or headerIDs or null
//dirtyJSON is the modified sourceJSON
var deltaOutput= service.delta(sourceJSON, dirtyJSON);
//Print the returned JSON
gs.info(" deltaOutput: "+JSON.stringify(deltaOutput));
//The returned JSON can be used for subsequent APIs of the flow such as Effect and Commit Instance
O JSON de saída mostra que vários itens de linha foram adicionados ao produto de base vendido:
{
"items": [
{
"lineItems": [
{
"table": "sn_install_base_sold_product",
"sys_id": {
"value": "4e03cda2ec873110f87727ef5883a2cf"
},
"attributes": {
"name": {
"value": "Quadplay Home Tech Hub Bundle"
},
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
}
},
"lineItems": [
{
"table": "sn_install_base_sold_product",
"sys_id": {
"value": "9e0301e2ec873110f87727ef5883a23a"
},
"attributes": {
"name": {
"value": "Internet and OTT Bundle"
},
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
}
},
"lineItems": [],
"characteristics": [],
"_action": "disconnect"
}
],
"characteristics": [],
"_action": "disconnect"
}
]
},
{
"lineItems": [
{
"table": "sn_install_base_sold_product",
"sys_id": {
"value": "036a2349284d0210f877b68370fb2e93"
},
"attributes": {
"name": {
"value": "Quadplay Home Tech Hub Bundle"
},
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
}
},
"lineItems": [
{
"table": "sn_install_base_sold_product",
"sys_id": {
"value": "4b6a2349284d0210f877b68370fb2e9c"
},
"attributes": {
"name": {
"value": "Internet and OTT Bundle"
},
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
}
},
"lineItems": [],
"characteristics": [],
"_action": "disconnect"
}
],
"characteristics": [],
"_action": "disconnect"
}
]
}
]
}
LeadtoCashCore - Efeito (Object sourceJSON, Object targetJSON, Object additionalParams)
Transforma e aplica a estrutura JSON de origem de uma determinada entidade ao JSON de destino de outra entidade. Em seguida, você pode confirmar a entidade alterada no banco de dados usando CommitInstance() método.
Você pode usar o JSON de saída do delta() método no efeito () solicitação. Em seguida, confirme qualquer um efeito () Saída JSON para o banco de dados usando CommitInstance() para concluir o fluxo de trabalho de lead para dinheiro.
| Nome | Tipo | Descrição |
|---|---|---|
| SourceJSON | Objeto | JSON que contém detalhes da entidade de origem. Nota: Use LeadtoCashCore - createInstance(cadeia de caracteres headerSysIDs, cadeia de caracteres LineSysIDs, boolian isTarget, Object additionalParams) Para recuperar o JSON de origem de uma entidade. |
| TargetJSON | Objeto | JSON que contém detalhes da entidade de destino. |
| additionalParams | Objeto | Opcional. Parâmetros adicionais a serem usados. |
| AdditionalParams.is_future_state | Booliano | Opcional. Use isso para oferecer suporte a casos de uso de reconfiguração. Valores aceitos:
Padrão: falso |
| Tipo | Descrição |
|---|---|
| Objeto JSON | Mudança que ocorreu e foi aplicada dos objetos JSON da entidade de origem para destino em cada cabeçalho da entidade lead para dinheiro. Tipo de dados: Objeto |
| _glide_action | Indica a mudança que ocorreu no nível do item entre o JSON de origem e de destino. Valores possíveis (diferencia maiúsculas de minúsculas):
Tipo de dados: Cadeia de caracteres |
| _records_count | Detalhes de novos registros inseridos para cada tabela. Tipo de dados: Objeto |
| _Records_count.tablename | Nome da tabela na qual novos registros são inseridos. Tipo de dados: Objeto |
| _records_count.tableName.insert | Número de novos registros inseridos na tabela. Tipo de dados: Número |
| _source_object | Objeto JSON de origem ao qual as mudanças foram aplicadas. A estrutura do objeto pode variar entre as entidades. Tipo de dados: Objeto |
| _source_object.sys_id | Sys_id do registro da entidade de origem que foi atualizado. Tipo de dados: Cadeia de caracteres |
| _source_object.table | Local da tabela do registro da entidade de origem que foi atualizado. Este valor pode variar entre entidades. Tipo de dados: Cadeia de caracteres |
| LineItems._glide_action | Ação de mudança que ocorreu no item de linha. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| LineItems._source_object | Detalhes do registro da entidade de origem ao qual _glide_action foi aplicada. Este objeto pode variar entre entidades. Tipo de dados: Objeto |
| LineItems._source_object.sys_id | Sys_id do registro da entidade de origem que foi atualizado. Tipo de dados: Cadeia de caracteres |
| LineItems._source_object.table | Local da tabela do registro da entidade de origem que foi atualizado. Este valor pode variar entre entidades. Tipo de dados: Cadeia de caracteres |
| LineItems._state | Estado da entidade. Tipo de dados: Objeto |
| LineItems._state.value | O estado atual da entidade. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| LineItems.attributes | Atributos do item de linha. Por exemplo, o nome e o valor do atributo. Pode conter campos variáveis com base na entidade. Tipo de dados: Objeto |
| lineitens.attributes.<attribute_name> | Nome do atributo do item de linha. Por exemplo, o nome de uma conta ou contato. Pode conter campos variáveis da entidade. Tipo de dados: Objeto |
| lineitems.attributes.<attribute_name>.value | Valor do atributo do item de linha. Tipo de dados: Cadeia de caracteres |
| LineItems.attributes.Account | Informações sobre a conta associada ao atributo do item. Tipo de dados: Objeto |
| LineItems.attributes.Account.Value | Sys_id da conta associada ao atributo de item de linha. Tipo de dados: Cadeia de caracteres |
| LineItems.attributes.short_description | Breve descrição do atributo do item de linha. Tipo de dados: Cadeia de caracteres |
| lineItems.characteristics | Lista de características associadas ao item de linha. As características podem variar entre as entidades. Tipo de dados: Matriz de objetos |
| lineItems.characteristics._glide_action | Ação de mudança que ocorreu no item de linha. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| lineItems.characteristics.attributes | Um ou mais objetos que contêm informações sobre atributos associados ao registro de característica. Por exemplo, este objeto pode conter referências ao sys_id do registro de atributos, registros de características associados, contas ou contatos, registros de opção de característica ou informações do produto vendido. Tipo de dados: Objeto |
| lineItems.characteristics.attributes.<attribute_type> | Tipo de atributo. Este valor pode conter valores diferentes com base nos registros ou na funcionalidade associada à característica. Tipo de dados: Objeto |
| lineItems.characteristics.attributes.<attribute_type>.Value | Valor do atributo do item de linha. Tipo de dados: Cadeia de caracteres |
| lineitems.characteristics.attributes.<field_name> | Nome do atributo do registro de característica associado ao item de linha. Tipo de dados: Objeto |
| lineitems.characteristics.attributes.<field_name>.value | Valor do atributo que pertence ao registro de característica de uma entidade. Tipo de dados: Cadeia de caracteres |
| lineItems.characteristics.sys_id | Sys_id do registro de característica associado. Tipo de dados: Objeto |
| lineItems.characteristics.sys_id.value | Sys_id do registro de característica associado. A tabela atualizada pode variar entre as entidades. Por exemplo, order [sn_ind_tmt_orn_order]. Tipo de dados: Cadeia de caracteres |
| lineItems.characteristics.table | Nome da tabela que contém o registro de característica. Tipo de dados: Cadeia de caracteres |
| LineItems.lineItems | Itens de linha secundários de um item de linha primário. Este objeto tem o mesmo formato que lineItemsparâmetro. Tipo de dados: Matriz de objetos |
| LineItems.sys_id | Sys_id do registro do item associado. Tipo de dados: Objeto |
| LineItems.sys_id.value | Sys_id de um registro de item associado. A tabela atualizada pode variar entre entidades, como Ordem ou Especificação. Por exemplo, order [sn_ind_tmt_orn_order]. Tipo de dados: Cadeia de caracteres |
| LineItems.table | Nome da tabela que contém o registro do item associado à entidade Lead para dinheiro. Tipo de dados: Cadeia de caracteres |
| sys_id | Sys_id da entidade. Tipo de dados: Cadeia de caracteres |
| tabela | Nome da tabela na qual a entidade é encontrada. Tipo de dados: Cadeia de caracteres |
//Utility to invoke effect API
var util = new sn_l2c_core.PrimitiveUtil();
//Invoke extension point, picks an implementation based on sourceToTargetConfigID of a L2C flow, the Mapping Config ID in “sn_l2c_core_entity_mapping” table.
var service = util.getPrimitivesEPService('sp_order_macd');
//Invoke effect API with required params
var effectOutput = service.effect(deltaOutput, null);
//Print the returned JSON
gs.info("effectOutput: " + JSON.stringify(effectOutput));
//The returned JSON can be used in the subsequent commitInstance() method.
Saída:
{
"sys_id": "-1",
"table": "sn_ind_tmt_orm_order",
"_glide_action": "INSERT",
"_source_object": {},
"lineItems": [
{
"sys_id": "-1",
"table": "sn_ind_tmt_orm_order_line_item",
"attributes": {
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
},
"short_description": {
"value": "Quadplay Home Tech Hub Bundle"
}
},
"_glide_action": "INSERT",
"_source_object": {
"sys_id": "-1",
"table": "sn_install_base_sold_product"
},
"lineItems": [
{
"sys_id": "-1",
"table": "sn_ind_tmt_orm_order_line_item",
"attributes": {
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
},
"short_description": {
"value": "Internet and OTT Bundle"
}
},
"_glide_action": "INSERT",
"_source_object": {
"sys_id": "-1",
"table": "sn_install_base_sold_product"
},
"lineItems": [
{
"sys_id": "-1",
"table": "sn_ind_tmt_orm_order_line_item",
"attributes": {
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
},
"short_description": {
"value": "Solana Sports streaming channel"
}
},
"_glide_action": "INSERT",
"_source_object": {
"sys_id": "-1",
"table": "sn_install_base_sold_product"
},
"lineItems": [],
"characteristics": []
}
],
"characteristics": []
}
],
"characteristics": [
{
"sys_id": "-1",
"table": "sn_ind_tmt_orm_order_characteristic_value",
"attributes": {
"characteristic_option": {
"value": "4f31999fd0a63110f8770dbf976be179"
},
"characteristic": {
"value": "4f31999fd0a63110f8770dbf976be178"
},
"characteristic_option_value": {
"value": ""
}
},
"_glide_action": "INSERT",
"_source_object": {
"sys_id": "-1",
"table": "sn_prd_pm_product_characteristics"
}
}
]
},
"_state": {
"value": "active"
}
],
"_records_count":
{
"sn_ind_tmt_orm_order":
{
"insert": 1
},
"sn_ind_tmt_orm_order_line_item":
{
"insert": 3
},
"sn_ind_tmt_orm_order_characteristic_value":
{
"insert": 1
}
}
}
LeadtoCashCore - commitInstance(Object targetJSON, Object additionalParams)
Confirma o JSON de uma determinada entidade de lead para dinheiro para a instância, retorna uma mensagem de status com informações atualizadas e atualiza a tabela Entidade principal de lead para dinheiro como resultado.
| Nome | Tipo | Descrição |
|---|---|---|
| TargetJSON | Objeto | Objeto JSON que contém o "glide_action" de uma entidade de destino a ser confirmada. Você pode passar a saída do efeito () método aqui. Nota: "Glide_action" identifica a ação de mudança que ocorreu entre o JSON de origem e de destino de uma entidade de lead para dinheiro. |
| additionalParams | Objeto | Opcional. Parâmetros adicionais a serem usados. |
| additionalParams.useNumberGenerator | Booliano | Opcional. Sinalizador que indica se sys_numbers deve ser gerado em massa. Valores válidos:
Padrão: falso |
| Tipo | Descrição |
|---|---|
| Objeto JSON | Detalhes sobre o registro da entidade de destino. Tipo de dados: Objeto |
| DataObject | Objeto JSON que contém dados detalhados sobre as operações de confirmação realizadas em cada nível. Tipo de dados: Objeto |
| DataObject._commitObjectInfo | Confirmar status e sys_id se a mudança do item de linha for uma ação de INSERÇÃO. Tipo de dados: Objeto |
| DataObject._commitObjectInfo.status | Status da operação de confirmação realizada na entidade específica. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| DataObject._commitObjectInfo.sys_id | Sys_id do registro inserido. O método retornará este parâmetro somente se dataObject._glide_action. INSERIR . A tabela atualizada pode variar entre as entidades. Por exemplo, order [sn_ind_tmt_orn_order].Tipo de dados: Cadeia de caracteres |
| DataObject._glide_action | Ação de mudança que ocorreu no item de linha. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| DataObject._source_object | Objeto JSON de origem ao qual as mudanças foram aplicadas. A estrutura do objeto pode variar entre as entidades. Tipo de dados: Objeto |
| DataObject._source_object.sys_id | Sys_id do registro da entidade de origem ao qual _glide_action foi aplicada. A tabela atualizada pode variar entre as entidades. Por exemplo, order [sn_ind_tmt_orn_order]. Tipo de dados: Cadeia de caracteres |
| DataObject._source_object.table | Nome da tabela que contém o registro da entidade de origem ao qual _glide_action foi aplicada. Isso pode variar entre as entidades. Tipo de dados: Cadeia de caracteres |
| DataObject.lineItems | Detalhes do item de linha do registro da entidade. Por exemplo, itens de linha de pedido ou itens de linha de cotação. Tipo de dados: Matriz de objetos |
| DataObject.lineItems._action | Ação de mudança aplicada ao item de linha do JSON de origem. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| DataObject.lineItems._commitObjectInfo | Retornado se a mudança do item de linha for um INSERIR ação. Contém o status de confirmação do objeto e o sys_id.Tipo de dados: Objeto |
| DataObject.lineItems._commitObjectInfo.status | Status da operação de confirmação realizada na entidade específica. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| DataObject.lineItems._commitObjectInfo.sys_id | Sys_id do registro inserido. A tabela atualizada pode variar entre as entidades. Por exemplo, order [sn_ind_tmt_orn_order]. Tipo de dados: Cadeia de caracteres |
| DataObject.lineItems._glide_action | Ação de mudança que ocorreu no item de linha. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| DataObject.lineItems._source_object | Detalhes do registro da entidade de origem ao qual _glide_action foi aplicada. Este objeto pode variar entre entidades. Tipo de dados: Objeto |
| DataObject.lineItems._source_object.sys_id | Sys_id do registro da entidade de origem ao qual _glide_action foi aplicada. Tipo de dados: Cadeia de caracteres |
| DataObject.lineItems._source_object.table | Nome da tabela do registro da entidade de origem à qual _glide_action foi aplicada. Tipo de dados: Cadeia de caracteres |
| DataObject.lineItems._state | Estado do objeto. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| DataObject.lineItems.attributes | Atributos do item de linha. Por exemplo, o nome e o valor do atributo. Pode conter campos variáveis com base na entidade. Tipo de dados: Objeto |
| DataObject.lineItems.Attributes.<attribute_name> | Nome do atributo do item de linha. Por exemplo, o nome de uma conta ou contato. Pode conter campos variáveis da entidade. Tipo de dados: Objeto |
| DataObject.LineItems.Attributes.<attribute_name>.Value | Valor do atributo do item de linha. Tipo de dados: Cadeia de caracteres |
| dataObject.lineItems.characteristics | Lista de características associadas ao item de linha. As características podem variar entre as entidades. Tipo de dados: Matriz de objetos |
| dataObject.lineItems.characteristics._glide_action | Ação de mudança que ocorreu no item de linha. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| dataObject.lineItems.characteristics.attributes | Um ou mais objetos que contêm informações sobre atributos associados ao registro de característica. Por exemplo, este objeto pode conter referências ao sys_id do registro de atributos, registros de características associados, contas ou contatos, registros de opção de característica ou informações do produto vendido. Tipo de dados: Objeto |
| dataObject.lineItems.characteristics.attributes.<attribute_type> | Nome do atributo de característica. Pode conter campos variáveis da entidade. Tipo de dados: Objeto |
| dataObject.lineItems.characteristics.attributes.<attribute_type>.<attribute_name> | Nome do atributo de característica. Tipo de dados: Objeto |
| dataObject.lineItems.characteristics.attributes.<attribute_type>.<attribute_name>.Value | Valor do atributo do item de linha. Tipo de dados: Cadeia de caracteres |
| DataObject.lineItems[0].characteristics.sys_id | Sys_id do registro de característica associado. Tipo de dados: Objeto |
| DataObject.lineItems[0].characterics.sys_id.value | Sys_id do registro de característica associado. A tabela atualizada pode variar entre as entidades. Por exemplo, order [sn_ind_tmt_orn_order]. Tipo de dados: Cadeia de caracteres |
| DataObject.lineItems[0].characteristics.table | Nome da tabela que contém o registro de característica. Tipo de dados: Cadeia de caracteres |
| DataObject.lineItems[0].lineItems | Itens de linha secundários de um item de linha primário. Este objeto tem o mesmo formato que lineItemsparâmetro. Tipo de dados: Matriz de objetos |
| DataObject.lineItems[0].sys_id | Sys_id do registro do item associado. Tipo de dados: Objeto |
| DataObject.lineItems[0].sys_id.value | Sys_id de um registro de item associado. A tabela atualizada pode variar entre entidades, como Ordem ou Especificação. Por exemplo, order [sn_ind_tmt_orn_order]. Tipo de dados: Cadeia de caracteres |
| DataObject.lineItems[0].table | Nome da tabela que contém o registro do item associado à entidade Lead para dinheiro. Tipo de dados: Cadeia de caracteres |
| DataObject.sys_id | Sys_id do registro de item de linha associado. A tabela atualizada pode variar entre as entidades. Por exemplo, order [sn_ind_tmt_orn_order]. Tipo de dados: Cadeia de caracteres |
| DataObject.table | Nome da tabela que contém o registro da entidade Lead para dinheiro. Tipo de dados: Cadeia de caracteres |
| displayMessage | Mensagem exibida para o usuário na IU. A mensagem de exibição é idêntica à messagevalor da cadeia de caracteres. Tipo de dados: Cadeia de caracteres |
| erro | Mensagem de erro que descreve a falha do CommitInstance método. Se a solicitação for bem-sucedida, este parâmetro retornará uma cadeia de caracteres vazia. Tipo de dados: Cadeia de caracteres |
| HeaderID | Sys_id do registro da entidade de destino criado ou atualizado pelo CommitInstance método. Armazenado em: A tabela relacionada, dependendo do tipo de entidade, como produto vendido, pedido etc. Tipo de dados: Cadeia de caracteres |
| mensagem | Mensagem descrevendo os cenários de sucesso, erro ou parcialmente_success. Esta mensagem é igual a displayMessageValor da cadeia de caracteres e pode ser usado por outras chamadas de aplicação para a API. Tipo de dados: Cadeia de caracteres |
| RootLineIDs | Lista separada por vírgulas de sys_ids dos registros da entidade de destino inseridos, atualizados ou excluídos pelo CommitInstance método. Armazenado em: A tabela relacionada, dependendo do tipo de entidade, como produto vendido, pedido etc. Tipo de dados: Matriz de cadeias de caracteres |
| status | Mensagem de status confirmando o sucesso da confirmação. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
O exemplo a seguir mostra como usar cada um LeadtoCasCore método para recuperar, aplicar e confirmar os detalhes de uma entidade de origem a destino. Neste exemplo, o método commitInstance() é usado para confirmar o JSON alterado em uma entidade de lead para dinheiro na instância.
//Utility to invoke commitInstance API
var util = new sn_l2c_core.PrimitiveUtil();
//Invokes the PrimitiveUtil extension point, picks an implementation based on sourceToTargetConfigID of a Lead to Cash (L2C) flow. The Mapping Config ID in “sn_l2c_core_entity_mapping” table.
var service = util.getPrimitivesEPService('sp_order_macd');
//Invoke commitInstance API with the required params
var commitOutput = service.commitInstance(effectOutput);
//Print the returned JSON
gs.info("commitOutput: "+JSON.stringify(commitOutput));
Saída:
{
"status": "success",
"error": "",
"message": "Commit operation successfully processed.",
"displayMessage": "Commit operation successfully processed.",
"dataObject": {
"sys_id": "-1",
"table": "sn_ind_tmt_orm_order",
"_glide_action": "INSERT",
"_source_object": {},
"lineItems": [
{
"sys_id": "-1",
"table": "sn_ind_tmt_orm_order_line_item",
"attributes": {
"account": {
"value": "86837a386f0331003b3c498f5d3ee4ca"
},
"sold_product": {
"value": "e4bbf902b7343300ece839a6ee11a937"
},
"short_description": {
"value": "Network Monitoring"
}
},
"_glide_action": "INSERT",
"_source_object": {
"sys_id": "e4bbf902b7343300ece839a6ee11a937",
"table": "sn_install_base_sold_product"
},
"lineItems": [
{
"sys_id": "-1",
"table": "sn_ind_tmt_orm_order_line_item",
"attributes": {
"account": {
"value": "86837a386f0331003b3c498f5d3ee4ca"
},
"sold_product": {
"value": "23dbbd02b7343300ece839a6ee11a98e"
},
"short_description": {
"value": "Remote Monitoring"
}
},
"_glide_action": "INSERT",
"_source_object": {
"sys_id": "23dbbd02b7343300ece839a6ee11a98e",
"table": "sn_install_base_sold_product"
},
"lineItems": [],
"characteristics": [],
"coveredProducts": [],
"_commitObjectInfo": {
"sys_id": "d2d5b868488d5610f877a23d5db8922f",
"status": "success"
}
}
],
"characteristics": [],
"coveredProducts": [],
"_commitObjectInfo": {
"sys_id": "92d5b868488d5610f877a23d5db89229",
"status": "success"
}
}
],
"_commitObjectInfo": {
"sys_id": "46d5b0a4488d5610f877a23d5db892ef",
"status": "success"
}
},
"headerID": "46d5b0a4488d5610f877a23d5db892ef",
"rootLineIDs": [
"92d5b868488d5610f877a23d5db89229"
]
}