From fd5faa8df9688d8e61fb62e4b956c1251ebe23a8 Mon Sep 17 00:00:00 2001 From: Raphael Rodrigues Nogueira Date: Tue, 7 Feb 2017 01:10:08 -0300 Subject: [PATCH 1/2] URL para montagem do QR-Code do DANFE-NFC-e MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Acredito que não seja a melhor forma para resolver, mas resolve a URL para montagem do QRCode para o estado do Pará. Se aceitar o commit, vou concluir a questão da NFCe no estado do Pará, daí acredito que mais a frente podemos buscar todos os URLs de montagem do QR-Code para os demais estados que utilizam o SVRS para emissão da NFCe, acredito que cada estado tem seu serviço visto que no SVRS não é disponibilizado o mesmo. --- pytrustnfe/Servidores.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/pytrustnfe/Servidores.py b/pytrustnfe/Servidores.py index 3f00523..a2ec0ca 100644 --- a/pytrustnfe/Servidores.py +++ b/pytrustnfe/Servidores.py @@ -91,13 +91,17 @@ def localizar_url(servico, estado, mod='55', ambiente=2): return "https://%s/%s" % (dominio, complemento) -def localizar_qrcode(estado, ambiente=2): - sigla = SIGLA_ESTADO[estado] - dominio = ESTADO_WS[sigla]['65'][ambiente]['servidor'] - complemento = ESTADO_WS[sigla]['65'][ambiente][WS_NFCE_QR_CODE] - if 'https://' in complemento: - return complemento - return "https://%s/%s" % (dominio, complemento) +def localizar_qrcode(estado, ambiente=2, mod='65'): + sigla = SIGLA_ESTADO[estado]#15 + if sigla != 'PA': + dominio = ESTADO_WS[sigla]['65'][ambiente]['servidor'] + complemento = ESTADO_WS[sigla]['65'][ambiente][WS_NFCE_QR_CODE] + if 'https://' in complemento: + return complemento + return "https://%s/%s" % (dominio, complemento) + else: + return "https://appnfc.sefa.pa.gov.br/portal-homologacao/view/consultas/nfce/nfceForm.seam" + METODO_WS = { From 2c7de6faad3687e5634c63b83435c2d24f801e20 Mon Sep 17 00:00:00 2001 From: Raphael Rodrigues Nogueira Date: Tue, 7 Feb 2017 01:46:43 -0300 Subject: [PATCH 2/2] =?UTF-8?q?Adicionando=20URLs=20de=20Servi=C3=A7o=20NF?= =?UTF-8?q?Ce=20do=20WS=20'SVRS'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adicionando as urls para emissão da NFCe no SVRS utilizado pelo Pará e mais alguns estados. Mudando a regra para localizar URL, visto que o Pará utiliza o SVAN para emissão de NFe e SVRS para emissão de NFCe. Retirando parametro colocado por engano da função localizar_qrcode. --- pytrustnfe/Servidores.py | 80 ++++++++++++++++++++++++++++++++++-------------- 1 file changed, 57 insertions(+), 23 deletions(-) diff --git a/pytrustnfe/Servidores.py b/pytrustnfe/Servidores.py index a2ec0ca..c56f02a 100644 --- a/pytrustnfe/Servidores.py +++ b/pytrustnfe/Servidores.py @@ -74,7 +74,10 @@ SIGLA_ESTADO = { def localizar_url(servico, estado, mod='55', ambiente=2): sigla = SIGLA_ESTADO[estado] - ws = ESTADO_WS[sigla] + if sigla != 'PA': #Pará não utiliza o mesmo WS que NFe para NFCe + ws = ESTADO_WS[sigla] + else: + ws = SVRS if mod in ws: dominio = ws[mod][ambiente]['servidor'] complemento = ws[mod][ambiente][servico] @@ -91,7 +94,7 @@ def localizar_url(servico, estado, mod='55', ambiente=2): return "https://%s/%s" % (dominio, complemento) -def localizar_qrcode(estado, ambiente=2, mod='65'): +def localizar_qrcode(estado, ambiente=2): sigla = SIGLA_ESTADO[estado]#15 if sigla != 'PA': dominio = ESTADO_WS[sigla]['65'][ambiente]['servidor'] @@ -148,30 +151,61 @@ METODO_WS = { } SVRS = { - NFE_AMBIENTE_PRODUCAO: { - 'servidor': 'nfe.svrs.rs.gov.br', - WS_NFE_RECEPCAO_EVENTO: 'ws/recepcaoevento/recepcaoevento.asmx', - WS_NFE_CANCELAMENTO: 'ws/recepcaoevento/recepcaoevento.asmx', - WS_NFE_AUTORIZACAO: 'ws/NfeAutorizacao/NfeAutorizacao.asmx', - WS_NFE_RET_AUTORIZACAO: 'ws/NfeRetAutorizacao/NfeRetAutorizacao.asmx', - WS_NFE_CADASTRO: 'ws/CadConsultaCadastro/CadConsultaCadastro2.asmx', - WS_NFE_INUTILIZACAO: 'ws/nfeinutilizacao/nfeinutilizacao2.asmx', - WS_NFE_CONSULTA: 'ws/NfeConsulta/NfeConsulta2.asmx', - WS_NFE_SITUACAO: 'ws/NfeStatusServico/NfeStatusServico2.asmx', + NFE_MODELO : { + NFE_AMBIENTE_PRODUCAO: { + 'servidor': 'nfe.svrs.rs.gov.br', + WS_NFE_RECEPCAO_EVENTO: 'ws/recepcaoevento/recepcaoevento.asmx', + WS_NFE_CANCELAMENTO: 'ws/recepcaoevento/recepcaoevento.asmx', + WS_NFE_AUTORIZACAO: 'ws/NfeAutorizacao/NfeAutorizacao.asmx', + WS_NFE_RET_AUTORIZACAO: 'ws/NfeRetAutorizacao/NfeRetAutorizacao.asmx', + WS_NFE_CADASTRO: 'ws/CadConsultaCadastro/CadConsultaCadastro2.asmx', + WS_NFE_INUTILIZACAO: 'ws/nfeinutilizacao/nfeinutilizacao2.asmx', + WS_NFE_CONSULTA: 'ws/NfeConsulta/NfeConsulta2.asmx', + WS_NFE_SITUACAO: 'ws/NfeStatusServico/NfeStatusServico2.asmx', + }, + NFE_AMBIENTE_HOMOLOGACAO: { + 'servidor': 'nfe-homologacao.svrs.rs.gov.br', + WS_NFE_RECEPCAO_EVENTO: 'ws/recepcaoevento/recepcaoevento.asmx', + WS_NFE_CANCELAMENTO: 'ws/recepcaoevento/recepcaoevento.asmx', + WS_NFE_AUTORIZACAO: 'ws/NfeAutorizacao/NfeAutorizacao.asmx', + WS_NFE_RET_AUTORIZACAO: 'ws/NfeRetAutorizacao/NfeRetAutorizacao.asmx', + WS_NFE_CADASTRO: 'ws/CadConsultaCadastro/CadConsultaCadastro2.asmx', + WS_NFE_INUTILIZACAO: 'ws/nfeinutilizacao/nfeinutilizacao2.asmx', + WS_NFE_CONSULTA: 'ws/NfeConsulta/NfeConsulta2.asmx', + WS_NFE_SITUACAO: 'ws/NfeStatusServico/NfeStatusServico2.asmx', + } }, - NFE_AMBIENTE_HOMOLOGACAO: { - 'servidor': 'nfe-homologacao.svrs.rs.gov.br', - WS_NFE_RECEPCAO_EVENTO: 'ws/recepcaoevento/recepcaoevento.asmx', - WS_NFE_CANCELAMENTO: 'ws/recepcaoevento/recepcaoevento.asmx', - WS_NFE_AUTORIZACAO: 'ws/NfeAutorizacao/NfeAutorizacao.asmx', - WS_NFE_RET_AUTORIZACAO: 'ws/NfeRetAutorizacao/NfeRetAutorizacao.asmx', - WS_NFE_CADASTRO: 'ws/CadConsultaCadastro/CadConsultaCadastro2.asmx', - WS_NFE_INUTILIZACAO: 'ws/nfeinutilizacao/nfeinutilizacao2.asmx', - WS_NFE_CONSULTA: 'ws/NfeConsulta/NfeConsulta2.asmx', - WS_NFE_SITUACAO: 'ws/NfeStatusServico/NfeStatusServico2.asmx', + NFCE_MODELO: { + NFE_AMBIENTE_PRODUCAO: { + 'servidor': 'nfce.svrs.rs.gov.br', + WS_NFCE_RECEPCAO_EVENTO: 'ws/recepcaoevento/recepcaoevento.asmx', + WS_NFCE_AUTORIZACAO: 'ws/NfeAutorizacao/NFeAutorizacao.asmx', + WS_NFCE_RET_AUTORIZACAO: 'ws/NfeRetAutorizacao/NFeRetAutorizacao.asmx', + #WS_NFCE_CADASTRO: , + #WS_NFCE_CONSULTA_DESTINADAS: , + #WS_NFCE_DOWNLOAD: , + WS_NFCE_INUTILIZACAO: 'ws/nfeinutilizacao/nfeinutilizacao2.asmx', + WS_NFCE_CONSULTA: 'ws/NfeConsulta/NfeConsulta2.asmx', + WS_NFCE_SITUACAO: 'ws/NfeStatusServico/NfeStatusServico2.asmx', + #WS_NFCE_CANCELAMENTO: , + #WS_NFCE_QR_CODE: , + }, + NFE_AMBIENTE_HOMOLOGACAO: { + 'servidor': 'nfce-homologacao.svrs.rs.gov.br', + WS_NFCE_RECEPCAO_EVENTO: 'ws/recepcaoevento/recepcaoevento.asmx', + WS_NFCE_AUTORIZACAO: 'ws/NfeAutorizacao/NFeAutorizacao.asmx', + WS_NFCE_RET_AUTORIZACAO: 'ws/NfeRetAutorizacao/NFeRetAutorizacao.asmx', + #WS_NFCE_CADASTRO: , + #WS_NFCE_CONSULTA_DESTINADAS: , + #WS_NFCE_DOWNLOAD: , + WS_NFCE_INUTILIZACAO: 'ws/nfeinutilizacao/nfeinutilizacao2.asmx', + WS_NFCE_CONSULTA: 'ws/NfeConsulta/NfeConsulta2.asmx', + WS_NFCE_SITUACAO: 'ws/NfeStatusServico/NfeStatusServico2.asmx', + #WS_NFCE_CANCELAMENTO: , + #WS_NFCE_QR_CODE: , + } } } - SVAN = { NFE_AMBIENTE_PRODUCAO: { 'servidor': 'www.sefazvirtual.fazenda.gov.br',