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á 3669 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á 3669 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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...