Esta función realiza la verificación del estado de
las peticiones de descarga de información realizadas al SAT previamente
con las funciones correspondientes:
- Solicitud de Metadata de XML Emitidos (VirtualXML_MasivaSolicitaEmitidoMetadata())
- Solicitud de Metadata de XML Recibidos (VirtualXML_MasivaSolicitaRecibidoMetadata())
- Solicitud de descarga masiva de XML Emitidos (VirtualXML_MasivaSolicitaEmitidoXML())
- Solicitud de descarga masiva de XML Recibidos(VirtualXML_MasivaSolicitaRecibidoXML())
Namespace: VirtualXML®
Aplicación: CFDI ver. 3.3
Sintaxis
Parametros
- Usuario
- Tipo: System
String
Nombre del usuario VirtualPAC (el mismo que se utiliza en el portal de asignación de timbres)
Tipo: System String
- Ubicación (ruta y nombre del archivo) del Archivo .CER correspondiente a la FIEL del emisor.
- Tipo: System
String
Ubiación (ruta y nombre del archivo) del Archivo .KEY correspondiente a la FIEL del emisor.
- Tipo: System
String
Password del Archivo .KEY de la FIEL del emisor.
- IdSolicitud
- Tipo: System
String
Parámetro para indicar la IDSOLICITUD obtenida previamente mediante el uso de las funciones de petición. Este valor se encuentra en el archivo .INI que generan las funciones de petición cuando la petición es recibida correctamente por el SAT.
- ArchResultado
- Tipo: System
String
El resultado de la petición será devuelto en un archivo con el formato INI cuyo nombre se debe indicar en este parámetro (indicar la extensión ".INI" en el nombre).
- En este archivo se encuentra un segundo identificador que nos indicara cuantos "paquetes" de información recibimos como resupuesta a la petición en la entrada PAQUETES. Cabe mencionar que, dependiendo del volumen de información obtenida, una sola petición puede generar mas de 1 paquete de información para descarga, el numero de paquete se identifica por los dos ultimos digitos del valor de la entrada:
[VirtualXML]
IDSOLICITUD = fef63edl-1041-402f-b678-b42126b9f66d
PAQUETES = FEF63ED1-1041-402F-B678-B42126B9F66D_01
FUNCTIONCALL = VirtualXML_MasivaSolicitaEmitido
- ArchLog
- Tipo: System
String
Nombre del archivo que guardará la bitácora de la petición (necesario para depurar errores).
- Tipo: System
String
Parmetro sin valor para usos futuros.
Valor retornado:
Tipo: Int32
La función puede devolver los siguientes valores:
- 0 la verificación se realizó con éxito, revise el archivo .INI
para obtener el ID y el numero de paquetes resultado de la petición.
- 1,2 ó 4 petición en proceso de ser atendida, verifique nuevamente mas tarde
- 5 ó 6 La verificación no arroja resultado ya sea porque la solicitud esta vencida o fue rechazada, no es necesario volver a verificar, si lo desea puede generar otra petición nueva con menos datos, quizá reduciendo el rango de fechas de recuperación
- Cualquier otro valor: Errores varios, error de comuncacion, error
de certficados, etc, verifique sus datos y vuelva a verificar mas tarde.
Ejemplo
private void ValidaPeticionDescarga(Int error)
{
// Iniciamos solicitud de XMLs emitidos de todo el año 2020 para todos los receptores
int nResultado = VirtualXML_MasivaSolicitaRecibidoXml("cibertec","archivo.cer","archivo.key","password","","2020-01-01T00:00:00","2020-12-31T23:59:59","Resultado.INI","bitacora.log","");
if ( nResultado != 0 )
{
// Ocurrio un Error
MsgBox("Error en la solicitud de descarga" );
}
else
{
// Todo correcto procede a recuperar el ID de la peticion
MsgBox("Solicitud generada con exito, revise el archivo Resultado.INI para obtener el ID de la peticion" );
// Obtenemos del archivo .INI el identificador de solicitud
// ....
// Procedemos a verificar si la descarga esta lista, suponiendo que el valor en el INI de la entrada IDSOLICITUD = fef63edl-1041-402f-b678-b42126b9f66d
int nVerifica = VirtualXML_MasivaVerifica("cibertec","archivo.cer","archivo.key","password","fef63edl-1041-402f-b678-b42126b9f66d","Verifica.INI","bitacoraverifica.log","");
// Validamos la respuesta
switch ( nVerifica )
{
case 0:
// Se ha verificado la peticion satisfactoriamente
MsgBox("Peticion validada correctamente, revise el archivo Verifica.INI para obtener el listado de paquetes");
break;
case 1:
// Peticion en Proceso
MsgBox("Peticion en proceso de ser atendida, intente mas tarde");
break;
case 2:
// Peticion en Proceso
MsgBox("Peticion en proceso de ser atendida, intente mas tarde");
break;
case 4:
// Peticion en Proceso
MsgBox("Peticion en proceso de ser atendida, intente mas tarde");
break;
case 5;
// Peticion vencida
MsgBox("Su peticion a expirado sin respuesta, genere una nueva solicitud");
break;
case 6:
// Peticion rechazada
MsgBox("Su peticion ha sido rechazada por el SAT, genere una nueva solicitud");
break;
}
}
Veáse También:
VirtualXML_MasivaSolicitaEmitidoMetadata()
VirtualXML_MasivaSolicitaEmitidoXML()
VirtualXML_MasivaSolicitaRecibidoMetadata()
VirtualXML_MasivaSolicitaRecibidoXML()
VirtualXML_MasivaDescarga()