Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Objetivo: Enviar ao TAF as informações necessários para o SETUP do ambiente de forma a configurar o ambiente automaticamente e deixá-lo totalmente operacional.

Métodos: POST

Configurações do Serviço

A  Configuração do serviço REST está documentada  no link Configuração REST SERVER - Protheus.

Estas parametrizações estão localizadas fisicamente no arquivo appserver.ini da pasta de instalação "[...]\BIN\APP"

Importante

Na seção HTTPURI, a chave PrepareIn deve ser comentada.

Controle timeout: Para melhor sincronismo entre as aplicações, o serviço de SETUP possui um controle de processamento de 50 empresas por requisição; ao atingir essa limitação, o resposta do POST contém as empresas que foram processadas para que a origem as trate, antes de uma nova solicitação com as empresas restantes; assim deve se repetir até que todas as empresas sejam processadas. 


Configurações do Serviço

A  Configuração do serviço REST está documentada  no link Configuração REST SERVER - Protheus.

Estas parametrizações estão localizadas fisicamente no arquivo appserver.ini da pasta de instalação "[...]\BIN\APP"

Importante

Na seção HTTPURI, a chave PrepareIn deve ser comentada.

Segue exemplo de configuração do WS REST para utilização Segue exemplo de configuração do WS REST para utilização no modulo TAF:

[HTTPV11]
SOCKETS=HTTPREST
ENABLE=1

...

Definição dos métodos

POST

Descrição do Método: O método POST segue o conceito do próprio método em qualquer outro tipo de serviço REST, devendo seu conteúdo ser enviado no corpo da mensagem (body) no formato json.

O objetivo do método é enviar informações que devem ser gravadas nos controles do TAF, permitindo que os dados sejam usados para concluir a configuração do ambiente.

Estrutura da mensagem enviada no POST (Request):

do Método: O método POST segue o conceito do próprio método em qualquer outro tipo de serviço REST, devendo seu conteúdo ser enviado no corpo da mensagem (body) no formato json.

O objetivo do método é enviar informações que devem ser gravadas nos controles do TAF, permitindo que os dados sejam usados para concluir a configuração do ambiente.

