Ponto de Entrada - PSHRestFi
Este Ponto de Entrada é executado na rotina LojRestObj20, após as gravações do execAuto das APIs do Protheus Smart Hub.
API onde este ponto de entrada é executado:
- api/retail/v1/notaentrada/devolucao
Descrição: | APIs Integração Protheus | ||||||||||||||||||||
Eventos: | Protected Method execAuto() | ||||||||||||||||||||
Programa Fonte: | LojRestObj20 | ||||||||||||||||||||
Função: | PSHRestFi | ||||||||||||||||||||
Parâmetos: |
| ||||||||||||||||||||
Retorno: |
|
Exemplo de Codificação:
User Function PSHRESTFI() Local cBody := ParamIxb[1] Local lSuccess := ParamIxb[2] Local cError := ParamIxb[3] Local cURN := ParamIxb[4] Local oBody := JsonObject():New() If lSuccess .AND. "devolucao" $ cURN //← Faz a proteção para identificar qual API-EndPoint está executando o ponto de entrada. oBody:FromJson( cBody) //Chama Gravação de Cliente...... lSuccess := .T. cError := "" Endif Return nil
Ponto de Entrada - PSHRestVL
Este ponto de entrada é executado na rotina LojRestObj20, na pre-validação das APIs de Integração Protheus Smart Hub.
APIs onde este ponto de entrada é executado:
- api/retail/v1/notaentrada/devolucao
- api/retail/v1/notasaida/lista
- api/retail/v1/orcamento
- api/retail/v1/estoque/reserva
- api/retail/v1/identificadorPdv
- api/retail/v1/estoque/lista
- api/retail/v1/credito/lista
- api/retail/v1/cargaloja/solicitacarga
Descrição: | APIs Integração Protheus | ||||||||||||||||||||
Eventos: | Protected Method Validation() | ||||||||||||||||||||
Programa Fonte: | LojRestObj20 | ||||||||||||||||||||
Função: | PSHRestVL | ||||||||||||||||||||
Parâmetos: |
| ||||||||||||||||||||
Retorno: |
|
Exemplo de Codificação:
User Function PSHRESTFI() Local cBody := ParamIxb[1] Local lSuccess := ParamIxb[2] Local cError := ParamIxb[3] Local cURN := ParamIxb[4] Local oBody := JsonObject():New() If lSuccess .AND. "devolucao" $ cURN //← Faz a proteção para identificar qual API-EndPoint está executando o ponto de entrada. oBody:FromJson( cBody) //Chama Gravação de Cliente...... lSuccess := .F. cError := "Cliente com CPF invalido ou em branco!" Endif Return {lSuccess, cError}
Exemplo de como o parâmetro cBody
(ParamIxb[1]) dos pontos de entrada é recebido. Neste caso, utilizamos a API api/retail/v1/notaentrada/devolucao
como referência:
{ "idRetaguardaLoja": "01", "cliente": { "cpfCnpj": "11111111111", "nome": "CLIENTE PADRAO", "endereco": "RUA PADRAO, 1", "uf": "SP", "municipio": "SAO PAULO" }, "itens": [ { "idRetaguardaCupomItem": "01 113 54901", "quantidade": 1.0 } ], "dadosCustomizados": { "idOperador": "12354123", "nomeOperador": "Operador teste" } }
dadosCustomizados
Trata-se da tag que armazenará os campos personalizados provenientes do TOTVS Varejo PDV Omni.
Neste exemplo, foram criados dois campos no PDV:
- idOperador
- nomeOperador
Esses nomes são definidos no momento de sua criação no PDV, permitindo que sejam criados um número ilimitado de campos, conforme necessário.