- 11. Web Services
11.5. ConsultaNFSe - 11.4. ConsultaNFSeRPS
« Anterior - 11.6. CancelarNFSe
Próximo »
11.5. ConsultaNFSe
Consulta NFSe
Assinatura
string ConsultaNFSe(string cMunicipio, string nomeCertificado, int tipoAmbiente, string versao, ref string msgDados, out int cResultado, out string msgResultado, string CNPJPrestador, string IMPrestador, string NumeroNfse, string DataInicial, string DataFinal, string CNPJTomador, string CPFTomador, string IMTomador, string RSIntermediario, string CNPJIntermediario, string CPFIntermediario, string IMIntermediario, out string listaMensagemRetorno, string proxy, string usuario, string senha, string licenca)
Descrição:
Esse serviço permite ao contribuinte consultar a NFS-e.
Preenchimento do nomeCertificado
informar o Nome do titular (campo Assunto) do certificado digital a ser utlizado na conexão SSL. Ex.: "CN=NFe - Associacao NF-e:99999090910270, C=BR, L=PORTO ALEGRE, O=Teste Projeto NFe RS, OU=Teste Projeto NFe RS, S=RS"
Opções disponíveis:
1. uso de certificado digital existente no repositório MY do CSP do usuário corrente (currentuser)
É a forma de mais comum de uso, cabe resssltar que é a única forma de uso de certificado digital do tipo A3 que a DLL oferece.
O usuário deve passar como parâmetro o campo assunto do certificado no parâmetro NomeCertificado para que a DLL localize um certificado digital com mesmo assunto no repositório MY do currentuser do equipamento.
Esta forma de uso requer a prévia instalação do certificado digital na conta do usuário do Windows (logon) que irá utilizar o certificado digital.
2. uso de certificado digital em arquivo no formato pfx
Permite o de uso de certificado digital em arquivo formato pfx.
O caminho da localização (path) do arquivo pfx deve ser passado para a DLL no formato: ARQUIVO | [nome do arquivo pfx com caminho completo] | [senha do arquivo] no parâmetro NomeCertificado, ex.: "ARQUIVO|c:\certificado.pfx|senha".
Esta opção só funciona com certificado digital do tipo A1.
3. uso de certificado digital em string base64
Permite uso o arquivo do certificado digital em formato pfx convertido em uma string base64. O certificado digital em string base64 deve ser passado para a DLL no formato: CERTIFICADO | [string base64 do arquivo pfx] | [senha do arquivo] no parâmetro NomeCertificado, ex.: "CERTIFICADO|MIIGoDCCBYigAwIBAgIQep(arquivo pfx do certificado digital convertido em base64...)QQDExNBQy|senha".
Esta opção só funciona com certificado digital do tipo A1. É uma opção de uso que oferece maior versatilidade, pois permite o armazenamento do certificado digital em banco de dados na aplicação. É a forma mais indicada para uso em ASP.NET.
Parâmetros:
| nome | tipo | fluxo | descrição |
|---|---|---|---|
| cMunicipio | string | entrada | informar o código do IBGE do Município para o qual será enviado o lote de RPS |
| NomeCertificado | string | entrada | informar o certificado digital que será utilizado na conexão SSL: 1. informar o assunto do certificado digital que deve existir no repositório MY do current user, ex.: "CN=NFe - Associacao NF-e:99999090910270, C=BR, L=PORTO ALEGRE, O=Teste Projeto NFe RS, OU=Teste Projeto NFe RS, S=RS". 2. informar: ARQUIVO | [nome do arquivo pfx com caminho completo] | [senha do arquivo] para uso do certificado digital em arquivo pfx, ex.: "ARQUIVO|c:\certificado.pfx|senha". 3. informar: CERTIFICADO | [string base64 do arquivo pfx] | [senha do arquivo] no parâmetro NomeCertificado para passar uma string contendo um certificado digital em base64, ex.:"CERTIFICADO|MIIGoDCCBYigAwIBAgIQep(arquivo pfx do certificado digital convertido em base64...)QQDExNBQy|senha". (novas opções) |
| tipoAmbiente | inteiro | entrada | inrformar o ambiente de envio: 1 - produção e 2 - homologação |
| versao | string | entrada | informar o versão do XML, necessário informar para consumir o WS da prefeitura de SP |
| msgDados | string | entrada | informar a string com o lote de RPS neste parâmetro, retorna a mensagem XML enviada para o WS. |
| cResultado | inteiro | saída | retorna o resultado da chamada do WS. |
| msgResultado | string | saída | retorna a literal do resultado da chamada do WS |
| CNPJPrestador | string | entrada | informar o CNPJ do prestador do serviço. |
| IMPrestador | string | entrada | informar a Inscrição Municipal do prestador do serviço. Obs: Informar o idEntidade para municípios com provedor Equiplano, DSF e São Paulo/SP. |
| NumeroNfse | string | entrada | informar o número da NFSe que se deseja consultar Obs: Será utilizado como número da página na consulta por período da cidade de São Paulo/SP. Parâmetro não utilizado para municípios com provedor Pública |
| DataInicial | string | entrada | informar a data inicial do período da emissão da NFSe que se deseja consultar que se deseja consultar Obs: Formato padrão: AAAA-MM-DD Formato Equiplano: AAAA-MM-DDThh:mm:ss Obs: Informar o o número da NFS-e inicial para municípios com provedor Pública |
| DataFinal | string | entrada | informar a data final do período da emissão da da NFSe que se deseja consultar que se deseja consultar Obs: Formato padrão: AAAA-MM-DD Formato Equiplano: AAAA-MM-DDThh:mm:ss Obs: Informar o o número da NFS-e final para municípios com provedor Pública |
| CNPJTomador | string | entrada | informar o CNPJ do tomador do serviço da NFSe que se deseja consultar, não informar se tomador for pessoa física. Obs: Não disponível para municípios com provedor DSF e São Paulo/SP. Parâmetro não utilizado para municípios com provedor Pública |
| CPFTomador | string | entrada | informar o CPF do tomador do serviço da NFSe que se deseja consultar, não informar se tomador for pessoa jurídica. Obs: Não disponível para municípios com provedor DSF e São Paulo/SP. Parâmetro não utilizado para municípios com provedor Pública |
| IMTomador | string | entrada | informar a Inscrição Municipal do tomador do serviço da NFSe que se deseja consultar. Obs: Não disponível para municípios com provedor Equiplano, DSF e São Paulo/SP. Parâmetro não utilizado para municípios com provedor Pública |
| RSIntermediario | string | entrada | informar a Razão Social do Intermediário da prestação de serviço da NFSe que se deseja consultar. Obs: Não disponível para municípios com provedor Equiplano, DSF e São Paulo/SP. Parâmetro não utilizado para municípios com provedor Pública |
| CNPJIntermediario | string | entrada | informar o CNPJ do Intermediário da prestação de serviço da NFSe que se deseja consultar, não informar se Intermediário for pessoa física. Obs: Não disponível para municípios com provedor Equiplano, DSF e São Paulo/SP. Parâmetro não utilizado para municípios com provedor Pública |
| CPFIntermediario | string | entrada | informar o CPF do Intermediário da prestação de serviço da NFSe que se deseja consultar, não informar se Intermediário for pessoa jurídica. Obs: Não disponível para municípios com provedor Equiplano, DSF e São Paulo/SP. Parâmetro não utilizado para municípios com provedor Pública |
| IMIntermediario | string | entrada | informar a Inscrição Municipal do Intermediário da prestação de serviço da NFSe que se deseja consultar. Obs: Não disponível para municípios com provedor Equiplano, DSF e São Paulo/SP. |
| listaMensagemRetorno | string | saída | retorna as mensagens de erro ou advertência do WS |
| proxy | string | entrada | informar 'http://proxyserver:port' quando existir uso de proxy no ambiente. verificar com o cliente qual é o endereço do servidor proxy e a porta utilizada proxy, assim teríamos algo do tipo 'http://192.168.15.1:443' |
| usuario | string | entrada | informar o usuário para autenticação no proxy se necessário |
| senha | string | entrada | informar a senha de autenticação no proxy se necessário |
| licenca | string | entrada | informar a chave da licença de uso, esta funcionalidade pode ser utilizada sem quaquer restrição no ambiente de homologação. O uso em ambiente de produção requer o licenciamento da DLL, para maiores detalhes veja as condições de uso |
Tratamento das mensagens de retorno
O WS devolve as informações em uma mensagem XML no padrão ConsultarNFSeResposta, a DLL pega algumas informações que julga importante e devolve nos parâmetros de retorno para facilitar a vida do usuário. Todos os WS devolvem uma lista de mensagem de erro e advertência com o código de identificação da mensagem de erro, a descrição do erro e a correção sugerida, estas informações são extraída da resposta do WS pela DLL e devolvidas no parâmetro listaMensagemErro separada pelo caractere pipe (|).
Exemplo de mensagem XML de retorno do WS
<ConsultarNfseResposta xmlns="http://www.issnetonline.com.br/webserviceabrasf/vsd/servico_consultar_nfse_resposta.xsd" xmlns:tc="http://www.issnetonline.com.br/webserviceabrasf/vsd/tipos_complexos.xsd" xmlns:ts="http://www.issnetonline.com.br/webserviceabrasf/vsd/tipos_simples.xsd"> <ListaMensagemRetorno> <MensagemRetorno> <tc:Codigo>E078</tc:Codigo> <tc:Mensagem>Número da NFS-e inexistente na base de dados para o prestador de serviço pesquisado.</tc:Mensagem> <tc:Correcao>Informe o número correto da NFS-e.</tc:Correcao> </MensagemRetorno> </ListaMensagemRetorno> </ConsultarNfseResposta>conteúdo do parâmetro listaMensagemRetorno do WS
E078|Número da NFS-e inexistente na base de dados para o prestador de serviço pesquisado.|Informe o número correto da NFS-e.
Retorno:
O resultado da chamada do ConsultarNFSe é o XML de resposta do WS.
O parâmetro cResultado retorna um código numérico com os seguintes significados:
| código | Mensagem | origem | regra |
|---|---|---|---|
| 5000 | Web Service consumido com sucesso, analise a mensagem de resposta do Web Service. | DLL | - |
| 5001 | Erro: Falha na conexão: [{0:0}] (Causa provável: o certificado cliente: 1.não é ICP-Brasil; 2.fora do prazo de validade; 3.revogado; 4.certificado cliente não confiável para o Web Service acessado, contatar a SEFAZ) | DLL | - |
| 5002 | Erro: Falha na conexão: [{0:0}] (Causa provável: a cadeia de certificação do Web Service acessado ou do certificado cliente inexistente no repositório de certificados do usuário corrente do Windows) | DLL | - |
| 5003 | Erro: Falha na conexão: [{0:0}] (Causa provável: serviço inexistente, verifique se o nome do serviço da url acessada está correto no arquivo ws2.xml) | DLL | - |
| 5004 | Erro: Falha na conexão: [{0:0}] (Causa provável: método não permitido) | DLL | - |
| 5005 | Erro: Falha na conexão: [{0:0}] (Causa provável: a url não encontrada, verifique se o nome do domínio da url acessada está correto no arquivo ws2.xml) | DLL | - |
| 5006 | Erro: Falha na conexão: [{0:0}] (Causa provável: Time-Out, o WS não respondeu a solicitação no tempo estabelecido: [{1:0}]) | DLL | - |
| 5007 | Erro: Falha na conexão: [{0:0}] (Causa provável: mensagem maior que a permitida) | DLL | - |
| 5008 | Erro: Falha na conexão: [{0:0}] (Causa provável: Servidor com problemas) | DLL | - |
| 5009 | Erro: Falha na conexão: [{0:0}] (Causa provável: Serviço não implementado) | DLL | - |
| 5010 | Erro: Falha na conexão: [{0:0}] (Causa provável: Serviço temporariamente indisponível, servidor sem recursos para atender a solicitação) | DLL | - |
| 5011 | Erro: Falha na conexão: [{0:0}] (Causa provável: Causa provável da falha na conexão: Rede indisponível) | DLL | - |
| 5012 | Erro: Falha na conexão: [{0:0}] (Causa provável: Versão do SOAP não suportada | DLL | - |
| 5013 | Erro: Falha na conexão: [{0:0}] (Causa provável: Web Service não consumido, não houve nenhum retorno ou resposta) | DLL | - |
| 5014 | Erro: Falha na conexão: [{0:0}] (Causa provável: Web Service não consumido, falha desconhecida) | DLL | - |
| 5015 | Erro: Falha na conexão: Tempo limite de time-out alcançado [{0:0} ms] - [{1:0}] | DLL | - |
| 5016 | Erro: Falha na conexão: Falha da Biblioteca Criptografica: [{0:0}] | DLL | - |
| 5017 | Erro: Falha ao tratar o XML de retorno do WS: [{0:0}] | DLL | - |
| 5018 | Erro: Web Service não devolveu nehuma mensagem de resposta. | DLL | - |
| 5019 | Erro: O município: [{0:0}] não oferece o WS: [{1:0}]. | DLL | - |
| 5020 | Erro: A mensagem XML é inválida - [{0:0}]. | DLL | - |
| 5101 | Erro: A mensagem de retorno do WS não é um XML válido: [{0:0}] | DLL | - |
| 5102 | Erro: Tag cStat inexistente na mensagem de retorno [{0:0}] | DLL | - |
| 5103 | Erro: Tag xMotivo inexistente na mensagem de retorno [{0:0}] | DLL | - |
| 5104 | Erro: Tag [{0:0}] inexistente na mensagem de retorno [{1:0}] | DLL | - |
| 5105 | Erro: O WS não devolveu nenhum resultado | DLL | - |
| 5201 | Erro: O código do tipo de ambiente [{0:0}] informado diferente de 1 - produção e 2 - homologação | DLL | - |
| 5202 | Erro: Ocorreu um erro de validação do XML do arquivo WSNFSE.xml: [{0:0}] | DLL | - |
| 5203 | Erro: Inexiste url para o município [{0:0}] informada no ambiente [{1:0}] desejado, verifique se existe atualização do arquivo WSNFSE.xml disponível. | DLL | - |
| 5204 | Erro: Arquivo WSNFSE.XML com a URL do WS não localizado em {0:0} | DLL | - |
| 5205 | Erro: Ocorreu um erro inesperado no processamento da URL do município [{0:0}] : [{1:0}] | DLL | - |
| 5601 | Erro: O parâmetro cMuncipio não foi informado | DLL | - |
| 5602 | Erro: A DLL ainda não foi customizada para o município: [{0:0}], contate a FlexDocs para verificar a possibilidade de customizar a DLL para o município desejado pelo canal www.flexdocs.com.br/suporte | DLL | - |
| 5603 | Erro: O código do Município do parâmetro cMunicipio: [{0:0}] é inválido. | DLL | - |
| 5604 | Erro: O DV do parâmetro cMunicipio: [{0:0}] é inválido. | DLL | - |
| 5605 | Erro: O parâmetro CNPJPrestador não foi informado. | DLL | - |
| 5606 | Erro: O parâmetro CNPJPrestador: [{0:0}] não é um CNPJ válido. | ||
| 7001 | Erro: A licença não foi informada | DLL | - |
| 7002 | Erro: A licença informada: [{0:0}] tem tamanho:[{1:0}] diferente de 128 | DLL | - |
| 7003 | Erro: A licença informada: [{0:0}] não pertence ao CNPJ:[{1:0}] | DLL | - |
Os erros com código > 5000 são erros tratados pela DLL e ocorrem nas seguintes situações:
- 5001 - 5020 - falha na tentativa de consumir o WS (problema de conexão/rede)
- 5101 - 5105 - falha no tratamento do XML de resposta do WS (problema na resposta do WS)
- 5201 - 5205 - falha na recuperação da URL do WS desejado (problema no arquivo de configuração da URL)
- 5601 - 5606 - falha no tratamento de parâmetro da chamada do WS
- 7001 - 7003 - falha na validação da licença
Histórico de atualização:
- 2010-10-18 - 1.0e - Versão beta preliminar.
- 2011-07-30 - 1.3 - Novas opções de indicação do certificado digital.
- 11.5. ConsultaNFSe
11. Web Services - « Anterior
11.4. ConsultaNFSeRPS - Próximo »
11.6. CancelarNFSe