Documentacion WS Solicitud Descarga Masiva

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 20

Documentación del

Servicio de Solicitud
de Descarga Masiva
de CFDI y CFDI de
Retenciones

Fecha: 11 de mayo del 2022

Versión 1.2
Tabla de Contenido
1 Introducción ....................................................................................................... 3

2 Prerrequisitos ..................................................................................................... 3

3 Modo de Uso para Servicios .......................................................................... 3

4 Autenticación para Servicios ........................................................................ 3

5 Servicio Solicitud de Descarga Masiva ..................................................... 9


1 Introducción
El servicio de solicitud de descarga masiva se diseñó para permitir realizar una
petición de descarga de CFDIs o Metadata por emisor y receptor. Esto mediante
un servicio publicado en la página del SAT desde internet, siendo que este
servicio solo puede ser consumido por los emisores y receptores, con lo cual se
protege esta información.

El presente documento contiene la información necesaria para conocer y utilizar


los siguientes elementos que forman parte del Servicio de Solicitud de Descarga
Masiva.

2 Prerrequisitos
Contar con el Certificado de tipo FIEL del emisor o receptor del cual se requiere
la información.

3 Modo de Uso para Servicios


A fin de utilizar los servicios web descritos en el presente documento es necesario
crear el cliente de servicios web correspondiente a partir de la URL del Servicio
y/o la URL del WSDL de acuerdo con las instrucciones de la plataforma desde la
que se vaya a consumir el servicio web.

En la descripción de cada uno de los servicios se proporcionará la URL del servicio


y / o del WSDL para generar el cliente del servicio web.

Para más información acerca de la manera en la que se genera el cliente del


servicio web consulte la documentación de la plataforma desde la que consumirá
el servicio.

Una vez que se creó el cliente, el siguiente paso es verificar el tipo de certificado
a enviar para poder realizar la autenticación y posterior consumo de los servicios.

En el siguiente paso se habla específicamente de cómo realizar dicha


autenticación.

4 Autenticación para Servicios


Adicionalmente, para utilizar los servicios web descritos en el presente
documento es necesario autenticarse ante el servidor de servicios web mediante
un par de llaves proporcionados por el SAT, estas llaves son las correspondientes
al certificado de Firma Electrónica (FIEL).

El tipo de autenticación del servicio cumple con las especificaciones de Web


Services Security v1.0 (WS-Security 2004):

https://www.oasis-open.org/standards#wssv1.0

A continuación, se muestra la parte del WSDL de cada uno de los servicios que
menciona el método de autenticación que se requiere para el consumo de los
servicios:

Servicio Autenticación

A fin de facilitar la autenticación mediante el uso del FIEL, se recomienda utilizar


el almacén local de llaves criptográficas para almacenar y recuperar una llave
para utilizarla posteriormente, a continuación, se muestra un ejemplo de código
en C# de cómo obtener un certificado específico.

Ejemplo:

Una vez seleccionado el certificado a utilizar como medio de autenticación se


tiene que mandar la petición hacia el servicio de autenticación para poder
obtener el token que se requiere para poder usar el servicio de solicitud de
descarga masiva, esto se realiza de la siguiente manera:

Ejemplo

Servicio Autenticación
El código mostrado anteriormente es en C#, pero sirve como ejemplo para
ilustrar como enviar estos certificados a los servicios descritos y poder obtener el
token de autenticación correspondiente.

Ahora se muestra un ejemplo, de cómo se ve una petición hacia el servicio de


autenticación:

Servicio Autenticación

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-
wssecurity-utility-1.0.xsd">

<s:Header>
<ActivityId CorrelationId="c5478a6f-8f27-43f4-bc97-bea17612517c"
xmlns="http://schemas.microsoft.com/2004/09/ServiceModel/Diagnostics">00
000000-0000-0000-0000-000000000000</ActivityId>

<o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-


open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">

<u:Timestamp u:Id="_0">

<u:Created>2022-02-15T19:06:32.002Z</u:Created>

<u:Expires>2022-02-15T19:11:32.002Z</u:Expires>

</u:Timestamp>

