Histórico da Página
RESTWeb Service REST
Produto: | TOTVS Automação Fiscal |
Versões: | 12.1.23+ |
Este documento tem o objetivo de fornecer informações para utilização do Web Service REST de integração com o TOTVS Automação Fiscal.
Para mais detalhes sobre o conceito de um serviços REST clique aqui.
Para mais detalhes sobre serviços REST na arquitetura Protheus clique aqui.
Índice
|
---|
Definição do Serviço
Nome: WSTSSSetup
Objetivo: Realizar a configuração do TSS (TOTVS Service SOA) e obter o ID da entidade.
Descrição: Essa interface de integração irá realizar a criação de entidade, configuração do certificado digital e também disponibilizará método para consultar o ID da entidade, de acordo com parâmetros.
Métodos: POST e GET.
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"
Nota | ||
---|---|---|
| ||
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] [HTTPREST] [HTTPURI] [HTTPJOB] [TAF_CFGJOB]
*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:
** 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. |
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 é configurar uma nova entidade no TSS (TOTVS Service SOA) ou atualizar certificado digital de uma entidade existente.
Estrutura da mensagem enviada no POST (Request):
Atributo | Pai | Nivel | Ocorrência | Formato |
---|---|---|---|---|
url | - | 1 | 1 | 150 |
registrationType | - | 1 | 1 | Integer(1) |
registrationNumber | - | 1 | 1 | String(14) |
ie | - | 1 | 0:1 | String(12) |
uf | - | 1 | 1 | String(02) |
countyCode | - | 1 | 1 | String(5) |
companyName | - | 1 | 1 | String(250) |
branchName | - | 1 | 1 | String(250) |
digitalCertificate | - | 1 | 1 | Memo - Base64 |
password | - | 1 | 1 | String(50) |
- url – URL do TSS (TOTVS Service SOA)
- registrationType - Tipo da Entidade a ser criada:
- 1 - Pessoa Jurídica
- 2 - Pessoa Física
- registrationNumber - Número de Inscrição da Entidade a ser criada, seguindo a regra abaixo:
- Se registrationType for 1, então deverá ser enviado o CNPJ
- Se registrationType for 2, então deverá ser enviado o CPF
- ie - Número da Inscrição Estadual
- uf - Sigla da Unidade Federativa
- countyCode - Código do município conforme tabela do IBGE
- companyName - Nome da Pessoa/ Razão Social da Companhia
- branchName - Nome Fantasia
- digitalCertificate - Conteúdo do certificado digital, criptografado em Base64
- password - Senha do certificado digital
Aviso | ||
---|---|---|
| ||
Os atributos não obrigatórios têm que fazer parte da estrutura, somente o seu preenchimento é opcional. |
Estrutura da mensagem de retorno do POST (Response):
Atributo | Pai | Nivel | Ocorrência | Formato |
---|---|---|---|---|
idCompany | - | 1 | 1 | String(8) |
returnMessage | - | 1 | 1 | String |
- idCompany – Código da entidade
- returnMessage – Mensagem de retorno do TSS
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"registrationType":1,
"registrationNumber":"30114268000115",
"ie":"",
"uf":"SP",
"countyCode": "50308",
"url": "localhost:9090",
"password":"123456",
"companyName":"eSocial",
"branchName":"eSocial do Guturo",
"digitalCertificate":"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"
} |
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "returnMessage": "Certificado (PFX)- Ok\nAutoridades certificadoras convertidas para formato apache - Ok\nCertificado convertido para formato apache - Ok\nPrivateKey convertida para formato apache - Ok\nPassword - Ok\n\nRegistrado para: eSocial do Futuro\nValidade de 18/02/2019 ate 18/02/2020\n", "idCompany": "000008" } |
GET
Descrição do Método: O método GET retorna os status dos registros integrados o ID da entidade, de acordo com os parâmetros (atributos) enviados na URL.
A Consulta pode combinar parâmetros utilizando a sintaxe “Query String” conforme exemplo abaixo:
http://172.16.31.214:8085localhost:8080/rest/WSTSSSETUP/wstafst2?ticketCode=F95975312365478978936365524145236352&RegistryKey=KEYQWE7878RE4854545454998598571&startRecNo=0v1?registrationType=1®istrationNumber=30114268000115&uf=SP&url=localhost:9090&companyName=eSocial&branchName=eSocial&countyCode=50308
Atributo | Pai | Nivel | Ocorrência | Formato |
---|---|---|---|---|
url | - | 1 | 1 | 150 |
registrationType | - | 1 | 1 | Integer(1) |
registrationNumber | - | 1 | 1 | String(14) |
ie | - | 1 | 0:1 | String(12) |
uf | - | 1 | 1 | String(02) |
countyCode | - | 1 | 1 | String(5) |
companyName | - | 1 | 1 | String(250) |
branchName | - | 1 | 1 | String(250) |
digitalCertificate | - | 1 | 1 | Memo - Base64 |
password | - | 1 | 1 | String(50) |
Parâmetro | Descrição | Obrigatório | ||
ticketCode | TAFTICKET | OC | ||
registryKey | TAFKEY | OC | ||
startRecNo | RecNo inicial para consulta | O | ||
searchMode | Filtro para busca | N | ||
sourceBranch | Filial do ERP Emissor | O* | ||
queryElements | Habilita Consulta no TSS | N | ||
lotQuantity | Limita a quantidade de registros retornados
- ticketCode – Código do TAFTICKET, Obrigatório caso registryKey não seja informado.
- registryKey – Código do TAFKEY, Obrigatório caso ticketCode não seja informado.
- startRecNo - Numero do RecNo Inicial a ser considerado na consulta.
Observação : O Tamanho máximo do Response é 850 kB ou 500 registros, quando a mensagem chega neste valor é realizado um retorno contendo os registros que já foram incrementados na resposta. O Controle dos itens restantes é feito através do lastRecNo que informa o RecNo do ultimo registro que fez parte da mensagem anterior (respeitando a chave), caso o mesmo seja diferente de maxRecNo é por que existem itens a serem retornados, caso o contrario a consulta está completa.
- searchMode – Modo de pesquisa, quando não informado o response retorna todos os TAFKEYs relacionados a busca, quando igual a 1 retorna a última ocorrência do TAFKEY, quando igual a 2 retorna a última ocorrência válida do TAFKEY. Este parâmetro é útil quando o mesmo TAFKEY é enviado em vários TAFTICKET diferentes.
- sourceBranch - Código Identificador da filial do ERP emissor - *Não há uma validação de obrigatoriedade no retorno da requisição por conta do legado.
- queryElements - Determina se o método deve retornar os erros dos registros com statusCode igual a 3 (Erros retornados pelo RET e gravados no TSS), o retorno será atribuído no grupo streamingErrors. Quando a tag não é informada os erros são retornados por Default. Valores validos: 0 - Desabilita, 1 - Habilita.
- lotQuantity- Limita a quantidade de registros a serem retornados na requisição. O tamanho da mensagem não poderá ultrapassar 850Kb, caso isto aconteça será realizado um retorno contendo os registros que já foram incrementados na resposta.
Estrutura da Resposta do método GET (Response):
Atributo | Pai | Nivel | Ocorrência | Formato |
---|---|---|---|---|
type | - | 1 | 1 | - |
code | - | 1 | 1:N | String(36-100) |
Items | - | 1 | 1 | - |
success | Items | 2 | 1 | boolean(true : false) |
proccessed | Items | 2 | 1 | boolean(true : false) |
description | Items | 2 | 1 | String(100) |
registryKey | Items | 2 | 0:1 | String(100) |
ticketCode | Items | 2 | 0:1 | String(36) |
errorCode | Items | 2 | 0:1 | String(6) |
errorDescription | Items | 2 | 0:1 | String(60) |
errorDetail | Items | 2 | 0:1 | String(220) |
statusCode | Items | 2 | 0:1 | String(1) |
statusDescription | Items | 2 | 0:1 | String(25) |
active | Items | 2 | 0:1 | boolean(true : false) |
registryPriority | Items | 2 | 0:1 | String(1) |
integrationQueue | Items | 2 | 0:1 | String(1) |
streamingErrors | Items | 3 | 0:1 | - |
streamingErrorCode | streamingErrors | 3 | 0:1 | String(6) |
streamingErrorDetail | streamingErrors | 3 | 0:1 | String(220) |
lastRecNo | - | 1 | 1 | Int(9999) |
maxRecNo | - | 1 | 1 | Int(9999) |
- type – Determina o agrupamento do retorno que pode ser por ticketCode (TAFTICKET) ou registryKey (TAFKEY), o agrupamento depende dos parâmetros enviados no request, quando o registryKey é informado e o ticketCode omitido, o retorno será por registryKey caso contrário por ticketCode.
- code – Código do registro indicado no atributo type.
- items – Itens do response.
- success – informa que o envio do registro pelo método POST foi realizado com sucesso.
- proccessed – Informa se o registro foi processado (Job2) e integrado com sucesso no seu respectivo cadastro.
- description – Descrição do status atual do registro.
- registryKey – código do TAFKEY, esse atributo somente é exibido quando type for igual a ticketCode.
- ticketCode – código do TAFTICKET, esse atributo somente é exibido quando type for igual a registryKey.
- errorCode – Código do erro contido no campo TAFCODERR na tabela TAFXERP, atributo exibido somente quando proccessed for igual a false.
- errorDescription – Descrição do errorCode, atributo exibido somente quando proccessed for igual a false.
- errorDetail – Detalhes do erro, alguns tipos de erros possuem detalhes e são armazenados no campo TAFERR na tabela TAFXERP, atributo exibido somente quando proccessed for igual a false.
- statusCode – Status do registro no TAF, atributo exibido somente quando proccessed for igual a true.
- statusDescription – Descrição do status no TAF, atributo exibido somente quando proccessed for igual a true.
- active – Informa se o registro está ativo no TAF, atributo exibido somente quando proccessed for igual a true.
- registryPriority: Retornar a prioridade definida para o registro, atributo exibido somente quando proccessed for igual a false.
- integrationQueue: Retorna o status de fila do registro. Retorna branco quando o registro não foi definido para integração utilizando fila de processamento (atributo integrationQueue do método POST), retorna 'F' quando o registro foi retornado para a fila de processamento ou 'R' quando o erro da integração é impeditivo e o registro foi rejeitado pelo TAF. Atributo exibido somente quando proccessed for igual a false.
- lastRecNo - Numero do RecNo do ultimo registro retornado na requisição.
- maxRecNo - Informa o numero do RecNo do ultimo registro relacionado a consulta, deve ser utilizado juntamente com o lastRecNo para controlar a paginação e garantir o retorno de todos os registros.
- streamingErrors – Agrupa todos os erros de transmissão retornados do Governo para o TAF. Os erros são listados por streamingErrorCode e streamingErrorDetail.
- streamingErrorCode – Código do erro retornado pelo Governo para o TAF, após transmissão do registro.
- streamingErrorDetail – Descrição do erro retornado pelo Governo para o TAF, após transmissão do registro.
Exemplos de requisição utilizando o método GET:
- Consulta pelo ticketCode:
Request:
http://172.16.31.214:8085/rest/wstafst2?ticketCode=WIO9753123654789789363655241452363&startRecNo=0
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "type": "ticketCode", "code": "WIO9753123654789789363655241452363", "items": [ { "success": true, "proccessed": false, "description": "Aguardando Processamento.", "registryKey": "KEYIO7878874854545454998598525", "errorCode": "", "errorDescription": "", "errorDetail": "" }, { "success": true, "proccessed": false, "description": "Aguardando Processamento.", "registryKey": "KEYYZE7878RE4854545454998598576", "errorCode": "", "errorDescription": "", "errorDetail": "" } ], "lastRecNo": 82, "maxRecNo": 82 } |
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "type": "ticketCode", "code": "WIO9753123654789789363655241452363", "items": [ { "success": true, "proccessed": false, "description": "Registro Inconsistente.", "registryKey": "KEYIO7878874854545454998598525", "errorCode": "000007", "errorDescription": "A operacao solicitada no XML esta em desacordo com o cenario do registro na base do TAF", "errorDetail": "" }, { "success": true, "proccessed": true, "description": "Registro Processado.", "registryKey": "KEYYZE7878RE4854545454998598576", "statusCode": " ", "statusDescription": "Registro Integrado", "active": true } ], "lastRecNo": 82, "maxRecNo": 82 } |
Observação: O exemplo acima contem os 2 tipos de retorno possíveis para um TAFKEY, o atributo proccessed define se vão ser apresentados os atributos de Erro ou de Sucesso conforme descrito acima na tabela de estrutura da resposta do método GET.
- Consulta pelo ticketCode + registryKey:
Request:
http://172.16.31.214:8085/rest/wstafst2?ticketCode=WIO9753123654789789363655241452363&RegistryKey=KEYYZE7878RE4854545454998598576&startRecNo=0
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "type": "ticketCode", "code": "WIO9753123654789789363655241452363", "items": [ { "success": true, "proccessed": false, "description": "Aguardando Processamento do Job2.", "registryKey": "KEYYZE7878RE4854545454998598576", "errorCode": "", "errorDescription": "", "errorDetail": "" } ], "lastRecNo": 81, "maxRecNo": 81 } |
Aviso | ||
---|---|---|
| ||
Quando a consulta for por ticketCode + registryKey o retorno será agrupado por ticketCode. |
- Consulta pelo registryKey:
Request:
http://172.16.31.214:8085/rest/wstafst2?registryKey=KEYYZE7878RE4854545454998598576&startRecNo=0
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "type": "registryKey", "code": "KEYYZE7878RE4854545454998598576", "items": [ { "success": true, "proccessed": false, "description": "Aguardando Processamento do Job2.", "ticketCode": "WIO9753123654789789363655241452363", "errorCode": "", "errorDescription": "", "errorDetail": "" } ], "lastRecNo": 80, "maxRecNo": 80 } |
Controle de Paginação:
Quando o retorno de uma requisição ultrapassa o valor de 850 Kb a mensagem de resposta é "quebrada" e retornada com o conteúdo até então incrementado, exemplo:
Bloco de código | ||||
---|---|---|---|---|
| ||||
{ "type": "ticketCode", "code": "WIO9753123654789789363655241452363", "items": [ { "success": true, "proccessed": false, "description": "Aguardando Processamento", "registryKey": "KEYIO7878874854545454998598525", "errorCode": "", "errorDescription": "", "errorDetail": "" }, * * * {several items} * * * { "success": true, "proccessed": false, "description": "Aguardando Processamento", "registryKey": "KEYQIU7878RE4854545454998598544", "errorCode": "", "errorDescription": "", "errorDetail": "" } ], "lastRecNo": 150, "maxRecNo": 322 } |
No exemplo acima a consulta retornou até o registro 150, sendo que o registro com maior RecNo pertencente a consulta é o 322, isso não quer dizer que foram retornados 150 registros e que faltam 172, o RecNo apenas informa a sequencia do registro na tabela TAFST2 porém o lastRecNo menor que o maxRecNo indica que ainda existem registro a serem retornados para a chave requisitada. Para o retorno dos demais registros deve-se realizar uma nova requisição com o startRecNo igual a lastRecNo + 1, este procedimento deve ser adotado até que o lastRecNo seja igual ao maxRecNo conforme exemplo abaixo:
Request:
http://172.16.31.214:8085/rest/wstafst2?ticketCode=WIO9753123654789789363655241452363&startRecNo=151
Bloco de código | ||||
---|---|---|---|---|
| ||||
{ "type": "ticketCode", "code": "WIO9753123654789789363655241452363", "items": [ { "success": true, "proccessed": false, "description": "Aguardando Processamento", "registryKey": "KEYIO7878874854545454998598888", "errorCode": "", "errorDescription": "", "errorDetail": "" }, * * * {several items} * * * { "success": true, "proccessed": false, "description": "Aguardando Processamento", "registryKey": "KEYQIU7878RE4854545454998598987", "errorCode": "", "errorDescription": "", "errorDetail": "" } ], "lastRecNo": 322, "maxRecNo": 322 } |
Códigos De Erros De Validação:
- 800 – Campo não informado na estrutura do arquivo.
- 801 – Campo obrigatório não enviado.
- 802 – Campo com valor inválido.
803 – TAFFIL não encontrado no complemento de empresas.
Aviso title Atenção! No método POST caso o primeiro item do lote não esteja com o TAFFIL cadastrado no complemento de empresas o sistema irá rejeitar o lote inteiro, caso contrario é realizado uma avaliação item a item verificando se a filial é válida e se pertence ao mesmo grupo de empresas no TAF, neste caso é rejeitado somente os registros inválidos dentro do lote.
- 804 – Layout Inválido.
- 805 – Código de Prioridade inválido!
- 806 – Campo com erro na codificação ou criptografia
- 807 – Código de Fila inválido!
- 808 – Estrutura da tabela TAFST2 está desatualizada
- 809 - Não há configuração de empresas na chave PrepareIn seção TAF_CFGJOB
- 810 - Chave # de Identificação de filial não encontrada.
- 811 - Não foi possível identificar a filial # no corpo da mensagem.
- 812 - Código da Filial ERP # não pertence ao mesmo Grupo de Empresas no TAF considerando os registros integrados anteriormente neste lote.
- 813 - O TAFKEY # já existe na TAFST2 e encontra-se pendente de processamento ou em processamento.
Legenda:
# - valor variável.
Bloco de código | ||||
---|---|---|---|---|
| ||||
{ "coderr": 803, "description": "O valor do campo sourceBranch (TAFFIL) não está no cadastro no complemento de empresas." } |
Bloco de código | ||||
---|---|---|---|---|
| ||||
{ "ticketCode": "WIO9753123654789789363655241452363", "registryKey": [ { "key": "KEYIO7878874854545454998598525", "success": false, "error": [ { "coderr": 801, "description": "Campo TAFFIL (sourceBranch) e Obrigatorio." }, { "coderr": 803, "description": "O valor do campo TAFFIL (sourceBranch) nao esta cadastro no complemento de empresas." } { "coderr": 805, "description": "Codigo de Prioridade invalido! Codigo enviado: '8'. Codigos validos: 0 - Urgente, 1 - Prioridade Critica, 2 - Prioridade Alta, 3 - Prioridade Media, 4 - Prioridade Baixa, 5 - Nao Prioritario" } ] }, { "key": "KEYYZE7878RE4854545454998598576", "success": true }, { "key": "KEYQWE7878RE4854545454998598571", "success": true }, { "key": "KEYQIU7878RE4854545454998598544", "success": true } ], "keyAmount": 4 } |
RESTFAULT*
- 701 - startRecno e ticketCode não informados no GET (é obrigatório que pelo menos 1 deles seja informado)
- 702 - Erro na criação/abertura da tabela TAFST2 ou TAFXERP
- 703 - O parâmetro searchMode deve ser preenchido com 1 ou 2.
- 704 - Arquivo vazio (Não foi enviado uma mensagem no body do POST)
- 705 - Erro ao realizar parser da mensagem (o arquivo enviado no Body não é um json válido)
Aviso | ||
---|---|---|
| ||
Apesar do código de erro iniciar com 7 o status HTTP de um request que submetido a RestFault é 500 - Erro Interno no Servidor. |
*Será liberado juntamente com o pacote de atualização e-Social 2.4.
...