DOWNLOAD XML SEFAZ
Boa Tarde
Preciso desenvolver um projeto para fazer o download do xml da nota fiscal, informando a chave e o certificado.
alguém poderia me ajudar a dar os primeiros passos.
cheguei a utilizar o projeto que está no fórum, mas não dei sequencia pois a empresa que trabalhava faliu.
Preciso desenvolver um projeto para fazer o download do xml da nota fiscal, informando a chave e o certificado.
alguém poderia me ajudar a dar os primeiros passos.
cheguei a utilizar o projeto que está no fórum, mas não dei sequencia pois a empresa que trabalhava faliu.
Só te falo que não é tão simples assim.
A empresa que eu trabalho me infernizou para fazer isso para não perder o cliente e acabei desenvolvendo, mas em JAVA.
Baixa o xml não é problema, o problema é quebrar o maldito Captcha.
O que eu fiz foi simplesmente chamar o botão da pagina do SEFAZ onde faz o download passando a chave da nota e o certificado e é claro, se o SEFAZ mudar o a pagina eu terei que alterar isso.
Pode ser que isso te ajude:
http://www.macoratti.net/11/05/nfe_dc1.htm
https://social.msdn.microsoft.com/Forums/vstudio/pt-BR/89f6f501-2616-4a57-9335-3765c6d17fc0/download-xml-nfe?forum=vscsharppt
A empresa que eu trabalho me infernizou para fazer isso para não perder o cliente e acabei desenvolvendo, mas em JAVA.
Baixa o xml não é problema, o problema é quebrar o maldito Captcha.
O que eu fiz foi simplesmente chamar o botão da pagina do SEFAZ onde faz o download passando a chave da nota e o certificado e é claro, se o SEFAZ mudar o a pagina eu terei que alterar isso.
Pode ser que isso te ajude:
http://www.macoratti.net/11/05/nfe_dc1.htm
https://social.msdn.microsoft.com/Forums/vstudio/pt-BR/89f6f501-2616-4a57-9335-3765c6d17fc0/download-xml-nfe?forum=vscsharppt
mas ainda está funcionando seu método ?
vc tem NFE funcionando?
uma das funções ( chamadas do webservice ) é download de XML da receita.
uma das funções ( chamadas do webservice ) é download de XML da receita.
não tenho, não vou emitir, apenas fazer o download do xml.
Citação:mas ainda está funcionando seu método ?
Funciona redondo, agora estou adequando para NFE 4.0 pois os endereços do WebService mudaram.
Aqui no portal da receita, não está deixando baixar da erro de acesso negado.
Boa noite, a primeira coisa que recomendo vc fazer é ler a Nota Técnica
https://www.nfe.fazenda.gov.br/portal/exibirArquivo.aspx?conteudo=0UjmxluFtt4=
lembrando que antes de tentar fazer o download do XML vc vai ter que fazer ciência da operação. Feito isso siga os procedimentos abaixo.
Lá vai ter a estrutura do documento XML que vc Deve enviar, e a estrutura que vai retornar,
no Visual Studio vc vai adicionar uma WebReferente dessa URL
https://www1.nfe.fazenda.gov.br/NFeDistribuicaoDFe/NFeDistribuicaoDFe.asmx
Feito Isso é só enviar o documento XML conforme está na nota técnica. vou colocar um exemplo.
//cStat = 137 - Nenhum documento localizado
//cStat = 138 - Documento localizado
https://www.nfe.fazenda.gov.br/portal/exibirArquivo.aspx?conteudo=0UjmxluFtt4=
lembrando que antes de tentar fazer o download do XML vc vai ter que fazer ciência da operação. Feito isso siga os procedimentos abaixo.
Lá vai ter a estrutura do documento XML que vc Deve enviar, e a estrutura que vai retornar,
no Visual Studio vc vai adicionar uma WebReferente dessa URL
https://www1.nfe.fazenda.gov.br/NFeDistribuicaoDFe/NFeDistribuicaoDFe.asmx
Feito Isso é só enviar o documento XML conforme está na nota técnica. vou colocar um exemplo.
using System.Security.Cryptography.X509Certificates; //Adiciona essa referência
byte[] pfxData = File.ReadAllBytes([Ô]C:\\CertificadoDigita\\MeuCertificado.pfx[Ô]);
X509Certificate2 certificado = new X509Certificate2(pfxData, senhaCertificado);
distDFeInt xmlEnvioDFe = new distDFeInt()
{
CNPJ = cnpjEmpresa, //string
tpAmb = [Ô]1[Ô],
cUFAutor = [Ô]29[Ô],
versao = [Ô]1.01[Ô],
consChNFe = new consChNFe()
{
chNFe = chaveNFe //string
}
};
XmlDocument xmlDoc = FuncoesNfe.[txt-color=#e80000]Serializar[/txt-color](xmlEnvioDFe);
br.gov.fazenda.nfe.www1.NFeDistribuicaoDFe envio = new br.gov.fazenda.nfe.www1.NFeDistribuicaoDFe();
envio.ClientCertificates.Add(Variavelcertificado);
envio.SoapVersion = System.Web.Services.Protocols.SoapProtocolVersion.Soap12;
XmlNode xmlNodeResult = envio.nfeDistDFeInteresse(xmlDoc);
//cStat = 137 - Nenhum documento localizado
//cStat = 138 - Documento localizado
posso fazer uma consulta de apenas 1 nota de cada vez ?
Citação::
posso fazer uma consulta de apenas 1 nota de cada vez ?
o exemplo que coloquei foi via chave de acesso, pode sim. ou pode pegar um lote completo pelo NSU,
vc deu uma lida na NT ?
sim, mas ainda não li por completo, estou tentando utilizar o exemplo do Elucimar, mas estou tendo rejeição.
Faça seu login para responder