7 s=....cer (llave pública) y .key (llave privada) de la e.firma para su posterior uso. la...

18

Upload: others

Post on 03-Mar-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 7 S=....cer (llave pública) y .key (llave privada) de la e.firma para su posterior uso. La contraseña de la llave privada es requerida únicamente para propósitos de validación

ESTE DOCUMENTO DESCRIBE EL FUNCIONAMIENTO DEL

WEBSERVICE DE DESCARGA CFDI CON EL CUAL SE PUEDE

REALIZAR LA DESCARGA DE CFDI ’S

O METADATA DEL SAT .

Page 2: 7 S=....cer (llave pública) y .key (llave privada) de la e.firma para su posterior uso. La contraseña de la llave privada es requerida únicamente para propósitos de validación

AUTORIZACIÓN

POR ENCABEZADO HTTP . AUTHORIZATION : BASIC .

OPERACIONES

/SOLICITUDESSERVICE .SVC /GENERARSOLICITUD

GENERA UNA SOLICITUD DE DESCARGA DE CFDI ’S /

METADATA PARA SU POSTERIOR SEGUIMIENTO .

MÉTODO

MÉTODO

MÉTODO

MÉTODO

/SOLICITUDESSERVICE .SVC /VERIF ICARSOLICITUD

VERIF ICA QUE LA SOLICITUD GENERADA PREVIAMENTE

ESTÉ DISPONIBLE PARA SU DESCARGA .

/SOLICITUDESSERVICE .SVC /DESCARGARSOLICITUD

OBTIENE EL ARCHIVO ZIP QUE CONTIENE LOS ARCHIVOS

GENERADOS POR LA SOLICITUD IN IC IAL .

/SOLICITUDESSERVICE .SVC /ALMACENACERKEY

PERMITE ALMACENAR EL PAR DE CLAVES (PÚBLICA Y

PRIVADA ) PARA SU POSTERIOR USO .

GENERAR SOLICITUDEl método sirve para crear una solicitud dedescarga de CFDI’s / Metadata con ciertos parámetros. La respuesta incluyeunidentificador con el que se da posterior seguimiento en el métodoVerificarSolicitud. El request es de tipo SolicitudRequest.

Page 3: 7 S=....cer (llave pública) y .key (llave privada) de la e.firma para su posterior uso. La contraseña de la llave privada es requerida únicamente para propósitos de validación

PARÁMETROS :

Tipo de dato complejo quedescribe al emisor de los

comprobantes.

Nombre Descripción Tipo de dato

Emisor tns:Emisor

Fecha de inicio de los archivossolicitados.

xml:dateTimeFechaInicial

FechaFinal Fecha de fin de los archivossolicitados.

xml:dateTime

TipoSolicitudTipo de dato complejo quedescribe el tipo de solicitud

que está realizando.tns:TipoSolicitud

TipoComprobante

Tipo de dato complejo quedescribe los comprobantes que

se obtendrán en la solicitud.tns:TipoComprobante

Identificador de lasolicitud devuelto por el SAT.

Nombre Descripción Tipo de dato

IdSolicitud xml:string

Tipo de dato complejo quedescribe el resultado a detalle.

tns:ResultadoResultado

Page 4: 7 S=....cer (llave pública) y .key (llave privada) de la e.firma para su posterior uso. La contraseña de la llave privada es requerida únicamente para propósitos de validación

SOLICITUDREQUEST :

Page 5: 7 S=....cer (llave pública) y .key (llave privada) de la e.firma para su posterior uso. La contraseña de la llave privada es requerida únicamente para propósitos de validación

SOLICITUDRESPONSE :

Page 6: 7 S=....cer (llave pública) y .key (llave privada) de la e.firma para su posterior uso. La contraseña de la llave privada es requerida únicamente para propósitos de validación

VERIFICAR SOLICITUD

PARÁMETROS :

Tipo de dato complejoque describe al Emisor de los

comprobantes.

Nombre Descripción Tipo de dato

IdSolicitud xml:stringIdentificador de la

solicitud que devuelve elmétodo GenerarSolicitud.

tns:EmisorEmisor

Identificador de el(los)paquete(s) que resultaron de lasolicitud hecha anteriormente y

devuelto por elSAT.

Nombre Descripción Tipo de dato

xml:ArrayofstringIdPaquete

El método sirve para verificar que está listala descarga de el(los) archivo(s) correspondientes a la solicitud hechaanteriormente. La respuesta puede contener uno o variosidentificadores de paquete, esto depende de cuánta información se deseadescargar, el SAT decide cuántos paquetes habrá de servir posteriormente. El request es de tipo VerificaRequest

Parámetros:La respuesta es de tipo VerificaResponse.

Page 7: 7 S=....cer (llave pública) y .key (llave privada) de la e.firma para su posterior uso. La contraseña de la llave privada es requerida únicamente para propósitos de validación

Tipo de dato complejoque describe el Resultado a

detalle.

Resultado tns:Resultado

VERIF ICAREQUEST :

Page 8: 7 S=....cer (llave pública) y .key (llave privada) de la e.firma para su posterior uso. La contraseña de la llave privada es requerida únicamente para propósitos de validación

VERIF ICARESPONSE :

DESCARGAR SOLICITUDEl método sirve para obtener el paquete quecontiene los archivos devueltos por el SAT y que corresponden a la solicitudhecha previamente. Aunque haya varios paquetes en la solicitud,la descarga se hace individualmente, para ello se necesita cada identificadorde paquete obtenido en la respuesta del método VerificarSolicitud. Sedevuelve una cadenacodificada en base 64 y que representan los bytes de un archivo comprimidozip.

Page 9: 7 S=....cer (llave pública) y .key (llave privada) de la e.firma para su posterior uso. La contraseña de la llave privada es requerida únicamente para propósitos de validación

PARÁMETROS :

Tipo de dato complejoque describe al Emisor de los

comprobantes.

Nombre Descripción Tipo de dato

IdPaquete xml:stringIdentificador del paquete que

devuelve el métodoVerificarSolicitud.

tns:EmisorEmisor

RESPUESTA :

Cadena en formato base64que representa el archivo

comprimido zip que contieneel(los) archivo(s) delpaquete solicitado.

Nombre Descripción Tipo de dato

Resultado

xml:string

Tipo de dato complejoque describe el Resultado a

detalle.

ArchivoBase64

tns:Resultado

El request es de tipo DescargaRequest

El request es de tipo DescargaResponse

Page 10: 7 S=....cer (llave pública) y .key (llave privada) de la e.firma para su posterior uso. La contraseña de la llave privada es requerida únicamente para propósitos de validación

DESCARGAREQUEST

DESCARGARESPONSE

Page 11: 7 S=....cer (llave pública) y .key (llave privada) de la e.firma para su posterior uso. La contraseña de la llave privada es requerida únicamente para propósitos de validación

ALMACENACERKEYEl método permite almacenar el par de archivos.cer (llave pública) y .key (llave privada) de la e.firma para su posterioruso.La contraseña de la llave privada es requeridaúnicamente para propósitos de validación ya que no se almacena en elsistema.

El request es de tipo Emisor.

Page 12: 7 S=....cer (llave pública) y .key (llave privada) de la e.firma para su posterior uso. La contraseña de la llave privada es requerida únicamente para propósitos de validación

RESPUESTA :

TIPOS DE DATOS COMPLEJOS

La respuesta es de tipo Resultado.

Emisor:Este objeto representa a un solicitante. Losdatos de RFC, y archivos de e.firma se combinan para realizar la petición alSAT,por lo tanto deben corresponder ya sea al Emisor o al Receptor de loscomprobantes o Metadata solicitados.

El RFC debe estar previamente registrados enel sistema de Descarga CFDI, losarchivos de la e.firma pueden estar almacenados en Descarga CFDI, encuyo caso no es necesario especificarlos en cada petición.

Page 13: 7 S=....cer (llave pública) y .key (llave privada) de la e.firma para su posterior uso. La contraseña de la llave privada es requerida únicamente para propósitos de validación

El registro federal decontribuyentes del emisorregistrado en el sistema.

Nombre Descripción Tipo de dato

RFC xml:string

Cadena en formato base64que representa el archivo .cer

(llave pública) del emisor.

ArchivoCerBase64

ArchivoKeyBase64Cadena en formato base64

que representa el archivo .key(llave privada) del emisor.

ContrasenaKeyContraseña del archivo .key

del emisor.

NumeroCertificadoNúmero de certificado del

archivo .cer del emisor.

xml:string

xml:string

xml:string

xml:string

ReSULTADO:Este objeto contiene el detalle del resultadode las peticiones, se usa también en las excepciones para especificar lacausadel error.

Page 14: 7 S=....cer (llave pública) y .key (llave privada) de la e.firma para su posterior uso. La contraseña de la llave privada es requerida únicamente para propósitos de validación

