Ir para conteúdo
  • Cadastre-se

dev botao

Web Service De Distribuição De Documentos Fiscais Eletrônicos


Ver Solução Respondido por lesf,
  • Este tópico foi criado há 3582 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Boa Tarde Pessoal!

 

Estou desenvolvendo a rotina de Manifestação do Destinatário e me deparei com uma mensagem de erro, quando eu envio o WebService:

"http 403 forbidden".

 

Alguém ja teve este problema?

 

O mais estranho que antes não dava essa mensagem. Outro problema que estou tendo é que:

Quando consulto no webService Antigo ele me retorna por exemplo 5 notas. Mas quando consulto no novo WebService ele não me retorna nada, com cStat = 137.Isso em ambiente de Homologação.

 

Abraços.

Postado

Bom dia a todos,

 

Já encontra-se disponível a descompactação do retorno zipado ao consultar as notas usando o Web Services NFeDistribuicaoDFe.

 

Favor atualizar os fontes.

 

Antes de testar deve-se incluir o caminho abaixo no Library Path do Delphi.

 

...\Fontes\ZLibExGZ

 

Atenção esse caminho tem que ficar antes do:

 

...\Fontes\PCN2

 

Boa tarde,

somente para tirar minha dúvida, após consultar as notas através de NFeDistribuicaoDFe como devo proceder para pegar o XML da NFe?

 

Devo continuar realizando a Manifestação da NFe?

O procedimento de DownloadNfe não precisa mais ser usado?

 

Li o tópico inteiro, mas encontrei os procedimentos utilizados de forma separada, e permaneci com a dúvida sobre a sequencia correta a ser usada agora!

 

Desde já agradeço!

Att.:

Daniel

Postado

O webservice vai te retornar os xml's das notas já manifestadas, e o resumo das nf-e que vc ainda não manifestou, ao que tudo indica o DownloadNFe não será mais necessário embora, até o momento, eu não tenha tido nenhuma informação oficial sobre a descontinuidade do ws de download, ou seja as notas que vc receber no retorno com a tag <resNFe> são notas que devem ser manifestadas e as notas contidas na tag <nfeproc> já são os xml's de notas já manifestadas...

  • Membros Pro
Postado

Boa tarde,

somente para tirar minha dúvida, após consultar as notas através de NFeDistribuicaoDFe como devo proceder para pegar o XML da NFe?

 

Devo continuar realizando a Manifestação da NFe?

O procedimento de DownloadNfe não precisa mais ser usado?

 

Li o tópico inteiro, mas encontrei os procedimentos utilizados de forma separada, e permaneci com a dúvida sobre a sequencia correta a ser usada agora!

 

Desde já agradeço!

Daniel, o método de Download nao foi alterado e pode ser usado ainda. No serviço novo, se você se manifestar, vai receber um outro NSU com uma linha o tipo procNFe. Esse XML é o XML da nota. Note que não mudou a regra pro download, mantendo a obrigação de se fazer a manifestacao antes. 

  • Membros Pro
Postado

Boa Tarde Pessoal!

 

Estou desenvolvendo a rotina de Manifestação do Destinatário e me deparei com uma mensagem de erro, quando eu envio o WebService:

"http 403 forbidden".

 

Alguém ja teve este problema?

 

O mais estranho que antes não dava essa mensagem. Outro problema que estou tendo é que:

Quando consulto no webService Antigo ele me retorna por exemplo 5 notas. Mas quando consulto no novo WebService ele não me retorna nada, com cStat = 137.Isso em ambiente de Homologação.

 

Abraços.

Bruno, o retorno cSTAT 137 é porque você nao tem notas no ambiente de homologacao. Simule um faturamento contra o seu CNPJ que daí você terá um retorno. Quando ao 403 pode ser porque você tentou consultar sem selecionar um certificado ou então você tentou varias consultas em menos de 1 hora, fazendo com que você fosse bloqueado por consumo indevido (leia na nota técnica que terá detalhes disso).

Postado

Daniel, o método de Download nao foi alterado e pode ser usado ainda. No serviço novo, se você se manifestar, vai receber um outro NSU com uma linha o tipo procNFe. Esse XML é o XML da nota. Note que não mudou a regra pro download, mantendo a obrigação de se fazer a manifestacao antes. 

 

