---
# System prepended metadata

title: Interface de MerchHier - Hierarquia Mercadológica

---

# Interface de MerchHier - Hierarquia Mercadológica


---

###### Informações: 

> Cliente     : Grupo Nós 
> Criado por  : Logic Information Systems - 02/01/2023
> Introdução:  Readme para descrever tecnicamente o fluxo de integração de hierarquia mercadológica para envio de departamento, classe e subclasse com origem no RMS e destino no Zanthus.


---

## ARQUITETURA


### Visão geral:

1. O RIB publica as mensagens de criação, modificação ou exclusão de itens na fila AQ etMerchHierFromRMS;
2. Na aplicação RIB rib-zth, o subscriber merchhier_sub lê as mensagens de itens publicadas na fila. O rib-zth envia essas mensagens para o injector do RSB em uma chamada SOAP, passando os seguintes parâmetros: 


- family;
- Messagetype;
- businessObjectId;
- retailPayload

3. O injector RibZthToRsbZthRouting-ServicesIntegrationFlow, com base nos dados enviados pelo rib-zth, realiza a chamada à operação correspondente do decorator zth-MerchHier-AppServiceDecorator;

4. O decorator zth-MerchHier-AppServiceDecorator trata a mensagem recebida, aplicando os filtros configurados e transformando os dados com base no mapeamento definido. Após realizar a transformação, realiza uma chamada REST à API da Zanthus passando um JSON no body da mensagem. 

A API da Zanthus responde à requisição do decorator com um payload no formato JSON. O serviço então converte a resposta para o formato XML e realiza as seguintes validações: 

1. Se o HTTP Status retornado é 200 e a resposta não contém pelo menos um nó listaNaoProcessados.

2. Se a resposta não contém um nó resultado ou se esse nó tem um conteúdo diferente de error.

Caso as validações sejam cumpridas, o serviço finaliza com sucesso.


---


## OPERAÇÕES/FILTROS
### createMrchHrDeptDesc;
Transformação do payload createMrchrDeptDesc no formato XML para a requisição JSON enviada à Zanthus. 

### updateMrchHrDeptDesc;
Transformação do payload updateMrchrDeptDesc  no formato XML para a requisição JSON enviada à Zanthus. 
			
### deleteMchHrDeptDesc;
Transformação do payload deleteMrchrDeptDesc no formato XML para a requisição JSON enviada à Zanthus.  
			
### createMrchHrClsDesc;
Transformação do payload createMrchrClsDesc no formato XML para a requisição JSON enviada à Zanthus.  
			
### updateMrchHrClsDesc;
Transformação do payload updateMrchrClsDesc no formato XML para a requisição JSON enviada à Zanthus. 
			
### deleteMrchHrClsDesc;
Transformação do payload deleteMrchrClsDesc no formato XML para a requisição JSON enviada à Zanthus. 
			
### CreateMrchHrSclsDesc;
Transformação do payload createMrchrSclsDesc no formato XML para a requisição JSON enviada à Zanthus. 
			
### updateMrchHrClsDesc;
Transformação do payload updateMrchrSclsDesc no formato XML para a requisição JSON enviada à Zanthus. 

### deleteMrchHrSclsDesc;
Transformação do payload deleteMrchrSclsDesc no formato XML para a requisição JSON enviada à Zanthus. 



---

## TRANSFORMAÇÕES

As seguintes transformações em XQuery estão configuradas no decorator zth-MerchHier-AppServiceDecorator. 

Para este fluxo de integração são gerados os seguintes objetos JSON de acordo com a operação executada: 

**DEPARTAMENTO – objeto que contém os dados da hierarquia mercadológica;**

#### MrchHrDeptDescToReplaceDepartamento
Esta XQuery recebe como parâmetro de entrada o payload XML createMrchrDeptDesc e o transforma no JSON: DEPARTAMENTO. Esses objetos são encapsulados pelo objeto REPLACE, que realiza a criação ou modificação do dado na Zanthus. Utilizada nas seguintes operações: 
**CreateMrchrDeptDesc 
UpdateMrchrDeptDesc**

#### MrchHrDeptRefToDeleteDepartamento 
Esta XQuery recebe como parâmetro de entrada o payload XML MrchrDeptRef definido no arquivo, e o transforma no objeto JSON: DEPARTAMENTO. Esse objeto é encapsulados pelo objeto DELETE, que realiza a delação do dado na Zanthus. Utilizada nas seguintes operações: 
**deleteMrchrDeptDesc**
	
#### MrchHrClsToReplaceClasse 
Esta XQuery recebe como parâmetro de entrada o payload XML createMrchrClsDesc, definido no arquivo, e o transforma no objeto JSON: DEPARTAMENTO. Esse objeto é encapsulado pelo objeto REPLACE, que realiza a delação do dado na Zanthus. Utilizada nas seguintes operações: 
**CreateMrchrClsDesc 
UpdateMrchrClsDesc**
				
#### MrchHrClsRefToDeleteClasse 
Esta XQuery recebe como parâmetro de entrada o payload XML MrchrClsRef, definido no arquivo, e o transforma no objeto JSON: DEPARTAMENTO. Esse objeto é encapsulados pelo objeto DELETE, que realiza a delação do dado na Zanthus. Utilizada nas seguintes operações: 
**DeleteMrchrClsDesc**

#### MrchHrSclsToReplaceSubClasse 
Esta XQuery recebe como parâmetro de entrada o payload XML createMrchrSclsDesc, definido no arquivo, e o transforma no objeto JSON: DEPARTAMENTO. Esse objeto é encapsulado pelo objeto REPLACE, que realiza a delação do dado na Zanthus. Utilizada nas seguintes operações: 
**CreateMrchrSclsDesc 
UpdateMrchrSclsDesc**

#### MrchHrClsRefToDeleteSubClasse 
Esta XQuery recebe como parâmetro de entrada o payload XML MrchrSclsRef, definido no arquivo, e o transforma no objeto JSON: DEPARTAMENTO. Esse objeto é encapsulados pelo objeto DELETE, que realiza a delação do dado na Zanthus. Utilizada nas seguintes operações: 
**deleteMrchrSclsDesc** 


---

## LOGS
As mensagens que passam por este fluxo de integração são registradas no banco de dados do RSB na tabela **rsb_soainfra.RSB_SERVICE_ACTIVITY**. Nessa tabela podem ser encontrados os payloads das requisições enviadas no formato XML e as respostas retornadas pela API da Zanthus. 



---

## Informações de Software para abertura do decorator



| Softwares          | Versão/Ambiente               |
| ----------------- |:----------------------- |
| JDeveloper Studio Developer  |12.2 Studio - Instalação Local    |
| Console Weblogic Grupo Nós  | QAS/SDX/PRD     |



- ÍndIce:
[ToC]


	  
	  
	  