Skip to content

Commit dc958e1

Browse files
committed
Fixed Descarga Masiva
1 parent 08313ed commit dc958e1

File tree

3 files changed

+94
-29
lines changed

3 files changed

+94
-29
lines changed

satcfdi/pacs/sat.py

Lines changed: 91 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -248,18 +248,6 @@ def todatetime(name):
248248
}
249249

250250

251-
class _CFDISolicitaDescarga(_SATRequest):
252-
xml_name = 'solicita.xml'
253-
soap_url = 'https://cfdidescargamasivasolicitud.clouda.sat.gob.mx/SolicitaDescargaService.svc'
254-
soap_action = 'http://DescargaMasivaTerceros.sat.gob.mx/ISolicitaDescargaService/SolicitaDescarga'
255-
solicitud_xpath = '{*}Body/{*}SolicitaDescarga/{*}solicitud'
256-
257-
def process_response(self, response: etree.Element):
258-
res = response.find('{*}Body/{*}SolicitaDescargaResponse/{*}SolicitaDescargaResult')
259-
return {
260-
**res.attrib
261-
}
262-
263251
class _CFDISolicitaDescargaEmitidos(_SATRequest):
264252
xml_name = 'solicitaEmitidos.xml'
265253
soap_url = 'https://cfdidescargamasivasolicitud.clouda.sat.gob.mx/SolicitaDescargaService.svc'
@@ -351,15 +339,18 @@ def respuesta(node):
351339
class _RetenAutenticacion(_CFDIAutenticacion):
352340
soap_url = 'https://retendescargamasivasolicitud.clouda.sat.gob.mx/Autenticacion/Autenticacion.svc'
353341

342+
class _RetenSolicitaDescargaEmitidos(_CFDISolicitaDescargaEmitidos):
343+
soap_url = 'https://retendescargamasivasolicitud.clouda.sat.gob.mx/SolicitaDescargaService.svc'
354344

355-
class _RetenSolicitaDescarga(_CFDISolicitaDescarga):
345+
class _RetenSolicitaDescargaRecibidos(_CFDISolicitaDescargaRecibidos):
356346
soap_url = 'https://retendescargamasivasolicitud.clouda.sat.gob.mx/SolicitaDescargaService.svc'
357347

348+
class _RetenSolicitaDescargaFolio(_CFDISolicitaDescargaFolio):
349+
soap_url = 'https://retendescargamasivasolicitud.clouda.sat.gob.mx/SolicitaDescargaService.svc'
358350

359351
class _RetenVerificaSolicitudDescarga(_CFDIVerificaSolicitudDescarga):
360352
soap_url = 'https://retendescargamasivasolicitud.clouda.sat.gob.mx/VerificaSolicitudDescargaService.svc'
361353

362-
363354
class _RetenDescargaMasiva(_CFDIDescargaMasiva):
364355
soap_url = 'https://retendescargamasiva.clouda.sat.gob.mx/DescargaMasivaService.svc'
365356

@@ -760,18 +751,17 @@ def recover_comprobante_download(self, id_paquete: str) -> (dict, str):
760751
needs_token_fn=self._get_token_comprobante
761752
)
762753