Tudo bem Douglas...

 

Seguinte, realizei o manifesto de uma nota fiscal, consultei ela através de NFeDistribuicaoDFe e foi gerado estes arquivos em anexo...

 

Que procedimento devo fazer agora para conseguir o XML da NF-e?

20150204145904-con-dist-dfe-soap.xml

20150204145905-dist-dfe-soap.xml

Att.:

Daniel

  • Membros Pro
Postado (editado)

Tudo bem Douglas...

 

Seguinte, realizei o manifesto de uma nota fiscal, consultei ela através de NFeDistribuicaoDFe e foi gerado estes arquivos em anexo...

 

Que procedimento devo fazer agora para conseguir o XML da NF-e?

 

Aquele NSU '0000039' deve ser o seu XML.  Descompacte ela pra ver.

 

 

Ou Faz o seguinte: Antes de chamar o DistribuiçãoDFe, adicionar uma linha pra configurar o caminho pro ACBR salvar o XML:

    ACBrNFe.Configuracoes.Geral.PathSalvar:='c:\xml';

 

Fazendo isso, quando você receber um NSU que é o XML ele vai salvar automaticamente o arquivo nesta pasta.

Editado por douglaswf
  • Consultores
Postado

Boa tarde Daniel,

 

Ao realizar a consulta você informou o NSU = 39 como sendo o terceiro ou quarto parâmetro no método?

 

O correto é informar como sedo o terceiro e no quarto informar uma string vazia.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

Aquele NSU '0000039' deve ser o seu XML.  Descompacte ela pra ver.

 

 

Ou Faz o seguinte: Antes de chamar o DistribuiçãoDFe, adicionar uma linha pra configurar o caminho pro ACBR salvar o XML:

    ACBrNFe.Configuracoes.Geral.PathSalvar:='c:\xml';

 

Fazendo isso, quando você receber um NSU que é o XML ele vai salvar automaticamente o arquivo nesta pasta.

 

Douglas.. Gerou os mesmos arquivos.

 

O procedimento que estou fazendo é o seguinte:

// Realiza o Manifesto
dtmDados.ACBrNFe.EventoNFe.Evento.Clear;
  with dtmDados.ACBrNFe.EventoNFe.Evento.Add do
  begin
    infEvento.chNFe    := sChave;
    infEvento.CNPJ     := sCNPJ;
    infEvento.dhEvento := now;
    infEvento.tpEvento := teManifDestCiencia;
  end;
// DistribuicaoDFe
dtmDados.ACBrNFe.Configuracoes.Geral.PathSalvar:='c:\xml';
dtmDados.ACBrNFe.DistribuicaoDFe(43,sCnpj,'','000000000000039');

Com certeza não estou fazendo corretamente... Tem algum passo a mais que devo fazer para gerar o XML da NFe?

 

desde já agradeço o auxílio!!

Att.:

Daniel

Postado (editado)

Boa tarde Daniel,

 

Ao realizar a consulta você informou o NSU = 39 como sendo o terceiro ou quarto parâmetro no método?

 

O correto é informar como sedo o terceiro e no quarto informar uma string vazia.

 

Testei novamente com outra NFe e gerou o XML, mas gerou vários e não somente da chave que manifestei (43141191302141000114550010000125601000125606), pq isso?

 

XML´s em anexo..

 

 

Se tenho somente a chave de uma nfe que quero realizar o manifesto e o download do xml, como busco o NSU?

 

em meus testes estava fazendo a consulta assim: dtmDados.ACBrNFe.DistribuicaoDFe(43,sCnpj,'0','') e fazendo um laço comparando a chave de acesso para pegar o NSU.

 

e depois consultava novamente com o NSU daquela chave: dtmDados.ACBrNFe.DistribuicaoDFe(43,sCnpj,dtmDados.ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.NSU,'');

 

Provavelmente não é a forma correta, mas não entendi de onde busco o NSU de uma determinada nota que acabei de manifestar ou que já foi manifestada para conseguir fazer o download do XML da NFe

43141100369085000180550010000098341146274242-nfe.xml

43141191302141000114550010000125601000125606-nfe.xml

