3 ARQUITETURA DE COMUNICAÇÃO COM O CONTRIBUINTE
3.1 Modelo Conceitual
Utilizando Web Service, o Sistema de Notas Fiscais de Serviços
Serviço Eletrônicas das Administrações Tributárias Municipais disponibilizará serviços
que poderão ser acessados pelos sistemas sistemas dos contribuintes. A seguir, estão
resumidos os serviços disponíveis e suas respectivas funcionalidades básicas.
...
A aplicação acessa o serviço de “Consulta de NFS-e” e submete os dados para processamento.
A requisição é recebida pelo servidor do Web Service, que verifica os dados preenchidos e identifica a(s) NFS-e(s) correspondente (s).
O Web Service retorna uma mensagem com o resultado do processamento do serviço.
4 PADRÕES TÉCNICOS
...
O meio físico de comunicação utilizado entre os sistemas de informação dos contribuintes e o Sistema de Notas Fiscais de Serviço Eletrônicas das Administrações Tributárias Municipais será a Internet, com o uso do protocolo SSL, que além de garantir um duto de comunicação seguro na Internet, permite a utilização de nome ou código de usuário e senha em tráfego seguro.
O modelo de comunicação segue o padrão de Web Services definido pelo WS-I Basic Profile (Basic 128).
A troca de mensagens entre o Web Service do Sistema de Notas Fiscais de Serviço Eletrônicas das Administrações Tributárias Municipais e o sistema do contribuinte será realizada no padrão SOAP, com troca de mensagens XML no padrão Style/Enconding: Document/Literal, wrapped. A opção “wrapped”
representa esenta a chamada aos métodos disponíveis com a passagem de mais de um parâmetro. Para descrever os serviços disponibilizados, será utilizado um documento WSDL (Web Service DescriptionLanguage). O WSDL é o padrão recomendado para descrição de serviços SOAP.
As chamadas aos serviços serão feitas enviando como parâmetro um documento XML a ser processado pelo sistema. Esse documento não fará parte da descrição do serviço (arquivo WSDL), e o formato do XML
correspondente ao serviço está definido neste manual de integração, seção 5.
4.1 Habilitando Login
Para conectar um sistema gerador de RPS com o sistema emissor de NFS-e
Siga os seguintes passos:
1 - acesse a Área do Prestador de Serviços, no portal Janela Única.
2 - clique em Contribuinte e depois em RPS.
3 - clique no botão Alterar Senha.
A senha cadastrada será utilizada tanto na integração ao web Service de teste
quanto no Web Service de Produção. Uma vez cadastrada a nova senha a empresa
estará homologada.
As informações necessárias para acessar o Web Service são o código do usuário e
a senha.
...
5 PADRÃO DAS MENSAGENS XML
A especificação adotada para as mensagens XML é a recomendação W3C para XML 1.0, disponível em http://www.w3.org/TR/REC-xmle a codificação dos caracteres será em UTF-8.
As chamadas dos Web Services disponibilizados Administrações Tributárias Municipais e os respectivos resultados do processamento são realizadas com utilização de mensagens com o seguinte padrão:
• Área de Cabeçalho – estrutura XML padrão para todas as mensagens de chamada e retorno de resultado dos Web Services disponibilizados pelas Administrações Tributárias Municipais, que contêm os dados de controle da mensagem. A área de cabeçalho está sendo utilizada para armazenar a versão do leiaute da estrutura XML informada na área de dados
• Área de Dados – estrutura XML variável definida na documentação do Web Service acessado.
Abaixo, o leiaute da Área de Cabeçalho:
# | Nome | Elemento | Pai | Tipo | Ocorrência | Tamanho | Descrição |
---|---|---|---|---|---|---|---|
1 | cabeçalho | G | 1-1 | TAG raiz do cabeçalho da | |||
username | A | 1 | C | 1-1 | Login para autenticação | ||
password | A | 1 | C | 1-1 | Senha para autenticação | ||
timestamp | A | 1 | DT | 1-1 | Timestamp da requisição |
6 ESTRUTURA DE DADOS DO WEB SERVICE
Existe um único Web Service com todos os serviços apresentados no item 3.1. O fluxo de comunicação é sempre iniciado pelo sistema do contribuinte com o envio de uma mensagem XML ao Web Service com o
pedido do serviço desejado.
...
As solicitações de serviços que exigem processamento intenso serão executadas de forma assíncrona e as demais solicitações de serviços de forma síncrona.
Assim, os serviços da NFS-e serão implementados da seguinte forma:
Serviço | Implementação |
---|---|
Recepção e Processamento de Lote de RPS | Assíncrona |
Consulta de Lote de RPS | Síncrona |
Consulta de NFS-e | Síncrona |
6.1.1 Serviços Síncronos
As solicitações de serviços de implementação síncrona são processadas imediatamente e o resultado do processamento é obtido em uma única conexão.
Abaixo, o fluxo simplificado de funcionamento:
...
O aplicativo do contribuinte inicia a conexão enviando uma mensagem de solicitação de serviço para o Web Service de recepção de solicitação de serviços;
O Web Service de recepção recebe a mensagem de solicitação de serviço e a coloca na fila de serviços solicitados;
O Web Service de recepção de solicitação de serviços retorna o protocolo da solicitação de serviço e a data e hora de gravação na fila de serviços solicitados ao aplicativo do contribuinte;
O aplicativo do contribuinte recebe o protocolo;
Na estrutura interna do aplicativo de NFS-e a solicitação de serviços é retirada da fila de serviços solicitados pelo aplicativo da NFS-e em momento específico, definido pela equipe técnica da NFS-e;
O serviço solicitado é processado pelo aplicativo da NFS-e e o resultado do processamento é colocado na fila de serviços processados;
Obtenção do resultado do serviço:O aplicativo do contribuinte, utilizando o protocolo recebido, envia uma consulta ao serviço que retornará o resultado do processamento daquele protocolo, iniciando uma conexão com o Web Service;
O Web Service recebe a mensagem de consulta e localiza o resultado de processamento da solicitação de serviço;
O Web Service devolve o resultado do processamento ao aplicativo contribuinte;
O aplicativo do contribuinte recebe a mensagem de resultado do processamento e, caso não exista outra mensagem, encerra a conexão.
7 FORMATOS E PADRÕES UTILIZADOS
Abaixo seguem algumas formatações de dados que devem ser seguidas para geração correta na estrutura dos arquivos.
Formado | Observação |
---|---|
Data (date) | Formato: AAAA-MM-DD |
Data/Hora (datetime) | Formato AAAA-MM-DDTHH:mm:ss |
Valores Decimais (decimal) | Formato: 0.00 |
Valores Percentuais (decimal) | Formato 00.00 |
Não deve ser inserido caractere não significativo para preencher o tamanho completo do campo, ou seja, zeros antes de número ou espaço em branco após a cadeia de caracteres. A posição do campo é definida na estrutura do documento XML através de TAGs (<tag>conteúdo</tag>).
...
Quando forem caracteres o tamanho define a quantidade máxima de caracteres que o texto poderá ter;
Quando for numérico o tamanho pode ser representado das seguintes formas;
Número inteiro, que define o total de dígitos existente no número. Exemplo: “15” significa que o número poderá ter, no máximo, 15 dígitos;
Número fracionário, que define o total de dígitos e quantos deles serão designados para a parte fracionária. Exemplo: “15,2” significa que o número poderá ter, no máximo, 15 dígitos sendo 2 deles a da parte fracionária. A parte fracionária não é obrigatória quando assim definido;
Quando for data, não haverá definição de tamanho.
Campo | Tipo | Descrição | Tam. |
---|---|---|---|
numeroNfse | N | Número da Nota Fiscal de Serviço Eletrônica, formado | 15 |
codigoVerificacao | C | Código de verificação do número da nota | 9 |
outrasInformacoes | C | Informações adicionais ao documento | 255 |
status | N | Código de status da NFS-e e RPS | 1 |
numeroRps | N | Número do RPS | 15 |
serieRps | C | Número de série do RPS | 5 |
codigoServico | C | Código do serviço prestado Item da LC 116/2003 | 5 |
tipoRps | N | Código de tipo de RPS | 1 |
valor | N | Valor monetário. Formato: 0.00 (ponto separando casa | 15,2 |
cep | C | Número do CEP | 8 |
municipio | N | Código de identificação do município conforme tabela | 7 |
complementoEndereco | C | Complemento de endereço | 60 |
C | 80 | ||
endereço | C | Tipo e nome do logradouro (Av., Rua, ...) | 125 |
nomeFantasia | C | Nome fantasia | 60 |
numeroEndereco | C | Número do imóvel | 10 |
pais | C | Código de identificação do município conforme tabela | 4 |
razaoSocial | C | Razão Social do contribuinte | 150 |
telefone | C | Telefone | 20 |
uf | C | Sigla da unidade federativa | 2 |
aliquota | N | Alíquota. Valor percentual. | 4,2 |
numeroLote | N | Número do Lote de RPS | 15 |
cpfCnpj | C | Número de CPF ou CNPJ | 14 |
inscricao | C | Número de inscrição municipal | 15 |
nif | C | Número de Identificação Fiscal | 40 |
discriminação | C | Discriminação do conteúdo da NFS-e | 2000 |
quantidade | N | Quantidade de itens da nfs-e | 15,2 |
detalhe | C | Código de Obra e código ART | 15 |
cnae | N | Código CNAE | 7 |
codigoNbs | C | Código de NBS | 9 |
codTributacao | C | Código de Tributação | 20 |
exigibilidade | N | Código de natureza da operação | 1 |
simnao | N | Identificação de Sim/Não | 1 |
numProcesso | C | Número do processo judicial ou administrativo de | 30 |
regime | N | Código de identificação do regime especial de tributação | 1 |
responsavelRetencao | N | Identificação do responsável pela retenção do ISS | 1 |
tipoFiltroLote | N | Código de tipo de busca de lote | 1 |
tipoFiltroNota | N | Código de tipo de busca de NFS-e | 1 |
tipoLote | N | Código do tipo de lote | 1 |
mensagemErro | C | Código e mensagem de erro |
7.2 Tipos Complexos
A seguir são detalhadas as tabelas de cada tipo composto e seus campos.
A tabela está dividida da seguinte forma: