Árvore de páginas

Versões comparadas

Chave

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

Produto:

TOTVS Automação Fiscal

Versões:

12.1.17+

Este documento tem o objetivo de fornecer informações para utilização do Web Service REST, para SETUP automático do TOTVS Automação Fiscal.

...

Para mais detalhes sobre serviços REST na arquitetura Protheus clique aqui.


Definição do Serviço

Nome: TAFSETUP

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.

Importante

Na seção HTTPURI, a chave PrepareIn deve ser comentada. A empresa principal deverá estar informada na seção [TAF_CFGJOB]. Não há necessidade da inclusão de mais empresas, pois o próprio WS fará esse controle. Para acessar as demais empresas, basta informar o CNPJ ( CGC ), Inscrição Estadual ( INSCEST ) e Inscrição Municipal ( INSCMUN ) no Header da requisição ao WS.

Segue exemplo de configuração do WS REST:

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 no modulo TAF:

[HTTPV11[HTTPV11]
SOCKETS=HTTPREST
ENABLE=1

[HTTPREST]
Port=8080
URIs=HTTPURI
Security=0

[HTTPURI]
URL=/rest
;PrepareIn=
Instances=1,1
CORSEnable=1
AllowOrigin=*

...

[TAF_CFGJOB]
Main=TAF_CFGJOB
Instances=1,1 **
PrepareIn=T1 *
nRefreshRate=50
ENVIRONMENT=P12


[OnStart]
JOBS=HTTPJOB,TAF_CFGJOB
RefreshRate=120

Fonte: REST com ERP Microsiga Protheus

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):


*A chave PrepareIn deve conter o código do Grupo de Empresas(sigamat.emp/syscompany) utilizado no modulo TAF, abaixo exemplos configurações possíveis para as mesmas:

  • Utilizando o código do grupo; Ex: PrepareIn=01
  • Utilizando diversos códigos de grupos; Ex: PrepareIn=01,02,99 .
  • Utilizando a palavra ALL, neste caso o server vai considerar todos os grupos contidos no arquivo de empresas do Protheus/TAF; Ex PrepareIn=ALL

** A chave Instances na seção TAF_CFGJOB é opcional, se a mesma não existir o sistema ira considerar a quantidade de threads declarada na chave instances da seção HTTPURI.

Obs: O servidor cria Threads especificas para cada grupo de empresas de acordo com a configuração da chave Instances, por isso essa configuração deve ser realizada considerando a capacidade computacional do servidor.