43141200369085000180550010000100431752654372-nfe.xml

43141205061998000158550010000193531603017423-nfe.xml

43150100369085000180550010000102991014886740-nfe.xml

20150204161454-con-dist-dfe-soap.xml

20150204161455-dist-dfe-soap.xml

20150204161548-con-dist-dfe-soap.xml

20150204161549-dist-dfe-soap.xml

Editado por Daniel Caus

Att.:

Daniel

  • Consultores
Postado

Daniel,

 

O Terceiro parâmetro sempre tem que ser o último NSU retornado, devendo parar de realizar a consulta com base no Status.

 

Se você manifesta uma Nota cujo NSU é 35, não significa que o XML completo da mesma o NSU será 36, uma vez que ao consultar podemos ter 50 resumos.

 

O jeito é depois de manifestar aguardar alguns minutos e realizar uma nova consulta, poderemos ter nessa nova consulta novos resumos mais o XML da nota manifestada.

 

Se esta retornando mais XML alem da que você manifestou, verifique se outro não esta manifestando também, por exemplo o escritório de contabilidade.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

Ítalo, vc chegou a ter problemas com a quantidade de consultas consecutivas? informei nsu corretamente sempre o último recebido mas após a 7ª consulta ele me retornou consumo indevido... Será que há limite de consultas? passei o dia lendo e relendo a NT e não encontrei nada

  • Membros Pro
Postado

Também estou com o mesmo problema, ai aguardo uma hora depois volta a funcionar, aguém tem alguma solução? pq imagina um dos meus casos de um cliente que o MaxNSU dele é 11900 até chegar neste número, impossível, sendo que no máximo 5, 6 consultas consecutivas já retorna consumo indevido. Alguém já testou o seguinte caso: quando der consumo indevido, consultar usando o NSU específico de 1 em 1 até chegar no último NSU? usando o último parâmetro da função (apenas uma idéia)

Postado

Pessoal, em todos os meus testes são exatas 10 iterações e obtenho o 656 (consumo indevido), a SEFAZ pode estar restringindo mais do que divulgou, pois tenho testado isso há dias e quando faço 10 consultas, aguardo 1 hora e prossigo com mais 10, tudo retorna perfeitamente.

 

Alguém sabe o contato na SEFAZ para este tipo de dúvida?

 

Obrigado

 

Cristiano Antunes

  • Consultores
Postado

Boa noite a todos,

 

Acredito que nesse primeiro momento a dica é paciência.

 

Quando esgotar, ou seja, retornar todos os milhares de NSU depois a quantidade será muito pequena caso a consulta seja feita umas duas vezes ao dia.

  • Curtir 2
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Membros Pro
Postado

 

Testei novamente com outra NFe e gerou o XML, mas gerou vários e não somente da chave que manifestei (43141191302141000114550010000125601000125606), pq isso?

 

XML´s em anexo..

 

 

Se tenho somente a chave de uma nfe que quero realizar o manifesto e o download do xml, como busco o NSU?

 

em meus testes estava fazendo a consulta assim: dtmDados.ACBrNFe.DistribuicaoDFe(43,sCnpj,'0','') e fazendo um laço comparando a chave de acesso para pegar o NSU.

 

e depois consultava novamente com o NSU daquela chave: dtmDados.ACBrNFe.DistribuicaoDFe(43,sCnpj,dtmDados.ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.NSU,'');

 

Provavelmente não é a forma correta, mas não entendi de onde busco o NSU de uma determinada nota que acabei de manifestar ou que já foi manifestada para conseguir fazer o download do XML da NFe

Daniel, esse novo webservice oferece praticamente tudo o que acontece com sua empresa junto ao fisco. Eu entendi o que você pretende fazer, porém, acho que não é exatamente o jeito certo de usar as informações dele.

 

Minha sugestão pra ti é montar uma rotina que recupere toda a movimentação de uma empresa, desde o primeiro até o último NSU. Depois disso, você analisa o que recebeu, em conjunto com uma interpretação bem cuidadosa da NT2014.002_v1.01. 

 

Em resumo, você deve se preocupar em recuperar as informações e armazená-las, e não em procurar por uma determinada chave nele.  Depois em sua base local, você vai ter tudo o que precisa.