<o:BinarySecurityToken u:Id="uuid-726d6583-bb04-4d74-8841-
f0d404dffadb-4" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-
200401-wss-x509-token-profile-1.0#X509v3" EncodingType="http://docs.oasis-
open.org/wss/2004/01/oasis-200401-wss-soap-message-security-
1.0#Base64Binary">MIIG6jCCBNKgAwIBAgIUMzAwMDEwMDAwMDA0MDAw
MDk0MjQwDQYJKoZIhvcNAQELBQAwggErMQ8wDQYDVQQDDAZBQyBVQV
QxLjAsBgNVBAoMJVNFUlZJQ0lPIERFIEFETUlOSVNUUkFDSU9OIFRSSUJVVE
FSSUExGjAYBgNVBAsMEVNBVC1JRVMgQXV0aG9yaXR5MSgwJgYJKoZIhvcN
AQkBFhlvc2Nhci5tYXJ0aW5lekBzYXQuZ29iLm14MR0wGwYDVQQJDBQzcmE
gY2VycmFkYSBkZSBjYWRpejEOMAwGA1UEEQwFMDYzNzAxCzAJBgNVBAYT
Ak1YMRkwFwYDVQQIDBBDSVVEQUQgREUgTUVYSUNPMREwDwYDVQQHD
AhDT1lPQUNBTjERMA8GA1UELRMIMi41LjQuNDUxJTAjBgkqhkiG9w0BCQITFn
Jlc3BvbnNhYmxlOiBBQ0RNQS1TQVQwHhcNMjExMDI5MDEzNTQzWhcNMjU
xMDI5MDEzNTQzWjCCAhAxSTBHBgNVBAMTQFNJTkRJQ0FUTyBERSBDSE9
GRVJFUyBERSBUQVhJUyBZIENPTUJJUyBERUwgU0VSVklDSU8gUFVCTElDT
yBUUkExggEYMIIBFAYDVQQpE4IBC1NJTkRJQ0FUTyBERSBDSE9GRVJFUyBE
RSBUQVhJUyBZIENPTUJJUyBERUwgU0VSVklDSU8gUFVCTElDTyBUUkFOU1
BPUlRJU1RBUyBERSBNQVRFUklBTEVTIFBBUkEgTEEgQ09OU1RSVUNDSU9O
IFNFTUlMTEEgREVMIENBTVBPIFkgRU1QTEVBRE9TIERFIExBIENPTlNUUlVDQ
0lPTiBDT05FWE9TIFkgU0lNSUxBUkVTIERFTCBFU1RBRE8gREUgTUlDSE9BQ
0FOIExJQy4gUk9ET0xGTyBDSUVORlVFR09TIE1BUklOIFNJTiBUSVBPIERFIFN
PQ0lFREFEIFMgQSBCIERFIEMgVjFJMEcGA1UEChNAU0lORElDQVRPIERFIEN
IT0ZFUkVTIERFIFRBWElTIFkgQ09NQklTIERFTCBTRVJWSUNJTyBQVUJMSUN
PIFRSQTElMCMGA1UELRMcQVhUOTQwNzI3RlA4IC8gVkFBRTczMTAyMTEyM
TEeMBwGA1UEBRMVIC8gVkFBRTczMTAyMUhNQ1pMRjAxMRUwEwYDVQQL
EwxBWFQ5NDA3MjdGUDgwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggE
KAoIBAQCSz7GYj9+3USinhhFlu9TwLeFpq6kW9j9aS+3yqxdvYO/CBJvO7QCIx
wwsyVLmkm5bdydEglmIELcJ/yRyytNU62sgIIxC1yKn9WgLkJPw0JTsQPJWO+
wElpuO5cH7e2p/cpaVK5AUQlpb8RnH9cpwBUkXsZsVNKd8NR3547dqGNcIle
c+m20Y744tDnEgZZ+T5E9+cGYOH/aZdnN8gKC/hSRCOlNIbVXKCjJuVTa2GV7
ffhnpVtHrecSHlj5JNH7LGUKj+kjL8rY6DmdmkVe0bja63/Ou7dTAMHHYas1NO
Hly72PPvIT5S0/gMm/i/uSdtTTK8QEie7RDAB3+iGQFAgMBAAGjHTAbMAwGA1
UdEwEB/wQCMAAwCwYDVR0PBAQDAgbAMA0GCSqGSIb3DQEBCwUAA4IC
AQBeTqiXE4ikT+t69VcIEqV69O+EOHa92wqwcZN8LHcGc1mwEPlwoKeD3yy9
AxH+Dr+mE/2DbjVrPLS9XYONpy/Ll4XU6rQQVP334v4rqi43GS+RLnoVITWrtj0
VKIJmyAwKUmgtT4ZD/BmSrqQ5NP6B/uZuurSlOl05MXmE5M9Evo44/2C595r
QmIM8r50LSj6OWPaWXd4rCf79gID8FFl6aSCnrOu7Gj5p33fugzDL6N99NJ4a
RQdHfWLjGbHWBN3yTlMs22TRuYIilZEPhRogx6jlmOzgBA/70ItMbE1f+SuB7uZ
qYmROZzjLmcsAZ4XbUFXqJ2VvcYuYsKBzjh7Az+X59bCBLD26zOkqGy4jdIjk1l
gbosOWChEQs8ehUi4rpYTOrfX9zl3KBNbN2UmIC2bGEpQI4BOkOF71Vi/AYhP
Fe5wB+8rLgJPu7AURu39UIMPlQM4N8so+1m2sjCFy+R1mAMGMdbtVbUjjfmp
Wmg6slAHENd/hjkmPtOQFZ3SULWwSISS3ak4taQakujIztTO6C1694WB2vXa7
2QHNe9wCoyDytIoq9mhJGusICFACfVVWKyL3S74yE1YNJsHcwgHm76umciaa
dO3ka3hzQ79u+5nhttNwkwuQAnwHCdVM0SE/3ptjFoyYRQ7BzNzWx6YQSI3K
459miVfvhGaF7g==</o:BinarySecurityToken>

