def download_xml(self, cnpj, lista_chaves, cert, key, ambiente_nacional=True, versao=u'2.00', ambiente=2, estado=u'MG', tipo_contingencia=False): """ Realiza a consulta do manifesto do destinatário @param lista_chaves: lista de até 10 chaves @param cert: string do certificado digital A1, @param key: chave privada do certificado digital, @param versao: versão da nfe, @param ambiente: ambiente da consulta, pode ser 1 para o ambiente de produção e 2 para homologação, @param estado: estado em que realizará o processamento, @param tipo_contingencia: habilita a contigência . @return: Dicionário com o envio,resposta e reason. """ if len(lista_chaves)>10: raise ValueError(u'Maximo de 10 Chaves de Acesso por lote.') p = ProcessadorNFe() p.versao = versao p.estado = estado if ambiente_nacional: ESTADO_WS[estado] = SVAN p.ambiente = ambiente p.certificado.cert_str = cert p.certificado.key_str = key p.tipo_contingencia = tipo_contingencia p.salvar_arquivos = False processo = p.download_nfe_xml(cnpj, ambiente, lista_chaves=lista_chaves) vals = {'envio': processo.envio.xml, 'resposta': processo.resposta.xml, 'proc_xml':processo.resposta.original, #'status_resposta': processo.resposta.retNFe.cStat.valor, #'status_motivo': processo.resposta.retNFe.xMotivo.valor, 'reason': processo.resposta.reason} for i,ret in enumerate(processo.resposta.retNFe): vals['status_resp_nota_' + str(i)] = ret.cStat.valor vals['status_motivo_nota_' + str(i)] = ret.xMotivo.valor return vals
def download_xml(self, cnpj, chave, cert, key, versao=u'2.00', ambiente=2, estado=u'MG', scan=False): """ Realiza a consulta do manifesto do destinatário @param chave:chave da nfe @param cert: string do certificado digital A1, @param key: chave privada do certificado digital, @param versao: versão da nfe, @param ambiente: ambiente da consulta, pode ser 1 para o ambiente de produção e 2 para homologação, @param estado: estado em que realizará o processamento, @param scan: habilita a contigência SCAN. @return: Dicionário com o envio,resposta e reason. """ p = ProcessadorNFe() p.versao = versao p.estado = estado ESTADO_WS[estado] = SVAN p.ambiente = ambiente p.certificado.cert_str = cert p.certificado.key_str = key p.contingencia_SCAN = scan p.salvar_arquivos = False processo = p.download_nfe_xml(cnpj, ambiente, chave_nfe=chave) vals = {'envio': processo.envio.xml, 'resposta': processo.resposta.xml, 'proc_xml':processo.resposta.original, 'status_resposta': processo.resposta.retNFe.cStat.valor, 'status_motivo': processo.resposta.retNFe.xMotivo.valor, 'reason': processo.resposta.reason} return vals
def download_xml(self, cnpj, chave, cert, key, versao=u'2.00', ambiente=2, estado=u'MG', tipo_contingencia=False): """ Realiza a consulta do manifesto do destinatário @param chave:chave da nfe @param cert: string do certificado digital A1, @param key: chave privada do certificado digital, @param versao: versão da nfe, @param ambiente: ambiente da consulta, pode ser 1 para o ambiente de produção e 2 para homologação, @param estado: estado em que realizará o processamento, @param tipo_contingencia: habilita a contigência . @return: Dicionário com o envio,resposta e reason. """ p = ProcessadorNFe() p.versao = versao p.estado = estado ESTADO_WS[estado] = SVAN p.ambiente = ambiente p.certificado.cert_str = cert p.certificado.key_str = key p.tipo_contingencia = tipo_contingencia p.salvar_arquivos = False processo = p.download_nfe_xml(cnpj, ambiente, chave_nfe=chave) vals = {'envio': processo.envio.xml, 'resposta': processo.resposta.xml, 'proc_xml':processo.resposta.original, 'status_resposta': processo.resposta.retNFe.cStat.valor, 'status_motivo': processo.resposta.retNFe.xMotivo.valor, 'reason': processo.resposta.reason} return vals