Postado (editado)

Entendi Douglas...

 

É possível realizar o download de uma determinada NF-e, como anteriormente era usado o downloadNFe? 

 

Hoje ao realizar o download pela chave de acesso (usando downloadNFe) vem um XML compactado, que não entendi ainda como descompactar (se ao descompactar possui o XML da NFe ou tbm é um resumo?), ou se ainda dá pra ser usada essa função.

 

Resumindo: Não sei como fazer agora da forma correta o download do XML de uma determinada NFe emitida para meu CNPJ se possuo somente a chave de acesso dela.

 

Agradeço a ajuda e desculpa a insistência nessa questão..

Editado por Daniel Caus

Att.:

Daniel

  • Membros Pro
Postado

Entendi Douglas...

 

É possível realizar o download de uma determinada NF-e, como anteriormente era usado o downloadNFe? 

 

Hoje ao realizar o download pela chave de acesso (usando downloadNFe) vem um XML compactado, que não entendi ainda como descompactar (se ao descompactar possui o XML da NFe ou tbm é um resumo?), ou se ainda dá pra ser usada essa função.

 

Resumindo: Não sei como fazer agora da forma correta o download do XML de uma determinada NFe emitida para meu CNPJ se possuo somente a chave de acesso dela.

 

Agradeço a ajuda e desculpa a insistência nessa questão..

 

É possível realizar o download de uma determinada NF-e, como anteriormente era usado o downloadNFe?  - Sim, isso não mudou

 

Se você chamar o DistribuicaoDFe em um loop e analisar, você vai encontrar um XML que é o <procNFe>. Esse é exatamente o XML da NFe.

 

  repeat

      ACBrNFe1.DistribuicaoDFe(42,CnpjInt,ultNSU,'');

      for x := 0 to (ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Count -1) do

            ShowMessage(ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[x].XML);

      end;

  until (ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.maxNSU <= NsuLoop);

  • Curtir 2
Postado

É possível realizar o download de uma determinada NF-e, como anteriormente era usado o downloadNFe?  - Sim, isso não mudou

 

Douglas, ao realizar o download, ele vem de forma compactada, e não mais como antes... como descompacto este arquivo? (em anexo)

    dtmDados.ACBrNFe.DownloadNFe.Download.CNPJ := sCnpj;
    dtmDados.ACBrNFe.DownloadNFe.Download.Chaves.Add.chNFe := sChave;
    dtmDados.ACBrNFe.Download;

Prometo que será meu último post....

 

muito obrigado!

42150211974590000170550010000200011396952407-nfe.xml

Att.:

Daniel

Postado

Daniel o pessoal está usando uma unit zLibExGz, nos fontes atualizados vc pode ver na unit pcnRetDistDFeInt.pas um caso onde está sendo aplicado a descompactação usando a zLib, dá uma olhada lá e avisa agente :)

  • Curtir 1
  • Membros Pro
Postado

Douglas, ao realizar o download, ele vem de forma compactada, e não mais como antes... como descompacto este arquivo? (em anexo)

    dtmDados.ACBrNFe.DownloadNFe.Download.CNPJ := sCnpj;
    dtmDados.ACBrNFe.DownloadNFe.Download.Chaves.Add.chNFe := sChave;
    dtmDados.ACBrNFe.Download;

Prometo que será meu último post....

 

muito obrigado!

 

A ideia do fórum é essa mesma. Eu nao descompacto pois o componente salva o xml em disco tambem.

 

eu tenho assim: ACBrNFe.Configuracoes.Geral.PathSalvar:='c:\xml';

 

ai ja pego o arquivo físico. por isso pra mim não mudou nada, rs...

Postado

Daniel o pessoal está usando uma unit zLibExGz, nos fontes atualizados vc pode ver na unit pcnRetDistDFeInt.pas um caso onde está sendo aplicado a descompactação usando a zLib, dá uma olhada lá e avisa agente :)

 

Olá Tiago...

 

Já tinha visto que o pessoal estava comentando sobre isso neste tópico, mas não consegui realizar a descompactação até o momento..

Att.:

Daniel

  • Este tópico foi criado há 3582 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.