Manual para Envio de Arquivo de Cupons Fiscais via WebService GEINF - CRE - SEFIN RO VERSÃO 1.0 14/01/2012 Índice 1. 2. 3. 4. 5. 6. 7. 8. Visão Geral .............................................................................................................................. Métodos Oferecidos ................................................................................................................... Informações sobre o Webservice .................................................................................................. Interface do Webservice - Enviar Arquivo ..................................................................................... Interface do Webservice - Consultar Status .................................................................................... Interface do Webservice - Consultar Erros ..................................................................................... Especificações Técnicas ............................................................................................................. Dúvidas e Questionamentos ........................................................................................................ 1 1 2 2 4 5 6 7 1. Visão Geral Uma das fundações do WebService é a interoperabilidade entre plataformas. Isso significa que o WebService envia e recebe mensagens de uma forma padronizada. Tipicamente, o formato do protocolo é SOAP . SOAP, originado do acrônimo inglês Simple Object Access Protocol, e em português Protocolo Simples de Acesso a Objetos, é um protocolo para troca de informações estruturadas em uma plataforma descentralizada e distribuída (Wikipédia). Há várias maneiras de utilizar (consumir) o WebService. Inúmeras linguagens de computação buscam níveis ideais de abstração para facilitar o uso do protocolo SOAP; o benefício dessas abstrações é que os programadores de aplicativos passam a focar mais nas regras do negócio do que nos rigores do protocolo SOAP. O WebService ArquivoECF tem por finalidade prover funcionalidades que automatizem o procedimento de envio de arquivos de cupons fiscais gerados por ECF (vide Instrução Nomativa nº 015/2011/GAB/CRE/SEFIN/RO). Para isso, prevê as funcionalidades de: • envio de arquivos de cupons fiscais para processamento; • consulta assíncrona do resultado do processamento de arquivos; • consulta assíncrona de erro gerados pelo processamento de arquivos - procedures ( serviços banco de dados); 2. Métodos Oferecidos A fim de prover as funcionalidades supracitadas serão oferecidos três métodos para uso pelos contribuintes: • Wsenviararquivo(): Método para enviar arquivo de cupons fiscais; • Wsconsultarstatusarquivo() : Método para consultar status do arquivo enviado; • Wsconsultarerrosarquivo() : Método para consulta de erros dos arquivos enviados; 1 Manual para Envio de Arquivo de Cupons Fiscais via WebService 3. Informações sobre o Webservice As requisições aos métodos devem utilizar como protocolo de transporte o SSL e destinadas, quando em produção, ao endereço https://notalegal.sefin.ro.gov.br/contribuinte/webservices/NPJServices.jws?wsdl . Você pode verificar os métodos oferecidos digitando no seu navegador o link https://notalegal.sefin.ro.gov.br/ contribuinte/webservices/. Todas as mensagens trocadas com o servidor devem ser no protocolo SOAP versão 1.1, outros formatos serão recusados. As informações referentes ao login e tipo de usuário devem estar dentro do elemento body. Cabe informar que o site da NOTA LEGAL RONDONIENSE , Módulo Contribuinte, utiliza para a autenticação do login e senhas as mesmas do PORTAL DO CONTRIBUINTE. No caso de envio para processamento ( em produção ), o usuário/senha utilizados devem estar previamente cadastrados no Portal do Contribuinte – Sefin RO (http://portal.intranet.sefin.ro.gov.br/PortalContribuinte/login.jsp) e possuir permissão para acesso à área restrita daquele portal e utilização de seus serviços. Essa permissão deve ser efetuada mediante emissão de documento, seguindo os procedimentos editados na página do Portal do Contribuinte, e encaminhado a agência de renda de jurisdição do contribuinte. Mais informações a respeito dos PROCEDIMENTOS PARA PORTAL DO CONTRIBUINTE clique: http:// portal.intranet.sefin.ro.gov.br/PortalContribuinte/help.jsp. 4. Interface do Webservice - Enviar Arquivo Método Wsenviararquivo() Este método tem por finalidade fornecer ao contribuinte um meio de enviar os arquivos de cupons fiscais à Secretaria da Finanças. Segue formatação padrão SOAP: <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:soapenv="http:// schemas.xmlsoap.org/soap/envelope/" xmlns:def="http://DefaultNamespace"> <soapenv:Header/> <soapenv:Body> <def:Wsenviararquivo soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <StringDoArquivo xsi:type="xsd:string">String</StringDoArquivo> <Usuario xsi:type="xsd:string">String</Usuario> <Senha xsi:type="xsd:string">String</Senha> <InscricaoEstadual xsi:type="xsd:string">String</InscricaoEstadual> <MesAnoReferencia xsi:type="xsd:string">String</MesAnoReferencia> <DataInicio xsi:type="xsd:string">String</DataInicio> <DataFim xsi:type="xsd:string">String</DataFim> </def:Wsenviararquivo> </soapenv:Body> </soapenv:Envelope> 2 Manual para Envio de Arquivo de Cupons Fiscais via WebService Descrevendo os parâmetros de entrada: Tabela 1. Parâmetros de Entrada do Método Wsenviararquivo(): Campo Descrição Tipo de Dados StringDoArquivo Conteúdo do Arquivo em sequência de string String Usuario Login do usuário do Portal do Contribuinte String Senha Senha do Usuário do Portal do Contribuinte String Inscrição Estadual 14 dígitos da Inscrição Estadual do Contribuinte emissor dos arquivos - alinhado à direita String MesAnoReferencia Data referência do Arquivo - Formato: MM / AAAA String DataInicio Data Início constante nos Arquivos enviados seguindo o formato: DD / MM / AAAA String DataFim Data Final constante nos Arquivos enviados seguindo o formato: DD / MM / AAAA String Tabela 2. Retorno (int ) do Método Wsenviararquivo(): Retorno (int) Descrição -7 Mês de referência é maior do que o mês atual. -6 O período informado está fora do Mês/Ano de referência -5 Data final é maior do que a data inicial -4 Mês/Ano de referência não informado -3 Data final não informada -2 Data inicial não informada -1 Falha de autenticação do CPF e senha 0 Falha ao gravar o arquivo Maior que 0 (Zero) Protocolo do arquivo Observações: • O Mês/Ano de referência e Data Inicio e Data Final têm que ser informados com a /. • Todos os parâmetros têm que ser informados como string. • O protocolo retornado tem que ser armazenado para posteriores consultas ao status do arquivo. 3 Manual para Envio de Arquivo de Cupons Fiscais via WebService 5. Interface do Webservice - Consultar Status Método Wsconsultarstatusarquivo() Este método tem por finalidade fornecer ao contribuinte um meio de consulta ao resultado do processamento dos arquivos de cupons fiscais enviados à Secretaria da Finanças. O método retorna o status do arquivo a partir de um protocolo informado. Esse protocolo é adquirido através do retorno do método WS Enviar Arquivo Abaixo sua formatação padrão SOAP: <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http:// schemas.xmlsoap.org/soap/envelope/" xmlns:def="http:// DefaultNamespace"><soapenv:Header/> <soapenv:Body> <def:Wsconsultarstatusarquivo soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <CodigoArquivo xsi:type="xsd:long">String</CodigoArquivo> </def:Wsconsultarstatusarquivo> </soapenv:Body> </soapenv:Envelope> Descrevendo o parâmetro de entrada: Tabela 3. Parâmetros de Entrada do Método Wsconsultarstatusarquivo() Campo Descrição Tipo de Dados CódigoArquivo Protocolo do arquivo retornado pelo método Wsenviararquivo() String Descrevendo os parâmetros de retorno: Tabela 4. Parâmetros de Retorno do Método Wsconsultarstatusarquivo() Retorno (int) Descrição -2 Protocolo não informado -1 Arquivo não encontrado para o protocolo informado 3 Arquivo processado 4 Erro no processamento do arquivo 1 Arquivo ainda não processado 2 Arquivo em processamento 5 Erro de leitura durante o processamento do arquivo. 4 Manual para Envio de Arquivo de Cupons Fiscais via WebService 6. Interface do Webservice - Consultar Erros Método Wsconsultarerrosarquivo() Este método tem por finalidade fornecer ao contribuinte um meio de consulta dos errros gerados no processamento dos arquivos de cupons fiscais enviados à Secretaria da Finanças. Abaixo sua formatação padrão SOAP: <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:def="http://DefaultNamespace"><soapenv:Header/> <soapenv:Body> <def:Wsconsultarerrosarquivo schemas.xmlsoap.org/soap/encoding/"> soapenv:encodingStyle="http:// <CodigoArquivo xsi:type="xsd:long">String</CodigoArquivo> </def:Wsconsultarerrosarquivo> </soapenv:Body> </soapenv:Envelope> Descrevendo o parâmetro de entrada e retorno: Tabela 5. Parâmetros de Entrada do Método Wsconsultarerrosarquivo() Campo Descrição Tipo de Dados CódigoArquivo Protocolo do arquivo retornado pelo método Wsenviararquivo() String Tabela 6. Parâmetros de Retorno do Método Wsconsultarerrosarquivo() Retorno Descrição -2 Protocolo não informado -1 Arquivo não encontrado para o protocolo informado -3 Arquivo não possui erros XML Com Erros XML com os erros Segue exemplo de retorno do método Wsconsultarerrosarquivo: <ns1:WsconsultarerrosarquivoResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/ soap/encoding/" xmlns:ns1="http://DefaultNamespace"> <WsconsultarerrosarquivoReturn href="#id0"/> </ns1:WsconsultarerrosarquivoResponse> <multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" soapenc:arrayType="xsd:anyType[2]" xsi:type="soapenc:Array" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"> <multiRef href="#id1"/ > <multiRef href="#id2"/> </multiRef> <multiRef id="id2" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" soapenc:arrayType="xsd:anyType[2]" xsi:type="soapenc:Array" xmlns:soapenc="http:// schemas.xmlsoap.org/soap/encoding/"> <multiRef xsi:type="soapenc:decimal">0</multiRef> 5 Manual para Envio de Arquivo de Cupons Fiscais via WebService <multiRef xsi:type="soapenc:string">Registro E02 não encontrado.</multiRef> </multiRef> <multiRef id="id1" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/ soap/encoding/" soapenc:arrayType="xsd:anyType[2]" xsi:type="soapenc:Array" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"> <multiRef xsi:type="soapenc:decimal">0</multiRef> <multiRef xsi:type="soapenc:string">Registro E01 não encontrado.</multiRef> </multiRef> 7. Especificações Técnicas Tabela 7. Propriedades da Interface Property Value Name NPJServicesSoapBinding Url Definition https://notalegal.sefin.ro.gov.br/contribuinte/webservices/NPJServices.jws?wsdl Binding {https://notalegal.sefin.ro.gov.br/contribuinte/webservices/NPJServices.jws}NPJServicesSoapBinding Soap Version SOAP 1.1 Style RPC Builder Apache Axis version: 1.4 Built on Apr 22, 2006 (06:55:48 PDT) Tabela 8. Estrutura do Arquivo WSDL Name Value Type targetNamespace https://notalegal.sefin.ro.gov.br/ contribuinte/webservices/NPJServices.jws NA* WsenviararquivoRequest Vide Tabs. 1 e 2 - método Wsenviararquivo xsd:string WsenviararquivoResponse Idem Idem WsconsultarstatusarquivoRequest Vide Tabs. 3 e 4 - método Wsconsultarstatusarquivo xsd:string WsconsultarstatusarquivoResponse Idem Idem WsconsultarerrosarquivoRequest Vide Tabs. 5 e 6 - método Wsconsultarerrosarquivo xsd:string WsconsultarerrosarquivoResponse Idem Idem Port NPJServices NA Binding NPJServicesSoapBinding NA Service NPJServicesService NA xml version="1.0" encoding="UTF-8" *NA: Não Aplicável 6 Manual para Envio de Arquivo de Cupons Fiscais via WebService 8. Dúvidas e Questionamentos Em caso de necessidade de esclarecimentos técnicos sobre este manual, deverá ser utilizado o “Fale Conosco” do Portal da Nota Legal Rondoniense ( https://notalegal.sefin.ro.gov.br/notalegal/ ), com a identificação detalhada do problema ocorrido. As dúvidas serão encaminhadas ao setor competente. Para o esclarecimento de dúvidas sobre o Projeto Nota Legal Rondoniense, deverá ser utilizado o Call Center da Secretaria de Finanças do Estado de Rondônia (0800-647 4700). Esta obra é distribuída por meio da Licença Pública Geral (Creative Commons): Atribuição/Uso Não-Comercial/Vedada a Criação de Obras Derivadas / 3.0 / Brasil™ 7