Ir para conteúdo
  • Cadastre-se

Eugenio Araujo

Membros
  • Total de ítens

    4
  • Registro em

  • Última visita

1 Seguidor

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

Eugenio Araujo's Achievements

Newbie

Newbie (1/14)

  • First Post
  • Week One Done
  • One Month Later
  • Conversation Starter

Recent Badges

2

Reputação

1

Community Answers

  1. Sim, fiz um código python que le uma XML de template, troca os placeholders e gera o cancelar a nfse: XML: <?xml version="1.0" encoding="UTF-8"?> <pedRegEvento xmlns="http://www.sped.fazenda.gov.br/nfse" versao="1.00"> <infPedReg Id="PRE{{order_nfse_number_val}}101101{{cancel_id_val}}"> <tpAmb>{{tpAmb_val}}</tpAmb> <verAplic>{{verAplic_val}}</verAplic> <dhEvento>{{actual_billing_time_val}}-03:00</dhEvento> <CNPJAutor>{{cnpj_val}}</CNPJAutor> <chNFSe>{{order_nfse_number_val}}</chNFSe> <nPedRegEvento>{{cancel_id_val}}</nPedRegEvento> <e101101> <xDesc>Cancelamento de NFS-e</xDesc> <cMotivo>2</cMotivo> <xMotivo>Serviço não prestado</xMotivo> </e101101> </infPedReg> </pedRegEvento> O order_nfse_number é a chave_de_acesso da nota emitida. No cancel_id to usando 001. Depois disso é só assinar usando o elemento "infPedReg", comprimir com gzip, encodar pra b64 e chamar a eventos com POST. Minha chamada com requests ficou assim: response = requests.post(f"{self.sefin_url}/nfse/{chave_acesso}/eventos", json={"pedidoRegistroEventoXmlGZipB64": compressed_xml_b64}, cert=(self.cert_path, self.key_path), headers={"Content-Type": "application/json; charset=utf-8"}) Um dos erros que estava fazendo era no POST passar o campo o campo "dpsXmlGZipB64" que uso na hora de emitir a NFSE ao invés de usar o "pedidoRegistroEventoXmlGZipB64". É uma pena que essa API se não manda tudo exatamente como tem que ser ela não emite/cancela e também não fala o erro. Tenho assinado em SHA1 o que acho bem ruim, mas até agora não consegui fazer nenhum outro SHA funcionar, se alguém tá conseguindo assinar com SHA256 ou algum outro e a API deles está recebendo me avisem por favor, pq tive que fazer uma enjambra pra conseguir realizar SHA1 usando a lib do signxml.
  2. Bom dia, python, depois de muito tentar e pesquisar encontrei um modelo de XML que funciona aqui. Uma pena a API não responder o erro que aconteceu e em certas situações só mandar "erro": [] e não emitir/cancelar a NFSE.
  3. Obrigado pela resposta, poderia dar mais detalhes de como fazer? Sigo tentando chamar o endpoint do wagger (https://www.nfse.gov.br/swagger/contribuintesissqn/#/) em POST na rota https://sefin.nfse.gov.br/sefinnacional/nfse/{chaveAcesso}/eventos. E sempre me retorna status_code 500 com esse response.text: '{\r\n "tipoAmbiente": 2,\r\n "versaoAplicativo": "SefinNac_Pre_1.0.0",\r\n "dataHoraProcessamento": "2024-04-03T10:51:04.7081027-03:00",\r\n "erro": []\r\n}'. Não sei se o problema está no endereço que chamo, ou no xml que envio. Estranho que chamadas GET em /nfse/{ChaveAcesso}/eventos também retornam status_code 405 dizendo que o método GET não é aceito, sendo que na própria documentação consta o GET como um método desse endereço.
  4. Boa tarde, estou tentando reimplementar o cancelamento de NFSE aqui na empresa. Pela documentação do swagger (https://www.nfse.gov.br/swagger/contribuintesissqn/#/) agora os pedidas são feitos em post na seguinte rota: https://sefin.nfse.gov.br/sefinnacional/nfse/{chaveAcesso}/eventos. Porém qualquer chamada que faço nessa rota retorna com Internal Server Error independente do que eu mandar. Gostaria de saber se nesse novo emissor nacional simples vocês "sabem como/estão conseguindo" fazer o cancelamento de notas fiscais? Muito obrigado pela ajuda.
×
×
  • 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...