---
# System prepended metadata

title: Interface de Sortimento e Preços

---

# Interface de Sortimento e Preços

###### 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 sortimento de items para as lojas e envio de preços 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 lojas na fila AQ etItemLocFromRMS;
2. Na aplicação RIB rib-zth, o subscriber itemLoc_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-ItemLoc-AppServiceDecorator; 

4. O decorator zth-ItemLoc-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
As seguintes operações estão configuradas no decorator zth-ItemLoc-AppServiceDecorator. Na seção de Anexos encontram-se arquivos JSON de exemplo gerados em cada operação e enviados para Zanthus. 
### createItemLocDesc;
	    Filtro de integração somente para Lojas; Integração não é realizada para Warehouses. 
        Consulta ao micro-serviço “rms-item” para verificação de filtros de UDA Venda e Food Service;
        Transformação do payload ItemLocDesc no formato XML para a requisição JSON enviada à Zanthus      
     
### updateItemLocDesc;
	    Filtro de integração somente para Lojas; Integração não é realizada para Warehouses; 
        Consulta ao micro-serviço “rms-item” para verificação de filtros de UDA Venda e Food Service; 
        Transformação do payload UpdateItemLocDesc no formato XML para a requisição JSON enviada à Zanthus

			
### deleteItemLocDesc;
		
        Filtro de integração somente para Lojas; Integração não é realizada para Warehouses; 
        Consulta ao micro-serviço “rms-item” para verificação de filtros de UDA Venda e Food Service; 
        Transformação do payload deleteItemLoc no formato XML para a requisição JSON enviada à Zanthus.


## TRANSFORMAÇÕES

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

Para este fluxo de integração são gerados os seguintes objetos JSON de acordo com a operação executada: 
**MERCADORIAS – objeto que contém os dados do sortimento do produto;**

**MERCADORIA_TIPO_VENDAS – objeto que contém o sortimento e ativação do produto.**


#### ItemLocDescToReplaceMercadoriaTipoVenda
Esta XQuery recebe como parâmetro de entrada o payload XML ItemLocDesc e o transforma em dois objetos JSON: MERCADORIAS e MERCADORIA_TIPO_VENDA. 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: 
**CreateItemlocDesc**
**UpdateItemLocDesc**

#### ItemLocRefToDeleteMercadoriaTipoVenda 
Esta XQuery recebe como parâmetro de entrada o payload XML ItemLocRef, definido no arquivo, e o transforma em dois objetos JSON: MERCADORIAS e MERCADORIA_TIPO_VENDA. Esses objetos são encapsulados pelo objeto DELETE, que realiza a delação do dado na Zanthus. Utilizada nas seguintes operações: 
**DeleteItemLocRef**
	


## 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. 

Este fluxo também realiza um filtro nas mensagens com base em regras definidas pela área de negócio, com o objetivo de integrar somente os dados necessários para o destino. As mensagens que não atendem às regras estabelecidas são descartadas e registradas no log do domínio do Weblogic rsb_server1-diagnostic.log. 

Abaixo um exemplo de mensagem registrada nesse log. 

*zth-ItemLoc-AppServiceDecorator - createItemLocDesc operation: Excluded message for item 101 (Items com LOCTYPE W não são integrados)*


## 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     |



- Auto-generated Table of Content
[ToC]


	  
	  
	  