Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

Logística - Linha Protheus - GFE - Inclusão de Ocorrência pelo WebService

time.png Tempo aproximado para leitura: 00:03:00 min

Dúvida

Como realizar a inclusão de Ocorrência pelo WebService?

Ambiente
TOTVS Logística - TOTVS Frete Embarcador (Linha Protheus) - Gestão de Frete Embarcador (SIGAGFE) - Todas as Versões.

Solução
Para os usuários que possuem algum aplicativo customizado, e que precisam gerar registro de ocorrências para o transporte no produto SIGAGFE - Gestão de Frete Embarcador, foi disponibilizado o método Web Service REST.
Para utilização, é necessário a atualização do produto e a configuração do Web Service REST, conforme descrito nos pré-requisitos:

  • Configuração do AppServer para disponibilizar as rotinas publicadas com o Web Service REST.
    No link 02. REST com ERP Microsiga Protheus é possível encontrar todas as configurações necessárias.
  • Documentação do Web Service REST. No link FWRestModel. é possível encontrar toda a documentação da API RESTFull do Protheus e como utilizá-la.

Para realizar testes, pode ser utilizado qualquer programa de sua preferência, que teste API Web Service REST.
Como exemplos de programas, podemos citar o SoapUI ou a extensão Postman do navegador Chrome.
Ambos são excelentes aplicativos.

Utilizando o Postman
Abaixo uma tela utilizando a extensão Postman, executando a gravação de dados no método POST. Neste exemplo os dados da tabela GWD e os detalhes da tabela GWL estão sendo gravados:

image2017-5-8_17_17_4.png

Exemplo de utilização, quando o model apresenta uma validação, impedindo a gravação do registro. No exemplo abaixo o documento de carga não existe na base de dados:

image2017-5-8_16_46_11.png


Utilizando o Progress Datasul

Código de exemplo:

DEFINE VARIABLE h_http              ASHANDLE    NO-UNDO.
DEFINE VARIABLE mptr_response       ASMEMPTR    NO-UNDO.
DEFINE VARIABLE i_response_code     ASINTEGERNO-UNDO.
DEFINE VARIABLE c_response_status   ASCHARACTER NO-UNDO.
DEFINE VARIABLE lc_content          ASLONGCHAR  NO-UNDO.
ASSIGN lc_content = ' ~{"id":"GFEA032","operation":3,"models":[
~{"id":"GFEA032_GWD","modeltype":"FIELDS","fields":[
~{"id":"GWD_DSOCOR","order":3,"value":"DESCRICAO CAMPO"},
~{"id":"GWD_CDTIPO","order":4,"value":"99"},
~{"id":"GWD_CDMOT","order":6,"value":"99"},
~{"id":"GWD_DSPROB","order":8,"value":"PROBLEMA CAMPO 00000026"},
~{"id":"GWD_DSSOLU","order":9,"value":"Aprovada automaticamente"},
~{"id":"GWD_DTOCOR","order":10,"value":"20170506"},
~{"id":"GWD_HROCOR","order":11,"value":"14:38"},
~{"id":"GWD_DTCRIA","order":12,"value":"20170506"},
~{"id":"GWD_HRCRIA","order":13,"value":"14:38"},
~{"id":"GWD_DTBAI","order":14,"value":"20170509"},
~{"id":"GWD_HRBAI","order":15,"value":"09:51"},
~{"id":"GWD_SIT","order":16,"value":"2"},
~{"id":"GWD_USUCRI","order":19,"value":"andre.wisnheski"},
~{"id":"GWD_CDTRP","order":24,"value":"000000002"},
~{"id":"GWD_ACAODC","order":26,"value":"2"},
~{"id":"GWD_ACAODF","order":27,"value":"1"},
~{"id":"GWD_ORIGEM","order":28,"value":"2"},
~{"id":"GWD_SITTMS","order":29,"value":"0"},
~{"id":"GWD_QTDVOL","order":32,"value":"12"}],"models":[
~{"id":"GFEA032_GWL","modeltype":"GRID","optional":1,"struct":[
~{"id":"GWL_FILIAL","order":1},
~{"id":"GWL_NROCO","order":2},
~{"id":"GWL_NRDC","order":3},
~{"id":"GWL_FILDC","order":4},
~{"id":"GWL_EMITDC","order":5},
~{"id":"GWL_SERDC","order":6},
~{"id":"GWL_TPDC","order":7},
~{"id":"GWL_SDOCDC","order":8}],"items":[
~{"id":1,"deleted":0,"fields":[
~{"id":"GWL_NRDC","value":"060201"},
~{"id":"GWL_FILDC","value":"D MG 01"},
~{"id":"GWL_EMITDC","value":"000000003"},
~{"id":"GWL_SERDC","value":"17"},
~{"id":"GWL_TPDC","value":"NFS"},
~{"id":"GWL_SDOCDC","value":"17"}]}]}]}]} ':U.
IFNOTVALID-HANDLE(h_http)THENDO:
RUN utp/ut-http-api.p PERSISTENTSETh_http.
END.
RUN setServerName   INh_http (INPUT'10.80.18.198':U).
RUN setServerPort   INh_http (INPUT8022).
RUN clearQueryParam INh_http.
RUN setRequestHeaderINh_http (INPUT'Content-Type':U,  INPUT'application/json':U).
RUN setServiceUrl    INh_http(INPUT'/MG2/fwmodel/GFEA032':U).
RUN setServiceMethod INh_http(INPUT'POST':U).
RUN setBody          INh_http(INPUT lc_content, INPUT'application/json':U).
RUN callService      INh_http.
RUN getResponseData  INh_http(OUTPUT mptr_response).
RUN getResponseCode  INh_http(OUTPUT i_response_code).
RUN getResponseStatusINh_http(OUTPUT c_response_status).
IFVALID-HANDLE(h_http)THENDO:
DELETEPROCEDUREh_http.
END.
IFi_response_code NE200ANDi_response_code NE201THENDO:
MESSAGE i_response_code SKIP
c_response_status SKIP
STRING(mptr_response)
VIEW-ASALERT-BOX.
RETURN'NOK':U.
END.
COPY-LOB FROM mptr_responseTOlc_content NO-CONVERT.
MESSAGESTRING(lc_content)
VIEW-ASALERT-BOX.


Resultado esperado quando o registro é incluído corretamente:

image2017-5-9_14_34_25.png

Resultado esperado quando ocorre uma validação que impossibilite a inclusão da ocorrência:

image2017-5-9_14_35_25.png

Importante
Caso a tabela do cadastro de Ocorrências seja exclusiva, no Headers deve ser indicado no campo tenantId o grupo de empresas e a filial que deseja localizar as informações. Abaixo um exemplo utilizando o programa Postman:

image2017-5-15_9_34_43.png

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _