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ão
Grupo de ProdutoSTOCKGROUPMATA035SBMXXX
Condição de PagamentoPAYMENTCONDITIONMATA360SE4X

Natureza financeiraFINANCIALNATUREFINA010SED


BancoBANKMATA070SA6


 ProdutoITEMMATA010SA1


Centro de CustoCOSTCENTERCTBA030CTTXXX
MoedaCURRENCYCTBA140CTO


Cotação de MoedaCURRENCYQUOTATIONCTBA150CTP


FornecedorFORMATA020SA2XXX
ClienteCLIMATA030SA1


ClienteCLI2CRMA980SA1XXX
Custo de ProdutoITEMCOSTINGMATA300SBZ


Unidade de MedidaUNITOFMEASUREQIEA030SAH


Local de EstoqueWAREHOUSEAGRA045NNRXXX
EquipamentosEQUIPMENTMNTA080ST9


Motivos de ImprodutividadeACTIVITYMNTA850TV0