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...
The popup will be closed in 10 segundos...