<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">

<SignedInfo>

<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-
exc-c14n#"/>

<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-
sha1"/>

<Reference URI="#_0">

<Transforms>

<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>

</Transforms>

<DigestMethod
Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>

<DigestValue>PGHeLUNdZvws7kjlTpPPxlY2XGM=</DigestValue>

</Reference>
</SignedInfo>

<SignatureValue>K8vjpiExzxNDvD0hVPQlAXw5LOafN0xNyd6TpT0PF/aiE6wej
LE8iyqk8IEehoKOe6MR3Fz0JKl1ELSkhlNU1RAZ6qQdQpPAP2HNE+hzHoGLitN
ycR30VZ3/aUVvesqNC/KZP+uRp3zPlED9OOO9rqUiN87xChi3yCHXm41cyrDSy
gUyzfIfS+GfseJxSbVBFcKs1AiHRAI8j4ZAhq/tOjjxr4mRYK4nKQ6yRYnIMR3OEls
F27+4b0tCmWUNTLDpys7KG9XRkBZzNRmWIHNgnwSXop+uIPSeZkJmGt081
tn+/EI9TtIBlFb2hBw41hS2Ugf17+ycv0F8mv017eUqgA==</SignatureValue>

<KeyInfo>

<o:SecurityTokenReference>

<o:Reference ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-
200401-wss-x509-token-profile-1.0#X509v3" URI="#uuid-726d6583-bb04-
4d74-8841-f0d404dffadb-4"/>

</o:SecurityTokenReference>

</KeyInfo>

</Signature>

</o:Security>

</s:Header>

<s:Body>

<Autentica xmlns="http://DescargaMasivaTerceros.gob.mx"/>

</s:Body>

</s:Envelope>

Si existe algún error durante la autenticación y no se obtiene el token no se podrá


utilizar los demás servicios; otro punto a considerar es que al consumir los
servicios se validará el token enviado, si este es válido se podrá hacer uso de los
métodos expuestos de cada uno, en caso contrario se mandará una excepción
de autenticación y no se podrá hacer uso del Web Service.
NOTA: El servicio de autenticación descrito en esta sección es el mismo a utilizar
para los servicios de Solicitud de Descarga Masiva, Verificación Descarga
Masiva y Descarga Masiva.

5 Servicio Solicitud de Descarga Masiva


Es un servicio web que permite realizar solicitudes de descarga de CFDIs o
Metadata por un rango de fechas, para que la petición sea aceptada debe ser
realizada por el emisor o receptor de los CFDIs de los cuales se quiere descargar.
Este WS está compuesto por la siguiente operación:

