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 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:
Bloco de código |
---|
User Function PSHRESTFI() |
Local |
cBody := ParamIxb[1] |
Local lSuccess |
:= ParamIxb[2] |
Local cError
Local cError := ParamIxb[3] |
Local cURN
Local cURN := ParamIxb[4] |
Local oBody
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 := "" |
EndifReturn
Endif
Return nil |
Ponto de Entrada - PSHRestVL
Este Ponto ponto de Entrada 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
Local cError := ParamIxb[3] |
Local cURN
Local cURN := ParamIxb[4] |
Local oBody
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} |
Exempo do Request
{"success": false,
"message": "Cliente com CPF invalido ou em branco!",
"data": [
{
"idRetaguardaNota": "D RJ 02 PEQT0R UNI",
"idRetaguardaCredito": "D RJ 02 PEQT0R UNIANCC",
"valorCredito": 10
}
],
"hasNext": false
}
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.