763-
def recover_retencion_request(
754+
def recover_retencion_emited_request(
764755
self,
765-
fecha_inicial: date = None,
766-
fecha_final: date = None,
767-
rfc_receptor: str | Sequence[str] = None,
768-
rfc_emisor: str = None,
756+
fecha_inicial: date | datetime | None = None,
757+
fecha_final: date | datetime | None = None,
758+
rfc_receptor: str | Sequence[str] | None = None,
759+
rfc_emisor: str | None = None,
769760
tipo_solicitud: TipoDescargaMasivaTerceros | str = TipoDescargaMasivaTerceros.CFDI,
770-
tipo_comprobante: TipoDeComprobante | str = None,
771-
estado_comprobante: EstadoComprobante | str = None,
772-
rfc_a_cuenta_terceros: str = None,
773-
complemento: str = None,
774-
uuid: str | UUID = None) -> dict:
761+
tipo_comprobante: TipoDeComprobante | str | None = None,
762+
estado_comprobante: EstadoComprobante | str | None = None,
763+
rfc_a_cuenta_terceros: str | None = None,
764+
complemento: str | None = None) -> dict:
775765
"""
776766
Esta operación permite solicitar la descarga de CFDIs o Metadata y como
777767
resultado devuelve un id de solicitud o estatus de la petición realizada.
@@ -803,17 +793,92 @@ def recover_retencion_request(
803793
'EstadoComprobante': estado_comprobante,
804794
'RfcACuentaTerceros': rfc_a_cuenta_terceros,
805795
'Complemento': complemento,
806-
'Folio': uuid,
807796
}
808797

809798
return self._execute_req(
810-
_RetenSolicitaDescarga(
799+
_RetenSolicitaDescargaEmitidos(
800+
signer=self.signer,
801+
arguments=arguments
802+
),
803+
needs_token_fn=self._get_token_retencion
804+
)
805+
806+
def recover_retencion_received_request(
807+
self,
808+
fecha_inicial: date | datetime | None = None,
809+
fecha_final: date | datetime | None = None,
810+
rfc_receptor: str | None = None,
811+
rfc_emisor: str | None = None,
812+
tipo_solicitud: TipoDescargaMasivaTerceros | str = TipoDescargaMasivaTerceros.CFDI,
813+
tipo_comprobante: TipoDeComprobante | str | None = None,
814+
estado_comprobante: EstadoComprobante | str | None = None,
815+
rfc_a_cuenta_terceros: str | None = None,
816+
complemento: str | None = None) -> dict:
817+
"""
818+
Esta operación permite solicitar la descarga de CFDIs o Metadata y como
819+
resultado devuelve un id de solicitud o estatus de la petición realizada.
820+
821+
:param fecha_inicial: Solo se buscarán CFDI, cuya fecha de emisión sea igual o mayor a la fecha inicial indicada en este parámetro.
822+
Parámetro obligatorio. Este parámetro no debe declararse en caso de realizar una consulta por el folio fiscal (UUID).
823+
:param fecha_final: Solo se buscarán CFDI, cuya fecha de emisión sea igual o menor a la fecha final indicada en este parámetro.
824+
Parámetro obligatorio. Este parámetro no debe declararse en caso de realizar una consulta por el folio fiscal (UUID).
825+
:param rfc_receptor: Contiene el/los RFCs receptores de los cuales se quiere consultar los CFDIs
826+
Importante: El campo RfcReceptor, únicamente permite la captura de 5 registros como máximo
827+
:param rfc_emisor: Contiene el RFC del emisor del cual se quiere consultar los CFDI.
828+
Parámetro obligatorio. Este parámetro no debe declararse en caso de realizar una consulta por el folio fiscal (UUID).
829+
:param tipo_solicitud: Define el tipo de descarga
830+
:param tipo_comprobante: Define el tipo de comprobante
831+
:param estado_comprobante: Define el estado del comprobante
832+
:param rfc_a_cuenta_terceros: Contiene el RFC del a cuenta a tercero del cual se quiere consultar los CFDIs
833+
:param complemento: Define el complemento de CFDI a descargar
834+
:param uuid: Folio Fiscal
835+
:return: respuesta de solicitud de descarga
836+
"""
837+
arguments = {
838+
'FechaFinal': fecha_final,
839+
'FechaInicial': fecha_inicial,
840+
'RfcEmisor': rfc_emisor,
841+
'RfcReceptor': rfc_receptor,
842+
'RfcSolicitante': self.signer.rfc,
843+
'TipoSolicitud': tipo_solicitud,
844+
'TipoComprobante': tipo_comprobante,
845+
'EstadoComprobante': estado_comprobante,
846+
'RfcACuentaTerceros': rfc_a_cuenta_terceros,
847+
'Complemento': complemento,
848+
}
849+
850+
return self._execute_req(
851+
_RetenSolicitaDescargaRecibidos(
811852
signer=self.signer,
812853
arguments=arguments
813854
),
814855
needs_token_fn=self._get_token_retencion
815856
)
816857

858+
def recover_retencion_uuid_request(
859+
self,
860+
folio: str | UUID | None = None) -> dict:
861+
"""
862+
Esta operación permite solicitar la descarga de CFDIs o Metadata y como
863+
resultado devuelve un id de solicitud o estatus de la petición realizada.
864+
865+
:param folio: Folio Fiscal
866+
:return: respuesta de solicitud de descarga
867+
"""
868+
arguments = {
869+
'RfcSolicitante': self.signer.rfc,
870+
'Folio': folio,
871+
}
872+
873+
return self._execute_req(
874+
_RetenSolicitaDescargaFolio(
875+
signer=self.signer,
876+
arguments=arguments
877+
),
878+
needs_token_fn=self._get_token_retencion
879+
)
880+
881+
817882
def recover_retencion_status(self, id_solicitud: str) -> dict:
818883
return self._execute_req(
819884
_RetenVerificaSolicitudDescarga(

tests/test_pac_sat.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
from satcfdi.models import Code
1515
from satcfdi.pacs import Environment
1616
from satcfdi.pacs import TaxpayerStatus
17-
from satcfdi.pacs.sat import _CFDISolicitaDescarga, _CFDIAutenticacion, EstadoSolicitud, TipoDescargaMasivaTerceros
17+
from satcfdi.pacs.sat import _CFDISolicitaDescargaEmitidos, _CFDIAutenticacion, EstadoSolicitud, TipoDescargaMasivaTerceros
1818
from satcfdi.pacs.sat import SAT
1919
from satcfdi.pacs.sat import _get_listado_69b
2020

@@ -133,7 +133,7 @@ def test_sat_service_solicitud():
133133
with mock.patch(f'{module}.pacs.sat.datetime') as m:
134134
m.now = mock.Mock(return_value=datetime(2022, 1, 1))
135135

136-
req = _CFDISolicitaDescarga(
136+
req = _CFDISolicitaDescargaEmitidos(
137137
signer=signer,
138138
arguments={
139139
'FechaFinal': 'FechaFinal',
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<s:Envelope xmlns:des="http://DescargaMasivaTerceros.sat.gob.mx" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Header/><s:Body><des:SolicitaDescarga><des:solicitud FechaFinal="FechaFinal" FechaInicial="FechaInicial" RfcEmisor="RfcEmisor" RfcSolicitante="RfcSolicitante" TipoSolicitud="TipoSolicitud" TipoComprobante="TipoComprobante" EstadoComprobante="EstadoComprobante" RfcACuentaTerceros="RfcACuentaTerceros" Complemento="Complemento" UUID="UUID"><ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><ds:Reference URI=""><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><ds:DigestValue>jlHC1KdCrpb623AhAgVRk3tt8DM=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>NoNRdLzQoM1nU7ENKWH1g5AWNxBlAI/Jho2usnK4fbuVb2ogZaNcZhjWo644uKspTEX6D0cubkIU1LV61FBB8ImkMI6Ut77Tbn22WWaT+u0mVaBDL+S6wBgVbe7gqVYSQ0bQRQBUvtMW0rgpv+Ecu0aYHEN5IgNzGAjWdnfgoBriy2bOa5NTD3GTRhiDJS05DnhmBIhHKdEMjuo1Dpafe1tPUwchhqWh2PEiIjJoCSaOitpN9DBOgSO0qKeL0Spy39dUmAfoD3l+0AxSVaiEeMutb6/ybSY7J6StEk1rKdHDNWDrTsnn1Wjp/VKptVi5B6hvR0mJD7CD/IfnX3uMDw==</ds:SignatureValue><ds:KeyInfo><ds:X509Data><ds:X509IssuerSerial><ds:X509IssuerName>unstructuredName=responsable: ACDMA-SAT,x500UniqueIdentifier=2.5.4.45,L=COYOACAN,ST=CIUDAD DE MEXICO,C=MX,postalCode=06370,street=3ra cerrada de cadiz,emailAddress=oscar.martinez@sat.gob.mx,OU=SAT-IES Authority,O=SERVICIO DE ADMINISTRACION TRIBUTARIA,CN=AC UAT</ds:X509IssuerName><ds:X509SerialNumber>292233162870206001759766198444326234574038446385</ds:X509SerialNumber></ds:X509IssuerSerial><ds:X509Certificate>MIIF1DCCA7ygAwIBAgIUMzAwMDEwMDAwMDA0MDAwMDIzMTEwDQYJKoZIhvcNAQELBQAwggErMQ8wDQYDVQQDDAZBQyBVQVQxLjAsBgNVBAoMJVNFUlZJQ0lPIERFIEFETUlOSVNUUkFDSU9OIFRSSUJVVEFSSUExGjAYBgNVBAsMEVNBVC1JRVMgQXV0aG9yaXR5MSgwJgYJKoZIhvcNAQkBFhlvc2Nhci5tYXJ0aW5lekBzYXQuZ29iLm14MR0wGwYDVQQJDBQzcmEgY2VycmFkYSBkZSBjYWRpejEOMAwGA1UEEQwFMDYzNzAxCzAJBgNVBAYTAk1YMRkwFwYDVQQIDBBDSVVEQUQgREUgTUVYSUNPMREwDwYDVQQHDAhDT1lPQUNBTjERMA8GA1UELRMIMi41LjQuNDUxJTAjBgkqhkiG9w0BCQITFnJlc3BvbnNhYmxlOiBBQ0RNQS1TQVQwHhcNMTkwNTI4MjE1ODQyWhcNMjMwNTI3MjE1ODQyWjCByTEeMBwGA1UEAxMVQkVSRU5JQ0UgWElNTyBRVUVaQURBMR4wHAYDVQQpExVCRVJFTklDRSBYSU1PIFFVRVpBREExHjAcBgNVBAoTFUJFUkVOSUNFIFhJTU8gUVVFWkFEQTELMAkGA1UEBhMCTVgxJTAjBgkqhkiG9w0BCQEWFnBydWViYXNAcHJ1ZWJhcy5nb2IubXgxFjAUBgNVBC0TDVhJUUI4OTExMTZRRTQxGzAZBgNVBAUTElhJUUI4OTExMTZNR1JNWlIwNTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJJLU6Iu3cOyJ14hkh9mjCy3XN5i1M36+60vnwTap8Uv1vQQxJqIB4WK85CSJxujhZE0XY2OT6QPJMQ3kqcuMk8Yz+KptHq51Uhs4jiShI0GGoVUqZ/8qSmY+DnYM/WGvSzuaMMm+cMwgMVYusKHE5FI+K39ht9aSP045KIR84ImnDuVp6DJeUaHEtlqspnQfMvZHfmT71IT7niBJOWYThjmCKMX6Y5tnlng8pOs9hjwHzlpUhVlGRjjUSJjeIZZY66kgbQcpOFCUsoyR2SbOZDMWSqlsXNsRZ5sjICxFrMqZ6GoCzobx7tn6WYisTVvMIvkNHzi8a8idyAMVrDhNb0CAwEAAaNPME0wDAYDVR0TAQH/BAIwADALBgNVHQ8EBAMCA9gwEQYJYIZIAYb4QgEBBAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMEBggrBgEFBQcDAjANBgkqhkiG9w0BAQsFAAOCAgEAFFyKKTbclgM9SellL9BCWusArCHwtERUXnaFzQzVbcXzZ9rrXoiXLo8OCCkE5fT4ig8FcWiH1bkh6ZABQSHKcEEY9ewJWZpD3bA8E7DLHfDHmG1EqRKStajIG1aq3GSvFAetMvJE2epFsWvkO7CkN2hNT9SwsFkBYl+aiCP27LzQ4uD+mXJ6Pg79nD/ayuQDa7RGJ6u5KHY1I66xcpVxOegQr+zolYQ6RfAye6Fk6JxUnYBVXtnsC3GLpB0fMb+53NZGzARVD9/762A3dy3GHlMWs9FVoRN7DBJyNsVSlAodi9ClETC3Tr7WuXIzPZTbu17JEcqgL6Ovrk6L/SLULvhDe89eBmZHGIm5Vaye2X1OeY+CmpKZ0nMzu16+hOhE3ecRTmxHFUCWzyHuH8qyBetiJY64vyHMwgbyqwM3Lk7lEQowhYb4s8vGyJgb0qQoyt0lACbtkM73CwzasPTtxnHZFKzt0C9aYIZvSVQidmK5EbGNh5YWL8tk352Sqjk4yxlZRqH8SkKHoMjPOrTcBJJwzWWQtz9hOl78kLqcYi+TK4ZWvunGXtZqDyQ2omhZBokSAHqUDjcRmOnuMpazF68j8U73Bz2voQtimMJlB/yyT6luFlzUbEK3ckUYBkk0PKxDe/6T7NXj+H4UWhpTivKnrqNWL7qAHLSP1tnmG8s=</ds:X509Certificate></ds:X509Data></ds:KeyInfo></ds:Signature></des:solicitud></des:SolicitaDescarga></s:Body></s:Envelope>
1+
<s:Envelope xmlns:des="http://DescargaMasivaTerceros.sat.gob.mx" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Header/><s:Body><des:SolicitaDescargaEmitidos><des:solicitud FechaFinal="FechaFinal" FechaInicial="FechaInicial" RfcEmisor="RfcEmisor" RfcSolicitante="RfcSolicitante" TipoSolicitud="TipoSolicitud" TipoComprobante="TipoComprobante" EstadoComprobante="EstadoComprobante" RfcACuentaTerceros="RfcACuentaTerceros" Complemento="Complemento" UUID="UUID"><ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><ds:Reference URI=""><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><ds:DigestValue>verTfuczqPYgAAg54lXBRSsivS4=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>WBPn72JOmnwJs8fsTEUU9RuSx4Eu38VHOHOrN2/IadErju2elUJChc3elxZXGi7O8JctsJDC40sWKqE/gh/bi/x6U1uWZ5vBEFPBkcDRxmu+HT1475C1ttkKgI5e5V26F16WAULY54VsKfWKlVrbZmZsmzuDggQlifB/MTKj+VjtUuptV7kZAybrhsrthdvpnOttrgKomfZ3MGvzdV2lQSEYU51x6uo2faxMR7tJHrJ3E1x+wUS8w5Ej+JCNvhseiN01Eq7iZ508M7AdEVuWpKUoS8RUmASJXAdNzbH+CxjJws/tv8TghH7ZdHZWisPrzWcB0NT0ILhJuvevvO+xbQ==</ds:SignatureValue><ds:KeyInfo><ds:X509Data><ds:X509IssuerSerial><ds:X509IssuerName>unstructuredName=responsable: ACDMA-SAT,x500UniqueIdentifier=2.5.4.45,L=COYOACAN,ST=CIUDAD DE MEXICO,C=MX,postalCode=06370,street=3ra cerrada de cadiz,emailAddress=oscar.martinez@sat.gob.mx,OU=SAT-IES Authority,O=SERVICIO DE ADMINISTRACION TRIBUTARIA,CN=AC UAT</ds:X509IssuerName><ds:X509SerialNumber>292233162870206001759766198444326234574038446385</ds:X509SerialNumber></ds:X509IssuerSerial><ds:X509Certificate>MIIF1DCCA7ygAwIBAgIUMzAwMDEwMDAwMDA0MDAwMDIzMTEwDQYJKoZIhvcNAQELBQAwggErMQ8wDQYDVQQDDAZBQyBVQVQxLjAsBgNVBAoMJVNFUlZJQ0lPIERFIEFETUlOSVNUUkFDSU9OIFRSSUJVVEFSSUExGjAYBgNVBAsMEVNBVC1JRVMgQXV0aG9yaXR5MSgwJgYJKoZIhvcNAQkBFhlvc2Nhci5tYXJ0aW5lekBzYXQuZ29iLm14MR0wGwYDVQQJDBQzcmEgY2VycmFkYSBkZSBjYWRpejEOMAwGA1UEEQwFMDYzNzAxCzAJBgNVBAYTAk1YMRkwFwYDVQQIDBBDSVVEQUQgREUgTUVYSUNPMREwDwYDVQQHDAhDT1lPQUNBTjERMA8GA1UELRMIMi41LjQuNDUxJTAjBgkqhkiG9w0BCQITFnJlc3BvbnNhYmxlOiBBQ0RNQS1TQVQwHhcNMTkwNTI4MjE1ODQyWhcNMjMwNTI3MjE1ODQyWjCByTEeMBwGA1UEAxMVQkVSRU5JQ0UgWElNTyBRVUVaQURBMR4wHAYDVQQpExVCRVJFTklDRSBYSU1PIFFVRVpBREExHjAcBgNVBAoTFUJFUkVOSUNFIFhJTU8gUVVFWkFEQTELMAkGA1UEBhMCTVgxJTAjBgkqhkiG9w0BCQEWFnBydWViYXNAcHJ1ZWJhcy5nb2IubXgxFjAUBgNVBC0TDVhJUUI4OTExMTZRRTQxGzAZBgNVBAUTElhJUUI4OTExMTZNR1JNWlIwNTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJJLU6Iu3cOyJ14hkh9mjCy3XN5i1M36+60vnwTap8Uv1vQQxJqIB4WK85CSJxujhZE0XY2OT6QPJMQ3kqcuMk8Yz+KptHq51Uhs4jiShI0GGoVUqZ/8qSmY+DnYM/WGvSzuaMMm+cMwgMVYusKHE5FI+K39ht9aSP045KIR84ImnDuVp6DJeUaHEtlqspnQfMvZHfmT71IT7niBJOWYThjmCKMX6Y5tnlng8pOs9hjwHzlpUhVlGRjjUSJjeIZZY66kgbQcpOFCUsoyR2SbOZDMWSqlsXNsRZ5sjICxFrMqZ6GoCzobx7tn6WYisTVvMIvkNHzi8a8idyAMVrDhNb0CAwEAAaNPME0wDAYDVR0TAQH/BAIwADALBgNVHQ8EBAMCA9gwEQYJYIZIAYb4QgEBBAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMEBggrBgEFBQcDAjANBgkqhkiG9w0BAQsFAAOCAgEAFFyKKTbclgM9SellL9BCWusArCHwtERUXnaFzQzVbcXzZ9rrXoiXLo8OCCkE5fT4ig8FcWiH1bkh6ZABQSHKcEEY9ewJWZpD3bA8E7DLHfDHmG1EqRKStajIG1aq3GSvFAetMvJE2epFsWvkO7CkN2hNT9SwsFkBYl+aiCP27LzQ4uD+mXJ6Pg79nD/ayuQDa7RGJ6u5KHY1I66xcpVxOegQr+zolYQ6RfAye6Fk6JxUnYBVXtnsC3GLpB0fMb+53NZGzARVD9/762A3dy3GHlMWs9FVoRN7DBJyNsVSlAodi9ClETC3Tr7WuXIzPZTbu17JEcqgL6Ovrk6L/SLULvhDe89eBmZHGIm5Vaye2X1OeY+CmpKZ0nMzu16+hOhE3ecRTmxHFUCWzyHuH8qyBetiJY64vyHMwgbyqwM3Lk7lEQowhYb4s8vGyJgb0qQoyt0lACbtkM73CwzasPTtxnHZFKzt0C9aYIZvSVQidmK5EbGNh5YWL8tk352Sqjk4yxlZRqH8SkKHoMjPOrTcBJJwzWWQtz9hOl78kLqcYi+TK4ZWvunGXtZqDyQ2omhZBokSAHqUDjcRmOnuMpazF68j8U73Bz2voQtimMJlB/yyT6luFlzUbEK3ckUYBkk0PKxDe/6T7NXj+H4UWhpTivKnrqNWL7qAHLSP1tnmG8s=</ds:X509Certificate></ds:X509Data></ds:KeyInfo></ds:Signature></des:solicitud></des:SolicitaDescargaEmitidos></s:Body></s:Envelope>

0 commit comments

Comments
 (0)