def get_invoice_status(self,factura,compania): """ Método para enviar la factura al sii @param factura recibe el objeto de la factura @param compania recibe el objeto compañia @return dict con la respuesta """ try: sii_sdk = SII_SDK() seed = sii_sdk.getSeed() try: sign = sii_sdk.signXml(seed, compania, compania.pass_certificado) token = sii_sdk.getAuthToken(sign) if(token): print(token) estado = sii_sdk.checkDTEstatus(compania.rut,factura.track_id,token) return {'estado':True,'status':estado['estado'],'glosa':estado['glosa']} else: return {'estado':False,'msg':'No se pudo obtener el token del sii'} except Exception as e: print(e) return {'estado':False,'msg':'Ocurrió un error al firmar el documento'} return {'estado':True} except Exception as e: print(e) return {'estado':False,'msg':'Ocurrió un error al comunicarse con el sii'}
def send_invoice_sii(self,compania,invoice, pass_certificado): """ Método para enviar la factura al sii @param compania recibe el objeto compañia @param invoice recibe el xml de la factura @param pass_certificado recibe la contraseña del certificado @return dict con la respuesta """ try: sii_sdk = SII_SDK(settings.SII_PRODUCTION) seed = sii_sdk.getSeed() try: sign = sii_sdk.signXml(seed, compania, pass_certificado) token = sii_sdk.getAuthToken(sign) if(token): print(token) try: invoice_reponse = sii_sdk.sendInvoice(token,invoice,compania.rut,'60803000-K') return {'estado':invoice_reponse['success'],'msg':invoice_reponse['message'], 'track_id':invoice_reponse['track_id']} except Exception as e: print(e) return {'estado':False,'msg':'No se pudo enviar la factura'} else: return {'estado':False,'msg':'No se pudo obtener el token del sii'} except Exception as e: print(e) return {'estado':False,'msg':'Ocurrió un error al firmar el documento'} return {'estado':True} except Exception as e: print(e) return {'estado':False,'msg':'Ocurrió un error al comunicarse con el sii'}