SolicitaDescarga
Esta operación permite solicitar la descarga de CFDIs o Metadata y como
resultado devuelve un id de solicitud o estatus de la petición realizada.

Los parámetros que requiere esta operación son los siguientes:

Parámetro Tipo de Dato Descripción Tipo de


Parámetro
Authorization Header Contiene el token de Entrada
autenticación que se obtuvo en
el servicio correspondiente, se
debe de usar el nombre
“Authorization” y el valor debe
de ser en el siguiente formato
“WRAP access_token="Token"”

Parámetro Obligatorio

FechaInicial DateTime Solo se buscarán CFDI, cuya Entrada


fecha de emisión sea igual o
mayor a la fecha inicial
indicada en este parámetro

Parámetro obligatorio. Este


parámetro no debe declararse
en caso de realizar una
consulta por el folio fiscal
(UUID).

FechaFinal DateTime Solo se buscarán CFDI, cuya Entrada


fecha de emisión sea igual o
menor a la fecha final indicada
en este parámetro
Parámetro obligatorio. Este
parámetro no debe declararse
en caso de realizar una
consulta por el folio fiscal
(UUID).

RfcReceptor Arreglo de Contiene el/los RFCs receptores Entrada


Rfc’s de los cuales se quiere
consultar los CFDIs

Importante: El campo
RfcReceptor, únicamente
permite la captura de 5
registros como máximo.
RfcEmisor String Contiene el RFC del emisor del Entrada
cual se quiere consultar los
CFDI.

Parámetro obligatorio. Este


parámetro no debe declararse
en caso de realizar una
consulta por el folio fiscal
(UUID).

RfcSolicitante String Contiene el RFC del que está Entrada


realizando la solicitud de
descarga.

Parámetro obligatorio. Este


parámetro no debe declararse
en caso de realizar una
consulta por el folio fiscal
(UUID). Adicionalmente debe
corresponder al parámetro
RfcEmisor

TipoSolicitud TipoDescarga Define el tipo de descarga: Entrada


MasivaTercero • Metadata
s • CFDI
TipoComprobant TipoComprob Define el tipo de comprobante: Entrada
e ante • Null
• I = Ingreso
• E = Egreso
• T= Traslado
• N = Nomina
• P = Pago

*Null es el valor
predeterminado y en caso de
no declararse, se obtendrán
todos los comprobantes sin
importar el tipo comprobante.
EstadoComproba EstadoCompr Define el estado del Entrada
nte obante comprobante:
• Null
• 0 = Cancelado
• 1 = Vigente

* Null es el valor
predeterminado y en caso de
no declararse, se obtendrán
todos los comprobantes sin
importar el estado de los
mismos.

Consideraciones
• Para efectos de la
información de la
metadata, el listado
incluirá los
comprobantes vigentes
y cancelados
• En el caso para la
descarga de XML, solo
incluirán los CFDI
vigentes. Por lo que, el
servicio no descargará
XML cancelados.

RfcACuentaTerce String Contiene el RFC del a cuenta a Entrada


ros tercero del cual se quiere
consultar los CFDIs
Complemento Complement Define el complemento de Entrada
o CFDI a descargar:
• Null
• acreditamientoieps10
• aerolíneas
• cartaporte10
• cartaporte20
• certificadodedestruccion
• cfdiregistrofiscal
• comercioexterior10
• comercioexterior11
• comprobante
• consumodecombustible
s
• consumodecombustible
s11
• detallista
• divisas
• donat11
• ecc11
• ecc12
• gastoshidrocarburos10
• iedu
• implocal
• ine11
• ingresoshidrocarburos
• leyendasfisc
• nomina11
• nomina12
• notariospublicos
• obrasarteantiguedades
• pagoenespecie
• pagos10
• pagos20
• pfic
• renovacionysustitucionv
ehiculos
• servicioparcialconstrucci
on
• spei
• terceros11
• turistapasajeroextranjero
• valesdedespensa
• vehiculousado
• ventavehiculos11

