Histórico da Página
Ponto de Entrada - PSHRestFi
Este Ponto de Entrada é executado na rotina LojRestObj20, após as gravações do execAuto das APIs Integração Protheusdo 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:
Bloco de código |
---|
User Function PSHRESTFI() |
Local cBody := ParamIxb[1]
Local lSuccess := ParamIxb[2]
Local cError := ParamIxb[3]
Local cURN := ParamIxb[4]
Local oBody :=
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:
Bloco de código |
---|
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!" |
EndifReturn
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:
Bloco de código |
---|
{
"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.