API para consulta de dados distribuídos por Assinante/Processo
01. DADOS GERAIS
Linha de Produto: | Protheus |
---|---|
Segmento: | Varejo |
Módulo: | SIGALOJA |
Função: | LojxRestObj - Classe para tratamento de APIs em Rest do Varejo RmiPublicacaoObj - Classe para tratamento da API de Publicações de dados do Varejo RmiPublicacaoApi - API para acesso da Publicações de dados Varejo |
02. SITUAÇÃO/REQUISITO
Permitir que seja recuperado (GET) dados Publicados e Distribuídos para um determinado Assinante e Processo no modelo de integração Varejo (RMI)
03. SOLUÇÃO
Foi disponibilizado uma API para possibilitar as consultas dos dados Publicados e Distribuídos por Assinante e Processo.
Neste serviço serão disponibilizados os verbos:
- GET - /api/retail/v1/RmiPublicacao/{AssinanteProcesso}
Retorna uma lista com os registros Publicados e Distribuídos para o Assinante e Processo informados na URL.
Serão retornadas as Distribuição onde seu status(MHR_STATUS) for igual a 1 = Distribuição à processar.
Para que uma Distribuição não seja mais retornada, deve ser confirmado seu recebimento, para isso utilize o método a seguir: API RmiPublicacao (PUT) - Atualiza status das Distribuições
Exemplo do Retorno:
{ "items":[ { "MHQ_UUID":"ddd2503a-c9d4-61a4-bc4e-4cda2ca8932c", "MHQ_CPROCE":"VENDA ", "MHQ_MENSAG":"{\"L1_DESCONT\":0,\"L1_KEYNFCE\":\"35171201849558000109590001248620274714421810\",\"L1_TIPOCLI\":\"F\",\"L1_OPERADO\":\"C02\",\"L1_TIPO\":\"V\",\"L1_VLRLIQ\":81.5,\"L1_COMIS\":0,\"L1_SERSAT\":\"\",\"L1_PDV\":\"1\",\"L1_MSEXP\":\"20200220\",\"L1_LOJA\":\"01\",\"L1_SITUA\":\"IP\",\"L1_NUMCFIS\":\"27471\",\"L1_VEND\":\"\",\"L1_SERIE\":\"\",\"L1_SERPDV\":\"\",\"L1_VALBRUT\":81.5,\"L1_VALMERC\":81.5,\"L1_FILIAL\":\"D MG 01 \",\"L1_ORIGEM\":\"N\",\"L1_EMISSAO\":\"20171207\",\"SL2\":[{\"L2_VLRITEM\":70.9,\"L2_TES\":\"501\",\"L2_QUANT\":1,\"L2_VRUNIT\":70.9,\"L2_DESCRI\":\"\",\"L2_LOCAL\":\"01\",\"L2_PRODUTO\":\"\",\"L2_EMISSAO\":\"20171207\",\"L2_CF\":\"\",\"L2_FILIAL\":\"D MG 01 \",\"L2_UM\":\"UN\",\"L2_ITEM\":\"00\"},{\"L2_VLRITEM\":10.6,\"L2_TES\":\"501\",\"L2_QUANT\":1,\"L2_VRUNIT\":10.6,\"L2_DESCRI\":\"\",\"L2_LOCAL\":\"01\",\"L2_PRODUTO\":\"\",\"L2_EMISSAO\":\"20171207\",\"L2_CF\":\"\",\"L2_FILIAL\":\"D MG 01 \",\"L2_UM\":\"UN\",\"L2_ITEM\":\"00\"}],\"L1_DOC\":\"27471\",\"L1_VLRTOT\":81.5,\"L1_CLIENTE\":\"\",\"L1_CONDPG\":\"CN\",\"SL4\":[{\"L4_DATA\":\"20171207\",\"L4_FORMA\":\" \",\"L4_VALOR\":0,\"L4_ADMINIS\":\" \",\"L4_NSUTEF\":\" \",\"L4_PARCTEF\":\" \",\"L4_AUTORIZ\":\" \",\"L4_FILIAL\":\"D MG 01 \"}]}", "MHQ_ORIGEM":"LIVE ", "MHQ_DATGER":"20200220", "MHQ_HORGER":"11:31:41" } ], "hasNext":true }
Onde:
MHQ_UUID - Será o Identificador Único, que será utilizado para atualizar o status da Distribuição;
MHQ_CPROCE - Processo que foi Distribuído;
MHQ_MENSAG - Campo memo, que conterá um Json com o registro Publicado. As tags do Json serão os nomes dos campos, contidos na SX3;
MHQ_ORIGEM - Define de onde veio o registro, quem foi que Publicou;
hasNext - Quando "true", define que existem mais Distribuições para o Assinante e Processo consultado.
URL - http://{serverUrl}:{serverRestPort}/api/retail/v1/RmiPublicacao/{Assinante|Processo}
serverUrl: Endereço para acesso ao servidor Rest;
serverRestPort: Porta para acesso ao servidor Rest;
Assinante: Código do assinante cadastrado no Protheus
Processo: Código do Processo cadastrado no Protheus
Filtros que podem ser passado na URL:
- Order= Parâmetro para definir a ordenação do retorno.
Exemplo:
http://{serverUrl}:{serverRestPort}/api/retail/v1/RmiPublicacao/{Assinante|Processo}?ORDER=-DataGerada
Neste exemplo ira ordenar pela TAG "DataGerada" de forma decrescente.
- Fields = Parâmetro de define as TAGs que serão retornadas.
Exemplo:
http://{serverUrl}:{serverRestPort}/api/retail/v1/RmiPublicacao/{Assinante|Processo}?FIELDS=Processo,DataGerada,Mensagem
Neste exemplo serão retornadas apenas as TAGS: Processo, DataGerada e Mensagem.
- Page - Define qual pagina será retornada
Exemplo:
http://{serverUrl}:{serverRestPort}/api/retail/v1/RmiPublicacao/{Assinante|Processo}?PAGE=2
Neste exemplo será retornada a pagina 2.
- PageSize - Quantidade de registros retornados pela pagina.
Exemplo:
http://{serverUrl}:{serverRestPort}/api/retail/v1/RmiPublicacao/{Assinante|Processo}?PAGESIZE=3
Neste exemplo serão retornados 3 registros.
Observação
- Caso não seja passado o parâmetro Page, seu valor será 1.
- Caso não seja passado o parâmetro PageSize, seu valor será 10.
04. DEMAIS INFORMAÇÕES
Não há.
05. ASSUNTOS RELACIONADOS
API RmiPublicacao (PUT) - Atualiza status das Distribuições
Guia da Integração RMI - Retail Integration Management