Define el complemento de
CFDI de Retenciones a
descargar:
• Null
• arrendamientoenfideico
miso
• dividendos
• enajenaciondeacciones
• fideicomisonoempresari
al
• intereses
• intereseshipotecarios
• operacionesconderivado
s
• pagosaextranjeros
• planesderetiro
• planesderetiro11
• premios
• retencionpago1
• sectorfinanciero
• serviciosplataformastecn
ologicas10

* Null es el valor
predeterminado y en caso de
no declararse, se obtendrán
todos los comprobantes sin
importar el complemento
asociado a los comprobantes.
UUID String Folio Fiscal con formato: Entrada
XXXXXXXX-XXXX-XXXX-XXXX-
XXXXXXXXXXXX

Parámetro obligatorio. En
caso de utilizarse este
parámetro no deben declararse
los siguientes criterios de
búsqueda: FechaInicial,
FechaFinal, RfcEmisor y
RfcSolicitante.

Signature SignatureTyp Firma de la petición realizada Entrada


e con el certificado de tipo FIEL

Parámetro obligatorio. La
petición debe ordenarse
alfabéticamente para que
pueda realizarse
correctamente la validación de
la firma.

Atributos:

1. Complemento
2. EstadoComprobante
3. FechaInicial
4. FechaFinal
5. Folio
6. RfcACuentaTerceros
7. RfcEmisor
8. RfcSolicitante
9. TipoComprobante
10. TipoSolicitud

Nota: Se anexa un ejemplo del


ordenamiento de petición.

IdSolicitud String Contiene el resultado de la Salida


petición con el código de
respuesta y los UUID de los
CFDIs de los cuales se solicitó la
descarga, pero se encuentran
en espera de una confirmación
por parte del receptor.
CodEstatus String Código de estatus de la Salida
solicitud
Mensaje String Pequeña descripción del Salida
código estatus
Ejemplo de petición a la operación SolicitaDescarga del servicio Solicitud
descarga masiva

POST https://srvsolicituddescargamaster.cloudapp.net/SolicitaDescargaService.svc
HTTP/1.1
Content-Type: text/xml; charset=utf-8
Authorization: WRAP
access_token="eyJhbGciOiJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWct
bW9yZSNobWFjLXNoYTI1NiIsInR5cCI6IkpXVCJ9.eyJuYmYiOjE2NDQ5NTIxNDUsImV4c
CI6MTY0NDk1Mjc0NSwiaWF0IjoxNjQ0OTUyMTQ1LCJpc3MiOiJMb2FkU2VydmljaW9EZ
WNhcmdhTWFzaXZhVGVyY2Vyb3MiLCJhY3RvcnQiOiIzMzMwMzAzMDMxMzAzMDMw
MzAzMDMwMzQzMDMwMzAzMDM5MzQzMjM0In0.PwdwCKKTXMNhM8bgqK10X6nk
RseHFYnZJAEOem3JDuc&wrap_subject=33303030313030303030303430303030393432
34"
SOAPAction:
"http://DescargaMasivaTerceros.sat.gob.mx/ISolicitaDescargaService/SolicitaDescarga"
Host: srvsolicituddescargamaster.cloudapp.net
Content-Length: 4546
Expect: 100-continue
Accept-Encoding: gzip, deflate

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<ActivityId CorrelationId="806aad0d-ef46-443b-9741-040c8e8e8c7d"
xmlns="http://schemas.microsoft.com/2004/09/ServiceModel/Diagnostics">e906cfb4-
f706-43de-94d0-5cc935be1aaa</ActivityId>
</s:Header>
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SolicitaDescarga xmlns="http://DescargaMasivaTerceros.sat.gob.mx">
<solicitud FechaInicial="2021-12-01T13:08:16" FechaFinal="2022-02-14T13:08:16"
RfcEmisor="AXX000715FF0" RfcSolicitante=" AXX000715FF0" TipoSolicitud="Metadata"
RfcACuentaTerceros="">
<RfcReceptores>
<RfcReceptor/>
</RfcReceptores>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-
20010315"/>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<Reference URI="">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-
signature"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue>WP/ApEV5Cs4Xb9AIIJRpgrV6Nm0=</DigestValue>
</Reference>
</SignedInfo>