Código numéricoidentificador del mensaje de

respuesta.

Nombre Descripción Tipo de dato

Codigo xml:int

Descripción del códigonumérico del mensaje de

respuesta.Mensaje

EsValido Valor si el mensaje derespuesta es correcto o no.

DatosDatos adicionales del

mensaje de respuesta.

xml:string

xml:boolean

xml:ArrayOfKeyValueOfstringanyType

Especifica que la solicitud es paraobtener los archivos XML que

representan los CFDI’s.

Nombre Descripción Tipo de dato

Metadata

Especifica que lasolicitud debe incluir el archivo

TXT con los metadatos quecoinciden con la

solicitud.

xml:enumerationCFDI

xml:enumeration

TipoSolicitudLista con los posibles valores paraespecificar si se trata de una solicitud de CFDI’s o Metadata.

Page 15: 7 S=....cer (llave pública) y .key (llave privada) de la e.firma para su posterior uso. La contraseña de la llave privada es requerida únicamente para propósitos de validación

Especifica que el RFCemisor es el mismo de la

solicitud.

Nombre Descripción Tipo de dato

RecibidasEspecifica que el RFC

emisor es el receptor de lasolicitud.

xml:enumerationEmitidas

xml:enumeration

TipoComprobanteLista con los posibles valores paraespecificar si se trata de una solicitud de CFDI’s / Metadata emitidos orecibidos por el solicitante.

Page 16: 7 S=....cer (llave pública) y .key (llave privada) de la e.firma para su posterior uso. La contraseña de la llave privada es requerida únicamente para propósitos de validación

EXCEPCIONES

FaultException<Resultado>Es un tipo de excepción nativo de WCF, se añade el objeto Resultadocomo detalle.

Page 17: 7 S=....cer (llave pública) y .key (llave privada) de la e.firma para su posterior uso. La contraseña de la llave privada es requerida únicamente para propósitos de validación

MessageSecurityException.Este error sólo ocurre cuando la autenticaciónfalla, ya sea por un usuario inexistente o una contraseña errónea. ExceptionEs el tipo de excepción genérico.

CATÁLOGO DE ERRORES

Los errores contienen un código numérico únicoy un mensaje que sirve como descripción de la causa del error. A continuación se detallan los errores que seobtienen del WebService del SAT. Estos errores corresponden a problemasrelacionados con el procesamiento de la solicitud de descarga.

Usuario No Válido

Código Mensaje Descripción

302 Sello mal formado

300Este código de error se regresa cuando elrequest posee información inválida,ejemplo: un RFC de receptor no válido.

301 XML mal formado

El error se devuelve cuando hay un erroral sellar la petición al SAT usando losarchivos de la e.firma.

303Sello no corresponde

con RfcSolicitanteEl error ocurre cuandoel sello formado no es el mismo que elRFC que se especificó como el solicitante.

304Certificado Revocado

o CaducoEl certificado fue revocado o bien la fechade vigencia expiró

Page 18: 7 S=....cer (llave pública) y .key (llave privada) de la e.firma para su posterior uso. La contraseña de la llave privada es requerida únicamente para propósitos de validación

Certificado Inválido

5001 Tercero no autorizado

305El certificado puede serinválido por múltiples razones como son eltipo, codificación incorrecta, etc.

404 Error no ControladoError genérico, en casode presentarse realizar nuevamente lapetición.

5002Se agotó lassolicitudesde por vida

Para el caso de descargade tipo CFDI, se tiene un límite máximopara solicitudes con los mismosparámetros (Fecha Inicial, Fecha Final,RfcEmisor, RfcReceptor)

5003 Tope máximo

Indica que en base a losparámetros de consulta se estásuperando el tope máximo de CFDI oMetadata, por solicitud de descargamasiva.

5004No se encontró la

informaciónNo se encontró nada para descargar conla información proporcionada.

5005 Solicitud duplicadaEn caso de que ya existauna solicitud vigente con los mismosparámetros (Fecha Inicial, Fecha Final,RfcEmisor, RfcReceptor, TipoSolicitud).

5007 No existe el paquetesolicitado

Este error ocurre cuandose intenta descargar un paquete con unidentificador válido después de 72 horasde haber sido generado.

5008 Máximo de descargaspermitidas

Un paquete solo puededescargarse un total de 2 veces, una vezagotadas, ya no se podrá volver adescargar.