Árvore de páginas

Carregando...

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:

Nome

Tipo

Descrição

ParamIxb

self:cBody

 Caractere

Body da requisição no formato Json com as informações enviada no Post ParamIxb[1]
self:lSuccessLógico Atributo de controle para validação de sucesso.ParamIxb[2]
self:cErrorCaractereAtributo para retorno de mensagem no request da API em caso de insucesso.ParamIxb[3]
self:oWsRestObj:URNCaractere/api/retail/v1/notaentrada/devolucao ParamIxb[4]

Retorno:

Nome

Tipo

Descrição

Obrigatório

 NIL

NIL

Para o ponto de entrada PSHRestFi não é tratado retorno após a gravação dos dados de executo

não

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:

Nome

Tipo

Descrição

ParamIxb

self:cBody

 Caractere

Body da requisição no formato Json com as informações enviada no Post ParamIxb[1]
self:lSuccessLógico Atributo de controle para validação de sucesso.ParamIxb[2]
self:cErrorCaractereAtributo para retorno de mensagem no request da API em caso de insucesso.ParamIxb[3]
self:oWsRestObj:URNCaractere/api/retail/v1/notaentrada/devolucao ParamIxb[4]

Retorno:

Nome

Tipo

Descrição

Obrigatório

 aExecRet            

Array               

{ lSuccess , cError }                                

SIM

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.