<SignatureValue>KaVteVPeK4PbyREmcdvj+hiIpHFcS+UYN6NKD8mHhFjnx97VKaNyt
uQIcqJBxmr6wyjMTSwYQqhjWGJmzf7wfZZGOVVBgQ2WCQTXSc+kXseHi1JFDOtXUaN
5xvWoF83yPpBkTZrBaLLiDHveh51lRJ06L0zx+A8aImojnNeusVa1jSTnDb1gczh1V/9WJXZ
b1eVVRoBR0REdOsWGaP60zYyz0iPqlRZ1s74x4pI3hcYNO60o1pwjPZYF3v0EX1h9T1Zf/C
yvyYcu9tq1d5QQBhhhLVICaVK0kVNnm8Y/A0stifpqL2+zNCTs/Q7bI3PO4WhbGNBcdxL
xIrAP7oa5+A==</SignatureValue>
<KeyInfo>
<X509Data>
<X509IssuerSerial>
<X509IssuerName>OID.1.2.840.113549.1.9.2=responsable: ACDMA-SAT,
OID.2.5.4.45=2.5.4.45, L=COYOACAN, S=CIUDAD DE MEXICO, C=MX, PostalCode=06370,
STREET=3ra cerrada de cadiz, E=oscar.martinez@sat.gob.mx, OU=SAT-IES Authority,
O=SERVICIO DE ADMINISTRACION TRIBUTARIA, CN=AC UAT</X509IssuerName>

<X509SerialNumber>292233162870206001759766198444326234574155952689</X509Se
rialNumber>
</X509IssuerSerial>

