|
|
@ -177,6 +177,24 @@ class ComunicacaoSefaz(Comunicacao): |
|
|
xml = self._construir_xml_soap('NFeConsultaProtocolo4', raiz) |
|
|
xml = self._construir_xml_soap('NFeConsultaProtocolo4', raiz) |
|
|
return str(etree.tostring(xml), 'utf-8') |
|
|
return str(etree.tostring(xml), 'utf-8') |
|
|
|
|
|
|
|
|
|
|
|
def consulta_nota_assinada(self, xml, modelo, chave_assinatura): |
|
|
|
|
|
""" |
|
|
|
|
|
Este método oferece a consulta da situação da NF-e/NFC-e na Base de Dados do Portal |
|
|
|
|
|
da Secretaria de Fazenda Estadual. |
|
|
|
|
|
:param xml: XML da nota |
|
|
|
|
|
:param modelo: Modelo da nota |
|
|
|
|
|
:param chave_assinatura: Tupla (certificado, chave) A3 |
|
|
|
|
|
:return: |
|
|
|
|
|
""" |
|
|
|
|
|
|
|
|
|
|
|
if type(xml) == str: |
|
|
|
|
|
xml = etree.fromstring(xml) |
|
|
|
|
|
|
|
|
|
|
|
# url do serviço |
|
|
|
|
|
url = self._get_url(modelo=modelo, consulta='CHAVE') |
|
|
|
|
|
|
|
|
|
|
|
return self._post(url, xml, chave_assinatura) |
|
|
|
|
|
|
|
|
def consulta_notas_cnpj(self, cnpj, nsu=0): |
|
|
def consulta_notas_cnpj(self, cnpj, nsu=0): |
|
|
""" |
|
|
""" |
|
|
“Serviço de Consulta da Relação de Documentos Destinados” para um determinado CNPJ de |
|
|
“Serviço de Consulta da Relação de Documentos Destinados” para um determinado CNPJ de |
|
|
@ -499,10 +517,13 @@ class ComunicacaoSefaz(Comunicacao): |
|
|
'Accept': 'application/soap+xml; charset=utf-8;', |
|
|
'Accept': 'application/soap+xml; charset=utf-8;', |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
def _post(self, url, xml): |
|
|
|
|
|
|
|
|
def _post(self, url, xml, _chave_cert=None): |
|
|
|
|
|
if not _chave_cert: |
|
|
certificado_a1 = CertificadoA1(self.certificado) |
|
|
certificado_a1 = CertificadoA1(self.certificado) |
|
|
chave, cert = certificado_a1.separar_arquivo(self.certificado_senha, caminho=True) |
|
|
chave, cert = certificado_a1.separar_arquivo(self.certificado_senha, caminho=True) |
|
|
chave_cert = (cert, chave) |
|
|
chave_cert = (cert, chave) |
|
|
|
|
|
else: |
|
|
|
|
|
chave_cert = _chave_cert |
|
|
# Abre a conexão HTTPS |
|
|
# Abre a conexão HTTPS |
|
|
try: |
|
|
try: |
|
|
xml_declaration = '<?xml version="1.0" encoding="UTF-8"?>' |
|
|
xml_declaration = '<?xml version="1.0" encoding="UTF-8"?>' |
|
|
|