Пример #1
0
 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'}
Пример #2
0
 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'}