<X509Certificate>MIIHLTCCBRWgAwIBAgIUMzAwMDEwMDAwMDA0MDAwMDk0MjE
wDQYJKoZIhvcNAQELBQAwggErMQ8wDQYDVQQDDAZBQyBVQVQxLjAsBgNVBAoM
JVNFUlZJQ0lPIERFIEFETUlOSVNUUkFDSU9OIFRSSUJVVEFSSUExGjAYBgNVBAsMEV
NBVC1JRVMgQXV0aG9yaXR5MSgwJgYJKoZIhvcNAQkBFhlvc2Nhci5tYXJ0aW5lekBzYX
QuZ29iLm14MR0wGwYDVQQJDBQzcmEgY2VycmFkYSBkZSBjYWRpejEOMAwGA1UE
EQwFMDYzNzAxCzAJBgNVBAYTAk1YMRkwFwYDVQQIDBBDSVVEQUQgREUgTUVYS
UNPMREwDwYDVQQHDAhDT1lPQUNBTjERMA8GA1UELRMIMi41LjQuNDUxJTAjBgkqh
kiG9w0BCQITFnJlc3BvbnNhYmxlOiBBQ0RNQS1TQVQwHhcNMjExMDI4MjMxNjU1Whc
NMjUxMDI3MjMxNjU1WjCCAiExSTBHBgNVBAMTQFNJTkRJQ0FUTyBERSBDSE9GRVJF
UyBERSBUQVhJUyBZIENPTUJJUyBERUwgU0VSVklDSU8gUFVCTElDTyBUUkExggEY
MIIBFAYDVQQpE4IBC1NJTkRJQ0FUTyBERSBDSE9GRVJFUyBERSBUQVhJUyBZIENPT
UJJUyBERUwgU0VSVklDSU8gUFVCTElDTyBUUkFOU1BPUlRJU1RBUyBERSBNQVRFU
klBTEVTIFBBUkEgTEEgQ09OU1RSVUNDSU9OIFNFTUlMTEEgREVMIENBTVBPIFkgRU1
QTEVBRE9TIERFIExBIENPTlNUUlVDQ0lPTiBDT05FWE9TIFkgU0lNSUxBUkVTIERFTCB
FU1RBRE8gREUgTUlDSE9BQ0FOIExJQy4gUk9ET0xGTyBDSUVORlVFR09TIE1BUklOIF
NJTiBUSVBPIERFIFNPQ0lFREFEIFMgQSBCIERFIEMgVjFJMEcGA1UEChNAU0lORElDQ
VRPIERFIENIT0ZFUkVTIERFIFRBWElTIFkgQ09NQklTIERFTCBTRVJWSUNJTyBQVUJMS
UNPIFRSQTELMAkGA1UEBhMCTVgxGTAXBgkqhkiG9w0BCQEWCmFhQHNhdC5nb2Ix
JTAjBgNVBC0THEFYVDk0MDcyN0ZQOCAvIFZBQUU3MzEwMjExMjExHjAcBgNVBAUT
FSAvIFZBQUU3MzEwMjFITUNaTEYwMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBALVNti0IlTNmBDAymalwfwcsAoU2MAUSzj93sPcgtyttZGJhmRVNoHRGaW
RIMX+I6ExuYPuiAgRJIaUQsSo+uZ8senK/otKrBIZB40be4vT3sW9fw52wn1Gcu+YY5J8dP
7ILZr5cY/XAyWr1cjekLjxK1cHLKlqK8BlyffXqj3Pp9YmcP2gqXXxBWh2WBIyrGsmXvvquB
gYaWe4ihgIxjDtP6EocHhsuEFRpjRRyHlJjpL1xXetO6pQOXH6YZu6dLbXpY3f2KZTr6j5jv
nUDRfWL/mfthicJ1FZ7SjTbUfTO7QuzA8deBfNrizzUdfD5+tZfJmYSKK4gom734Q+YiicC
AwEAAaNPME0wDAYDVR0TAQH/BAIwADALBgNVHQ8EBAMCA9gwEQYJYIZIAYb4Qg
EBBAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMEBggrBgEFBQcDAjANBgkqh
kiG9w0BAQsFAAOCAgEACbCZ6h0HQXrcVhzsMxeuK19e18bD1yjuL4wFCSylp3iNHwun
nufGFGkw24i5Aezlbriji6LJSnUnHgkJzjY6lYaW6068JfJ9QszJuCbR07CPrlly/51hao5nHW
4t7w0vUi70oiSJFMhdqgNsGb89xoN+6nt07n8uiPvP7/Xtf494P7mSQ+Uz5N0dZ+WPdC
RTIyIYDonEVkO5I8WS9/ySzsTiYtMT7e7i/r93VLwIwQ+Yw3rAzDOnxRask2ub8TzqukB69
U8P8M3QEjv/lP/pjtrI5oNfilIx21+TgrmtRv5Ph26Ap4teLyLeYdT3HNWl/j6LWGe4DnMlCX
hsQmxqK88mwKOh4KF78ep7wvI/7M6bvDpDbsf2hKdhBPb79nv6DcmnyaNCWgz0gl
dpFg6CeRuAU0kQkxpZ+3ctFjr3Bq1Z8b4pvDRHmgMrxEnx+FXcEeF8YBIPxqexxFBHc5
TY7SP9n2Tj6K7iyQsYu9wGg7sjk/o65jlfy45pUXq/OEwzxMegnH1bWg9zj1v5vpK2grFAxZ
Ze3wKAGJsbR8IZd5NvvNcgIkjt7mBruAtUNK9z0NUAJGl1gI23Dba0xLlGv0bzz+xwYpBs
97hhB24psPWyjfw4rx45pk9YUhWcDXY3+cc4HTdq0isCroUZUqYzaKVFOQ+qCO+821K
8aUWZrD4=</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
</solicitud>
</SolicitaDescarga>
</s:Body>
</s:Envelope>

En el ejemplo anterior se puede visualizar que la petición va dividida en dos


partes:

• La primera de ellas es el Header que contiene el token de autenticación,


del cual se puede encontrar el detalle en el tema 4 Autenticación para
servicios.
• La segunda es aquella que contiene la petición hacia el servicio con los
parámetros ya establecidos anteriormente, como se mencionó en el
punto de la autenticación esta operación del Web Services solo podrá ser
usada siempre y cuando se haya autenticado de manera exitosa y el
token sea válido en el tiempo que se está intentando consumir.

Ejemplo de respuesta de la operación SolicitaDescarga del servicio Solicitud


descarga masiva

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Vary: Accept-Encoding
Server: Microsoft-IIS/10.0
X-Powered-By: ASP.NET
Date: Tue, 15 Feb 2022 19:09:15 GMT
Content-Length: 418

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SolicitaDescargaResponse
xmlns="http://DescargaMasivaTerceros.sat.gob.mx">
<SolicitaDescargaResult IdSolicitud="fa14c59f-66aa-49ff-b7d3-ee2880390a34"
CodEstatus="5000" Mensaje="Solicitud Aceptada"/>
</SolicitaDescargaResponse>
</s:Body>
</s:Envelope>

