Este documento tem por objetivo especificar o serviço FSWDEFAULTREST desenvolvido para a realização da automação de cadastros do Protheus para o RM.

Uma vez configurado o serviço REST (appserver.ini) e aplicado o pacote (pacote) referente ao fonte FSWDEFAULTREST.prw, na pagina principal do serviço REST, estará disponível a informação do serviço genérico.

Serviço disponível no TFS: $/RM/Documentos/Prj-Projetos/Protheus/Desenvolvimento/Automacao_Rest/FSWDEFAULTREST.prw

Pagina inicial do serviço REST. Exemplo: http://localhost:8996/rest

configurações no appserver.inicontinuação appserver.ini

[OnStart]
jobs=HTTPJOB
RefreshRate=120

[HTTPJOB]
MAIN=HTTP_START
ENVIRONMENT=P12

[HTTPV11]
Enable=1
AddressFamily=1
Sockets=HTTPREST
TimeOut=120
CORSEenable=1
AllowOrigin=*


[HTTPREST]
Port=8996
PrepareIn=18,D MG 01
IPsBind=
SSLPublicKey=
SSLPrivateKey=
SSLPassWord=
URIs=HTTPURI
SECURITY=0
CORSEenable=1
AllowOrigin=*

[HTTPURI]
URL=/rest
PrepareIn=18,D MG 01
OnStart=REST_START
OnConnect=REST_CONNECT
OnExit=REST_EXIT
;Instances=5,10,5,5
Instances=1,1,1,1
CORSEenable=1
AllowOrigin=*

Exemplo de chamada ao serviço Rest pelo navegador. 

Parâmetros:

CompanyId - Coligada do RM no de-para Empresa Protheus

BranchId     - Filial do RM no de-para de Empresa Protheus

SourceAPP - Nome da aplicação para busca do de-para de empresa no Protheus - Geralmente RM

Transaction: Transações disponiveis abaixo. Neste exemplo ITEM referente ao cadastro de produto

Opcao: 1 referente a inclusão. Opções 1 - Inclusão 2 - Alteração 3 - Exclusão

ValorColunas: Coluna=VALOR separado por ponto e virgula. Neste exemplo temos os campos: B1_cod - Referente a código B1_desc referente a descrição ... O nome dos campos da entidade pode ser obtido na tela do cadastro, botão F1 ao estar com o cursor posicionado no campo.


Exemplo de URL neste teste:

http://localhost:8996/rest/FSWDEFAULTREST?CompanyId=1&BranchId=1&SourceAPP=RM&transaction=ITEM&opcao=1&valorcolunas=b1_cod=50;b1_desc=teste;b1_tipo=MC;B1_UM=UN;b1_locpad=01

Ao realizar a chamada desta URL temos o retorno abaixo. Contendo a transação que foi informada, se o registro e de-para foi criado.

Temos também alguns logs que são gerados no appserver em modo console.

Na pasta system também é realizado a inclusão de log com a informação da rotina padrão caso ocorra erro.

Exemplo:


Transações disponiveis:

DescriçãoTransactionRotina Padrão chamadaALIASAutomações realizadas
InclusãoAlteraçãoExclusãoObs.
Grupo de ProdutoSTOCKGROUPMATA035SBMXXX
Condição de PagamentoPAYMENTCONDITIONMATA360SE4X


Natureza financeiraFINANCIALNATUREFINA010SEDXX

BancoBANKMATA070SA6



 ProdutoITEMMATA010SB1XXXUtilizando STOCKGROUP, UNITOFMEASURE e WAREHOUSE para realizar o cadastro.
Centro de CustoCOSTCENTERCTBA030CTTXXX
MoedaCURRENCYCTBA140CTO



Cotação de MoedaCURRENCYQUOTATIONCTBA150CTP



FornecedorFORMATA020SA2XXXSomente PJ
ClienteCLIMATA030SA1



ClienteCLI2CRMA980SA1XXXSomente PF
Custo de ProdutoITEMCOSTINGMATA300SBZ



Unidade de MedidaUNITOFMEASUREQIEA030SAHXXX
Local de EstoqueWAREHOUSEAGRA045NNRXXX
EquipamentosEQUIPMENTMNTA080ST9



Motivos de ImprodutividadeACTIVITYMNTA850TV0