Estrutura da mensagem enviada no POST (Request):
Bloco de código
languagejs
themeEclipse
titleExemplo POST:
{"empresas": [
		{
			"CODEMPRESA": "",- Código único da empresa, character(4) - Obrigatório
			"CODFILIAL": "",	- Código único da filial, Character(6) - Obrigatório
			"M0_FILIAL": "",	- Descrição da Filial, Character(40) - Obrigatório
			"M0_NOME": "",		- Nome da Empresa, Character(40) - Obrigatório
			"M0_NOMECOM": "",	- Razao Social Empresa, Character(60) - Opcional - Se não enviado, considera o mesmo conteúdo do atributo M0_NOME
			"M0_ENDCOB": "",	- Endereço Cobrança, Character(60) - Opcional
			"M0_CIDCOB": "",	- Cidade Cobrança, Character(60) - Opcional
			"M0_ESTCOB": "",	- Estado Cobrança, Character(2) - Opcional
			"M0_CEPCOB": "",	- CEP Cobrança, Character(8) - Opcional
			"M0_BAIRCOB": "",	- Bairro Cobrança, Character(35) - Opcional
			"M0_COMPCOB
Bloco de código
languagejs
themeEclipse
titleExemplo POST:
{"empresas": [
		{
			"CODEMPRESA": "",- Código único da empresa, character(4)
			"CODFILIAL": "",	- Código único da filialComplemento Cobrança, Character(625) - Opcional
			"M0_FILIALCODMUN": "",	- DescriçãoCodigo da FilialMunicipio, Character(417) - Obrigatório 
			"M0_NOMEENDENT": "",		- NomeEndereço da EmpresaEntrega, Character(4060) - Opcional
			"M0_NOMECOMCIDENT": "",	- RazaoCidade Social EmpresaEntrega, Character(60) - Opcional - Se não enviado, considera o mesmo conteúdo do atributo M0_NOME - Opcional
			"M0_ENDCOBESTENT": "",	- EndereçoEstado CobrançaEntrega, Character(602) - Opcional
			"M0_CIDCOBCEPENT": "",	- CidadeCEP CobrançaEntrega, Character(608) - Opcional
			"M0_ESTCOBBAIRENT": "",	- EstadoBairro CobrançaEntrega, Character(235) - Opcional
			"M0_CEPCOBCOMPENT": "",	- CEPComplemento CobrançaEntrega, Character(825) - Opcional
			"M0_BAIRCOBTPINSC": "",	- Bairro Cobrança, Character(35) - Opcional Tipo de Inscrição, Integer(1), 1-CEI, 2-CNPJ, 3-CPF, 4-INCRA - Obrigatório
			"M0_COMPCOBCGC": "",		- Numero da  ComplementoInscrição Cobrançaacima, Character(2514) - Opcional
			"M0_CODMUN": "",	- Codigo Municipio, Character(7) -  Condicional ao atributo M0_TPINSC, - Obrigatório (este deve estar preenchido quando for 2, 3 ou 4)
			"M0_ENDENTCEI": "",		- EndereçoNumer EntregaCEI, Character(6012) - Opcional Condicional ao atributo M0_TPINSC, este deve estar preenchido quando for 1
			"M0_CIDENTINSC": "",		- Numero CidadeInscrição EntregaEstadual, Character(6014) - Opcional
			"M0_ESTENT": "",	- Estado Entrega, Character(2)  - Opcional	- Caso não seja enviado, será informado "ISENTO" como default
			"M0_CEPENTINSCM": "",		- Inscrição CEPmunicipal do Entregaestabelecimento, Character(825) - Opcional
			"M0_BAIRENTTEL": "",		- Bairro EntregaTelefone, Character(3514) - Opcional
			"M0_COMPENTFAX": "",		- Complemento EntregaFAX, Character(2514) - Opcional
			"M0_TPINSCPRODRUR": "",	- TipoProdutor de InscriçãoRural, IntegerCharacter(1), 1-CEIFisica, 2-CNPJJuridica, 3-CPF,Segurado Especial 4-INCRA Opcional
			"M0_CGCCNAE": "",		- NumeroCodigo da  Inscrição acimade atividade, Character(147) - Condicional ao atributo M0_TPINSC, este deve estar preenchido quando for 2, 3 ou 4Opcional
			"M0_FPAS": "",		- Código FPAS, Character(4) - Opcional
			"M0_CEINATJUR": "",		- NumerNatureza CEIJuridica, Character(12) - Condicional ao atributo M0_TPINSC, este deve estar preenchido quando for 14) - Opcional
			"M0_NIRE": "",		- Numero NIRE(Nr. Identificacao do Registro da Empresa), Character(25) - Opcional
			"M0_INSCDTRE": "",		- Numero Inscrição Estadual Data NIRE(Inscricao na Junta Comercial), Character(148), AAAAMMDD - Opcional
			"M0_INS_SUF": "", 	- CasoNumero nãoInscrição seja enviadoSUFRAMA, será informado "ISENTO" como defaultCharacter(12) - Opcional
			
			"M0C1E_INSCMCODFIL": "",		 -  Filial InscriçãoReferencia municipalcom doERP estabelecimento,- Character(2540) - OpcionalObrigatório
			"M0C1E_TELMATRIZ": "",		- Telefone, Character(14)true/false, - Obrigatório
			"M0C1E_FAXDTINI": "",		- PerÝodo Inicial FAXValidade, Character(14)6), MMAAAA - Opcional
			"M0C1E_PRODRURDESFOL": "",	- Produtor RuralIndic. DesoneraþÒo Folha, Character(1), 0=Nao 1-Fisica, 2-Juridica, 3-Segurado Especial - Opcional
			"M0_CNAE": "",		- Codigo de atividade, Character(7) Aplicavel;1=Empresa enquadrada nos art. 7. a 9. da Lei 12.546/2011 - Opcional - Opcional
			"M0C1E_FPASREGELT": "",		- CódigoRegistro FPASEletronico, Character(4) - Opcional
			"M0_NATJUR": "",	- Natureza Juridica, Character(4)1), 0=Nao optou pelo registro eletronico de empregados;1=Optou pelo registro eletronico de empregados - Opcional
			"M0C1E_NIRESEGMEN": "",		- Numero NIRE(Nr. Identificacao do Registro da Empresa), Character(25) Segmento de Atividade, Character(1), 1=Instituiþ§es Financeiras - Bancos;2=ËrgÒos P·blicos;3=Portos - CODESP;4=ConstruþÒo Civil - Empreiteiras - Opcional
			"M0C1E_DTREENTEDU": "",		- Data NIRE(Inscricao na Junta Comercial)Ind. Entidade Educativa, Character(81), AAAAMMDD 0=NÒo Ú entidade educativa sem fins lucrativos;1=╔ entidade educativa sem fins lucrativos - Opcional
			"M0C1E_INS_SUFINDETT": "", 	- Indic NumeroEmpresa InscriçãoTrab. SUFRAMATemp., Character(121), 1=Sim;2=Não - Opcional
			 - Default '2'
			"C1E_CODFILNRETT": "", 	- N·m FilialReg. ReferenciaEmp. com ERP -Trab. Tempo, Character(40)
			"C1E_MATRIZ": true/false,			30) - Opcional
			"C1E_DTINISIGMIN": "",	- Ident PerÝodoMin/Lei InicialConc ValidadeCertif, Character(670), MMAAAA - Opcional
			"C1E_DESFOLNRCERT": "",	- Indic.N·mero DesoneraþÒodo FolhaCertificado, Character(140), 0=Nao Aplicavel;1=Empresa enquadrada nos art. 7. a 9. da Lei 12.546/2011 - Opcional- Opcional
			"C1E_DTEMCE": "",	- Data emissÒo certificado, Character(8), AAAAMMDD - Opcional
			"C1E_REGELTDTVCCE": "",	- Data RegistroVencimento EletronicoCertif., Character(18), 0=NaoAAAAMMDD optou pelo registro eletronico de empregados;1=Optou pelo registro eletronico de empregados- Opcional
			"C1E_NRPRRE": "",	- N·mero Protoc. RenovaþÒo, Character(40) - Opcional
			"C1E_SEGMENDTPRRE": "",	- SegmentoData deProtocolo AtividadeRenovaþÒo, Character(18), 1=Instituiþ§es Financeiras - Bancos;2=ËrgÒos P·blicos;3=Portos - CODESP;4=ConstruþÒo Civil - Empreiteiras - AAAAMMDD - Opcional
			"C1E_ENTEDUDTDOU": "",	- IndDt.PublicaþÒo Entidade EducativaDOU, Character(18), 0=NÒo Ú entidade educativa sem fins lucrativos;1=╔ entidade educativa sem fins lucrativos AAAAMMDD - Opcional
			"C1E_INDETTPAGDOU": "",	- IndicN·mero da EmpresaPßgina Trab.do Temp.DOU, Character(15), 1=Sim;2=NÒo - Opcional - Default '2'
			"C1E_NRETTSIAFI": "", 	- N·mN·mero Reg. Emp. Trab. Tempodo SIAFI, Character(306) - Opcional
			"C1E_SIGMINRPPS": "", 	- Ident Min/Lei Conc CertifRegime Prop. Prev. Social, Character(701), 1=Sim;2=NÒo - Opcional
			"C1E_NRCERTEFR": "", 		- ËrgÒo N·meroP·blico Ú doo CertificadoEFR, Character(40)(1), 1=Sim;2=NÒo - Opcional
			"C1E_DTEMCECPNJER": "", 	- DataCNPJ Ente emissÒoFederativo certificadoResp, Character(814), AAAAMMDD - Opcional
			"C1E_DTVCCENMENTE": "", 	- Nome Datado VencimentoEnte Certif.Federativo, Character(8115), AAAAMMDD - Opcional
			"C1E_NRPRRESUBTET": "", 	- N·mero Protoc. RenovaþÒo, Character(40)Subteto, Character(1), 1=Executivo;2=Judicißrio;3=Legislativo;9=Todos os poderes - Opcional
			"C1E_DTPRREVLRSUB": "", 	- Valor DataSubteto ProtocoloEnte RenovaþÒoFedera, CharacterDecimal(8), AAAAMMDD14,2) - Opcional
			"C1E_DTDOUSITESP": "", 	- Dt.PublicaþÒo DOU, Character(8), AAAAMMDD  SituaþÒo Pessoa JurÝdica, Character(1),0=SituaþÒo Normal;1=ExtinþÒo;2=FusÒo;3=CisÒo;4=IncorporaþÒo. - Opcional
			"C1E_PAGDOUSITPF": "", 	- N·meroSituaþÒo da Pßgina do DOUPessoa FÝsica, Character(51) - Opcional
			"C1E_SIAFI": "", 	- N·mero do SIAFI, Character(6),0=SituaþÒo Normal;1=Encerramento de esp¾lio;2=SaÝda do paÝs em carßter permanente - Opcional
			"C1E_RPPSCNPJTR": "", 	- RegimeCNPJ Prop.do Prev. SocialTransmissor (Outorga), Character(1), 1=Sim;2=NÒo14) - OpcionalObrigatório
			"C1E_EFRUF": "", 		      - ËrgÒoUF P·blicodo ÚEnte o EFRFederativo, Character(1), 1=Sim;2=NÒo2) - OpcionalObrigatório
			"C1E_CPNJERdataInicioeSocial": "AAAAMMDD", 
			certificado[			- CNPJSomente para Ente Federativo Resp, Character(14) - Opcionalestabelecimento Matriz.
				{"arquivo": "String"},
				{"senha": "String"}
				
			],
			"C1E_NMENTEdataInicioReinf": "AAAAMMDD", 	- Nome do Ente Federativo, Character(115) - Opcional
			"C1E_SUBTET": "", 	- Subteto, Character(1), 1=Executivo;2=Judicißrio;3=Legislativo;9=Todos os poderes - Opcional
			"C1E_VLRSUB": "", 	- Valor Subteto Ente Federa, Decimal(14,2) - Opcional
			"C1E_SITESP": "", 	- SituaþÒo Pessoa JurÝdica, Character(1),0=SituaþÒo Normal;1=ExtinþÒo;2=FusÒo;3=CisÒo;4=IncorporaþÒo. - Opcional
			"C1E_SITPF": "", 	- SituaþÒo Pessoa FÝsica, Character(1),0=SituaþÒo Normal;1=Encerramento de esp¾lio;2=SaÝda do paÝs em carßter permanente - Opcional
			"C1E_CNPJTR":"", 	- CNPJ do Transmissor (Outorga), Character(14) - Opcional
			"C1E_UF": "",       - UF do Ente Federativo, Character(2) - Obrigatório
			"dataInicioeSocial": "AAAAMMDD",
			certificado[			- Somente para estabelecimento Matriz.
				{"arquivo": "String"},
				{"senha": "String"}
				
			]	
		}
	],
	"schedule": [
		{"scheduleIntegracao": "1-Sim/2-Nao"}, -  Ativação da Integração ERP / TAF - Charater(1)
		{"scheduleValidacao": "1-Sim/2-Nao"}, - Ativação da Validação ERP / TAF - Charater(1)
		{"scheduleTransmissao": "1-Sim/2-Nao"} - Ativação da Integração TAF / União  - Charater(1)
	],
	"usuarios": [
		{"email": ""},
		{"email": ""},
		{"email": ""}
	],
	"versaoVigenteeSocial": ""	- Versão eSocial  02_04_01 ou 02_04_02, Character(8)
	"urlSmartClient" : "" - Endereço do Endpoint de acesso ( Smartclient HTML - Webapp)
}
		}
	],
	"schedule": [
		{"scheduleIntegracao": "1-Sim/2-Nao"}, -  Ativação da Integração ERP / TAF - Charater(1)
		{"scheduleValidacao": "1-Sim/2-Nao"}, - Ativação da Validação ERP / TAF - Charater(1)
		{"scheduleTransmissao": "1-Sim/2-Nao"} - Ativação da Integração TAF / União  - Charater(1)
	],
	"usuarios": [
		{"email": ""}, - Obrigatório
		{"email": ""}, - Obrigatório
		{"email": ""} - Obrigatório
	],
	"versaoVigenteeSocial": ""	- Versão eSocial  02_04_01 ou 02_04_02, Character(8) - Obrigatório
	"urlSmartClient" : "", - Endereço do Endpoint de acesso ( Smartclient HTML - Webapp) - Obrigatório
    "versaoVigenteReinf": ""	- Versão EFD Reinf 1_03_02, Character(8) - Obrigatório
}