En el ejemplo mostrado en la imagen anterior se puede ver que la respuesta


contiene los parámetros de salida mencionados anteriormente.
Ordenamiento de la petición.

Como se puede observar los atributos están ordenados, de acuerdo con el


siguiente ejemplo:

1. FechaInicial
2. FechaFinal
3. RfcEmisor
4. RfcSolicitante
5. TipoSolicitud

<s:Body xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xmlns:xsd=http://www.w3.org/2001/XMLSchema>
<SolicitaDescarga xmlns=http://DescargaMasivaTerceros.sat.gob.mx>
<solicitud FechaInicial="2021-09-01T18:05:09" FechaFinal="2021-09-05T18:05:09"
RfcEmisor="EWE1709045U0" RfcSolicitante="EWE1709045U0" TipoSolicitud="CFDI">
<RfcReceptores>
<RfcReceptor>AAXX610210AA8</RfcReceptor>
<RfcReceptor>AAXE670724123</RfcReceptor>
<RfcReceptor>EAE110925TT0</RfcReceptor>
</RfcReceptores>
<Signature xmlns=http://www.w3.org/2000/09/xmldsig#>
<SignedInfo>
<CanonicalizationMethod Algorithm=http://www.w3.org/TR/2001/REC-xml-c14n-
20010315></CanonicalizationMethod>
<SignatureMethod Algorithm=http://www.w3.org/2000/09/xmldsig#rsa-
sha1></SignatureMethod>
<Reference URI="">
<Transforms>
<Transform Algorithm=http://www.w3.org/2000/09/xmldsig#enveloped-
signature></Transform>
</Transforms>
<DigestMethod
Algorithm=http://www.w3.org/2000/09/xmldsig#sha1></DigestMethod>
<DigestValue></DigestValue>
</Reference>
</SignedInfo>
<SignatureValue></SignatureValue>
<KeyInfo>
<X509Data>
<X509IssuerSerial>
<X509IssuerName>OID.1.2.840.113549.1.9.2=responsable: ACDMA-SAT,
OID.2.5.4.45=2.5.4.45, L=COYOACAN, S=CIUDAD DE MEXICO, C=MX,
PostalCode=06370, STREET=3ra cerrada de cadiz, E=oscar.martinez@sat.gob.mx,
OU=SAT-IES Authority, O=SERVICIO DE ADMINISTRACION TRIBUTARIA, CN=AC
UAT</X509IssuerName>
<X509SerialNumber>292233162870206001759766198444326234574038512185</X509
SerialNumber>
</X509IssuerSerial>
<X509Certificate></X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
</solicitud>
</SolicitaDescarga>
</s:Body>
Nota importante: Las direcciones electrónicas (URL) que se integran en esta
documentación, son solo referencia para la correcta interpretación de los
ejemplos contenidos, por lo que las URL válidas para la implementación del Web
Service, están publicadas en la sección Consulta y Recuperación de
Comprobantes, del apartado de Factura Electrónica en el Portal del SAT.

Evento Mensaje Observaciones

300 Usuario No Válido


301 XML Mal Formado Este código de error se regresa cuando el
request posee información invalida,
ejemplo: un RFC de receptor no valido
302 Sello Mal Formado
303 Sello no corresponde con
RfcSolicitante
304 Certificado Revocado o Caduco El certificado puede ser invalido por
múltiples razones como son el tipo, la
vigencia, etc.
305 Certificado Inválido El certificado puede ser invalido por
múltiples razones como son el tipo, la
vigencia, etc.
5000 Solicitud de descarga recibida con
éxito
5001 Tercero no autorizado El solicitante no tiene autorización de
descarga de xml de los contribuyentes
5002 Se han agotado las solicitudes de Se ha alcanzado el límite de solicitudes,
por vida con el mismo criterio
5005 Ya se tiene una solicitud registrada Ya existe una solicitud activa con los
mismos criterios
5006 Error interno en el proceso

También podría gustarte