Árvore de páginas

Tempo aproximado para leitura: 00 min

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

RmiPublicacaoApiAPI 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

Dúvidas Frequentes - Varejo