Fonte: REST com ERP Microsiga Protheus




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):
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": "",	- Complemento Cobrança, Character(25) - Opcional
			"M0_CODMUN": "",	- Codigo Municipio, Character(7) - Obrigatório 
			"M0_ENDENT": "",	- Endereço Entrega, Character(60) - Opcional
			"M0_CIDENT": "",	- Cidade Entrega, Character(60) - Opcional
			"M0_ESTENT": "",	- Estado Entrega, Character(2) 
			"M0_CEPENT": "",	- CEP Entrega, Character(8) - Opcional
			"M0_BAIRENT": "",	- Bairro Entrega, Character(35) - Opcional
			"M0_COMPENT": "",	- Complemento Entrega, Character(25) - Opcional
			"M0_TPINSC": "",	- Tipo de Inscrição, Integer(1), 1-CEI, 2-CNPJ, 3-CPF, 4-INCRA - Obrigatório
			"M0_CGC": "",		- Numero da  Inscrição acima, Character(14) - Condicional ao atributo M0_TPINSC, - Obrigatório (este deve estar preenchido quando for 2, 3 ou 4)
			"M0_CEI": "",		- Numer CEI, Character(12) - Condicional ao atributo M0_TPINSC, este deve estar preenchido quando for 1
			"M0_INSC": "",		- Numero Inscrição Estadual, Character(14) - Opcional	- Caso não seja enviado, será informado "ISENTO" como default
			"M0_INSCM": "",		- Inscrição municipal do estabelecimento, Character(25) - Opcional
			"M0_TEL": "",		- Telefone, Character(14)
			"M0_FAX": "",		- FAX, Character(14) - Opcional
			"M0_PRODRUR": "",	- Produtor Rural, Character(1), 1-Fisica, 2-Juridica, 3-Segurado Especial - Opcional
			"M0_CNAE": "",		- Codigo de atividade, Character(7) - Opcional
			"M0_FPAS": "",		- Código FPAS, Character(4) - Opcional
			"M0_NATJUR": "",	- Natureza Juridica, Character(4) - Opcional
			"M0_NIRE": "",		- Numero NIRE(Nr. Identificacao do Registro da Empresa), Character(25) - Opcional
			"M0_DTRE": "",		- Data NIRE(Inscricao na Junta Comercial), Character(8), AAAAMMDD - Opcional
			"M0_INS_SUF": "", 	- Numero Inscrição SUFRAMA, Character(12) - Opcional
			
			"C1E_CODFIL": "", -  Filial Referencia com ERP - Character(40) - Obrigatório
			"C1E_MATRIZ": true/false, - Obrigatório
			"C1E_DTINI": "",	- PerÝodo Inicial Validade, Character(6), MMAAAA - Opcional
			"C1E_DESFOL": "",	- Indic. DesoneraþÒo Folha, Character(1), 0=Nao Aplicavel;1=Empresa enquadrada nos art. 7. a 9. da Lei 12.546/2011 - Opcional - Opcional
			"C1E_REGELT": "",	- Registro Eletronico, Character(1), 0=Nao optou pelo registro eletronico de empregados;1=Optou pelo registro eletronico de empregados - Opcional
			"C1E_SEGMEN": "",	- Segmento de Atividade, Character(1), 1=Instituiþ§es Financeiras - Bancos;2=ËrgÒos P·blicos;3=Portos - CODESP;4=ConstruþÒo Civil - Empreiteiras - Opcional
			"C1E_ENTEDU": "",	- Ind. Entidade Educativa, Character(1), 0=NÒo Ú entidade educativa sem fins lucrativos;1=╔ entidade educativa sem fins lucrativos - Opcional
			"C1E_INDETT": "",	- Indic Empresa Trab. Temp., Character(1), 1=Sim;2=Não - Opcional - Default '2'
			"C1E_NRETT": "",	- N·m Reg. Emp. Trab. Tempo, Character(30) - Opcional
			"C1E_SIGMIN": "",	- Ident Min/Lei Conc Certif, Character(70) - Opcional
			"C1E_NRCERT": "",	- N·mero do Certificado, Character(40) - Opcional
			"C1E_DTEMCE": "",	- Data emissÒo certificado, Character(8), AAAAMMDD - Opcional
			"C1E_DTVCCE": "",	- Data Vencimento Certif., Character(8), AAAAMMDD - Opcional
			"C1E_NRPRRE": "",	- N·mero Protoc. RenovaþÒo, Character(40) - Opcional
			"C1E_DTPRRE": "",	- Data Protocolo RenovaþÒo, Character(8), AAAAMMDD - Opcional
			"C1E_DTDOU": "",	- Dt.PublicaþÒo DOU, Character(8), AAAAMMDD - Opcional
			"C1E_PAGDOU": "",	- N·mero da Pßgina do DOU, Character(5) - Opcional
			"C1E_SIAFI": "", 	- N·mero do SIAFI, Character(6) - Opcional
			"C1E_RPPS": "", 	- Regime Prop. Prev. Social, Character(1), 1=Sim;2=NÒo - Opcional
			"C1E_EFR": "", 		- ËrgÒo P·blico Ú o EFR, Character(1), 1=Sim;2=NÒo - Opcional
			"C1E_CPNJER": "", 	- CNPJ Ente Federativo Resp, Character(14) - Opcional
			"C1E_NMENTE": "", 	- 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) - Obrigatório
			"C1E_UF": "",       - UF do Ente Federativo, Character(2) - Obrigatório
			"dataInicioeSocial": "AAAAMMDD",
			certificado[			- Somente para estabelecimento Matriz.
				{"arquivo": "String"},
				{"senha": "String"}
				
			],
			"dataInicioReinf": "AAAAMMDD",
		}
	],
	"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)
            "StatusTamanho": true, -  Problema detectado for Tamanho Boolean
            "StatusTipo": false -  Problema detectado for Tipo Boolean
        }
    ]
}




