@@ -26,7 +26,7 @@ ___________________
2626 response = sat_service.recover_comprobante_emitted_request(
2727 fecha_inicial = date(2020 , 1 , 1 ),
2828 fecha_final = date(2020 , 12 , 1 ),
29- rfc_receptor = sat_service.signer.rfc,
29+ rfc_emisor = sat_service.signer.rfc,
3030 tipo_solicitud = TipoDescargaMasivaTerceros.CFDI ,
3131 estado_comprobante = EstadoComprobante.VIGENTE , # VIGENTE es obligatorio para descarga de CFDI
3232 )
@@ -100,4 +100,49 @@ ___________________
100100 else :
101101 # volver a intentar más tarde
102102 pass
103-
103+
104+ Descarga CFDI por UUID
105+ ___________________
106+
107+ .. code-block :: python
108+
109+ import base64
110+
111+ from satcfdi.models import Signer
112+ from satcfdi.pacs.sat import SAT , EstadoSolicitud
113+
114+ # Load Fiel
115+ signer = Signer.load(
116+ certificate = open (' csd/xiqb891116qe4.cer' , ' rb' ).read(),
117+ key = open (' csd/xiqb891116qe4.key' , ' rb' ).read(),
118+ password = open (' csd/xiqb891116qe4.txt' , ' r' ).read()
119+ )
120+
121+ sat_service = SAT(
122+ signer = signer
123+ )
124+
125+ # Facturas por UUID
126+ response = sat_service.recover_retencion_uuid_request(
127+ folio = " 31764278-d091-417f-83aa-063239e7773b"
128+ )
129+
130+ # Almacenar el id_solicitud en algún lugar
131+ id_solicitud = response[' IdSolicitud' ]
132+
133+ # Revisar estado de descarga
134+ response = sat_service.recover_comprobante_status(id_solicitud)
135+
136+ est = response[" EstadoSolicitud" ]
137+ if est == EstadoSolicitud.TERMINADA :
138+ for id_paquete in response[' IdsPaquetes' ]:
139+ response, paquete = sat_service.recover_comprobante_download(
140+ id_paquete = id_paquete
141+ )
142+ paquete = base64.b64decode(paquete)
143+ with open (f " { id_paquete} .zip " , " wb" ) as f:
144+ f.write(paquete)
145+ else :
146+ # volver a intentar más tarde
147+ pass
148+
0 commit comments