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 financeiraFINANCIALNATUREFINA010SED



BancoBANKMATA070SA6



 ProdutoITEMMATA010SA1



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