Log internos do ambiente 




{
    "Logs": [
        {
            "empresas": [
                {
                    "mensagem": "",
                    "status": "",
                    "filial": "",
                    "empresa": ""
                },
          ]
        },
        {
            "usuarios": {
                "usuarios": [
                    {
                        "usuario": "",
                        "senha": ""
                    },
                    {
                        "usuario": "",
                         "senha": ""
                    },
                    {
                        "usuario": "",
                         "senha": ""
                    },
                    {
                        "usuario": "TAF_WS",
                         "senha": ""
                    }
                ]
            }
        }
    ]
Bloco de código
languagejs
themeEclipse
titleExemplo POST:
{"empresas": [
		{
			"M0_CODEMPRESA": "",- Código único da empresa, character(4)
			"M0_CODFILIAL": "",	- Código único da filial, Character(5)
			"M0_FILIAL": "",	- Descrição da Filial, Character(40)
			"M0_NOME": "",		- Nome da Empresa, Character(40)
			"M0_NOMECOM": "",	- Razao Social Empresa, Character(60)
			"M0_ENDCOB": "",	- Endereço Cobrança, Character(60)
			"M0_CIDCOB": "",	- Cidade Cobrança, Character(60)
			"M0_ESTCOB": "",	- Estado Cobrança, Character(2)
			"M0_CEPCOB": "",	- CEP Cobrança, Character(8)
			"M0_BAIRCOB": "",	- Bairro Cobrança, Character(35)
			"M0_COMPCOB": "",	- Complemento Cobrança, Character(25)
			"M0_CODMUN": "",	- Codigo Municipio, Character(7)
			"M0_ENDENT": "",	- Endereço Entrega, Character(60)
			"M0_CIDENT": "",	- Cidade Entrega, Character(60)
			"M0_ESTENT": "",	- Estado Entrega, Character(2)
			"M0_CEPENT": "",	- CEP Entrega, Character(8)
			"M0_BAIRENT": "",	- Bairro Entrega, Character(35)
			"M0_COMPENT": "",	- Complemento Entrega, Character(25)
			"M0_TPINSC": "",	- Tipo de Inscrição, Integer(1), 1-CEI, 2-CNPJ, 3-CPF, 4-INCRA
			"M0_CGC": "",		- Numero da  Inscrição acima, Character(14)
			"M0_INSC": "",		- Numero Inscrição Estadual, Character(14)	
			"M0_TEL": "",		- Telefone, Character(14)
			"M0_FAX": "",		- FAX, Character(14)
			"M0_PRODRUR": "",	- Produtor Rural, Character(1), 1-Fisica, 2-Juridica, 3-Segurado Especial
			"M0_CNAE": "",		- Codigo de atividade, Character(7)
			"M0_FPAS": "",		- Código FPAS, Character(4)
			"M0_NATJUR": "",	- Natureza Juridica, Character(4)
			"M0_NIRE": "",		- Numero NIRE(Nr. Identificacao do Registro da Empresa), Character(25)
			"M0_DTRE": "",		- Data NIRE(Inscricao na Junta Comercial), Character(8), AAAAMMDD
			"M0_INS_SUF": "", 	- Numero Inscrição SUFRAMA, Character(12)
			"M0_CEI": "",		- Numer CEI, Character(12)
			
			"C1E_CODFIL": "",
			"C1E_MATRIZ": "true/false",			
			"C1E_DTINI": "",	- PerÝodo Inicial Validade, Character(8), AAAAMMDD
			"C1E_DESFOL": "",	- Indic. DesoneraþÒo Folha, Character(1), 0=Nao Aplicavel;1=Empresa enquadrada nos art. 7. a 9. da Lei 12.546/2011
			"C1E_REGELT": "",	- Registro Eletronico, Character(1), 0=Nao optou pelo registro eletronico de empregados;1=Optou pelo registro eletronico de empregados
			"C1E_SEGMEN": "",	- Segmento de Atividade, Character(1), 1=Instituiþ§es Financeiras - Bancos;2=ËrgÒos P·blicos;3=Portos - CODESP;4=ConstruþÒo Civil - Empreiteiras
			"C1E_ENTEDU": "",	- Ind. Entidade Educativa, Character(1), 0=NÒo Ú entidade educativa sem fins lucrativos;1=╔ entidade educativa sem fins lucrativos
			"C1E_INDETT": "",	- Indic Empresa Trab. Temp., Character(1), 1=Sim;2=NÒo
			"C1E_NRETT": "",	- N·m Reg. Emp. Trab. Tempo, Character(30)
			"C1E_SIGMIN": "",	- Ident Min/Lei Conc Certif, Character(70)
			"C1E_NRCERT": "",	- N·mero do Certificado, Character(40)
			"C1E_DTEMCE": "",	- Data emissÒo certificado, Character(8), AAAAMMDD
			"C1E_DTVCCE": "",	- Data Vencimento Certif., Character(8), AAAAMMDD
			"C1E_NRPRRE": "",	- N·mero Protoc. RenovaþÒo, Character(40)
			"C1E_DTPRRE": "",	- Data Protocolo RenovaþÒo, Character(8), AAAAMMDD
			"C1E_DTDOU": "",	- Dt.PublicaþÒo DOU, Character(8), AAAAMMDD
			"C1E_PAGDOU": "",	- N·mero da Pßgina do DOU, Character(5)
			"C1E_SIAFI": "", 	- N·mero do SIAFI, Character(6)
			"C1E_UF": "", 		- UF do Ente Federativo, Character(2)
			"C1E_CODMUN": "", 	- C¾digo do MunicÝpio, Character(6)
			"C1E_RPPS": "", 	- Regime Prop. Prev. Social, Character(1), 1=Sim;2=NÒo
			"C1E_EFR": "", 		- ËrgÒo P·blico Ú o EFR, Character(1), 1=Sim;2=NÒo
			"C1E_CPNJER": "", 	- CNPJ Ente Federativo Resp, Character(14)
			"C1E_NMENTE": "", 	- Nome do Ente Federativo, Character(115)
			"C1E_SUBTET": "", 	- Subteto, Character(1), 1=Executivo;2=Judicißrio;3=Legislativo;9=Todos os poderes
			"C1E_VLRSUB": "", 	- Valor Subteto Ente Federa, Decimal(14,2)
			"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.
			"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
			"C1E_CNPJTR":"", 	- CNPJ do Transmissor (Outorga), Character(14)
			
			"dataInicioeSocial": "AAAAMMDD",
			certificado[
				{
				"arquivo": "String",
				"senha": "String"
				}
			]	
		}
	],
	"schedule": [
		{
		"shceduleIntegração": "1-Sim/2-Nao",
		"shceduleValidação": "1-Sim/2-Nao",
		"shceduleTransmissão": "1-Sim/2-Nao"
		}
	],
	"usuarios": [
		{
		"email1": "",
		"email2": "",
		"email3": ""
		}
	]
	tabelasCompartilhadas:["empregador","estabelecimento","rubricas","turno","lotacao","cargos","carreira","funcoes","horarios","ambiente","processos","operadores","trabalhadores"]
	"versaoVigenteeSocial": "AAAAMMDD"		
}