Bloco de código
languagejs
titleEstrutura da mensagem de retorno do POST (Response):
Validação de Layout:


Retorno:


{
    "empresas": [
        {
            "TipoEnviado": "", - Tipo do Dado Enviado Character(1)
            "Filial": "", - Filial da Empresa Enviada Character(6)
            "TamanhoEnviado": 14, - Tamanho do dado Enviado Character(6)
            "Empresa": "igF2", -  Empresa Enviada Character(4)
            "Campo": "C1E_CPNJER", -- Campo Enviado  Character(15)
Bloco de código
languagejs
titleEstrutura da mensagem de retorno do POST (Response):
Validação de Layout:


Retorno:


{
    "empresas": [
        {
            "TipoEnviadoStatusTamanho": ""true, -  TipoProblema dodetectado Dadofor Enviado Character(1)Tamanho Boolean
            "FilialStatusTipo": "",false - Filial da Empresa Enviada Character(6)  Problema detectado for Tipo Boolean
        }
    ]
}




Log internos do ambiente 




{
    "TamanhoEnviadoLogs": [
  14, - Tamanho do dado Enviado Character(6){
            "Empresaempresas": "igF2", - [
    Empresa Enviada Character(4)
          {
  "Campo": "C1E_CPNJER", -- Campo Enviado  Character(15)
            "StatusTamanhomensagem": true, -  Problema detectado for Tamanho Boolean"",
            "StatusTipo":  false -  Problema detectado for Tipo Boolean"status": "",
        }
    ]
}




Log internos do ambiente 




{
    "Logsfilial": ["",
        {
            "empresasempresa": [""
                {},
          ]
          "mensagem": ""},
        {
            "statususuarios": "",{
                    "filialusuarios": "",[
                    "empresa": ""{
                },
          ]"usuario": "",
        },
        {
            "usuariossenha": {""
                   "usuarios": [ },
                    {
                        "usuario": "",
                         "senha": ""
                    },
                    {
                        "usuario": "",
                         "senha": ""
                    },
                    {
                        "usuario": "TAF_WS",
                         "senha": ""
                    }
                ]
            }
        }
    ]
}

...