Full width home advertisement

Facturacion CFDi

CFDi en Java

Post Page Advertisement [Top]

Codigo fuente Descarga Masiva Cfdi 


descarga masiva cfdi sat

 

//incluir la libreria de descarga masiva
    require_once 'apidescargarmasiva/Utils.php';
    require_once 'apidescargarmasiva/SolicitudAutorizacionDescXml.php';
    require_once 'apidescargarmasiva/SolicitudIDDescXml.php';
    require_once 'apidescargarmasiva/SolicitudVerificacionDescarga.php';
    require_once 'apidescargarmasiva/DescargarXmlMasiva.php';



    /******* SOLICITUD DE AUTORIZACION PARA DESCARGA MASIVA ************/

    $respuestaAutorizacion = solicita_autorizacion_descarga_xml($cert,$key);
  
    $token_autorizacion=$respuestaAutorizacion['token'];
    if($token_autorizacion == null)
    {
        //guardar el error de la descarga y su mensaje
        $metodo='AUTORIZACION';
        $respuestaAutorizacion['servidor']='SERVIDOR DE AUTORIZACION DE DESCARGA';
        $respuestaAutorizacion['mensaje']='No se genero el token de autorizacion';
        $mensaje_error=json_encode($respuestaAutorizacion);

        exit;
    }

    
    /******************* HACER SOLICITUD DE DESCARGA MASIVA ******************/
   
    $receptor['1']=$rfc_receptor;
    //$receptor['2']="XXX000000XXX";
    //$receptor['3']="AAA000000AAA";
    //$receptor['4']="BBB000000BBB";
    //$receptor['5']="";
    $RfcReceptor[]=$receptor;
    $solicitud['RfcSolicitante']=$rfc_solicitante;
    $solicitud['cert']=$cert;
    $solicitud['key']=$key;
    $solicitud['token_autorizacion']=$token_autorizacion;
    $solicitud['fechaInicial']=$fecha_inicio .'T00:00:00';
    $solicitud['fechaFinal']=$fecha_fin.'T11:59:59';
    $solicitud['TipoSolicitud']=$tipo_solicitud;             // CFDI //Define el tipo de descarga:  Metadata o CFDI
    $solicitud['RfcReceptor']=$RfcReceptor;
    $solicitud['RfcEmisor']=$rfc_emisor;                    //Este parámetro no debe declararse en caso de realizar una consulta por el folio fiscal (UUID).
    $solicitud['TipoComprobante']=$tipo_comprobante;        //Define el tipo de comprobante: 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.
    $solicitud['EstadoComprobante']=$estado_comprobante;    //NO DESCARGA LOS CANCELADOS, ERROR DEL WEB SERVICE DEL SAT //Define el estado del 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
    $solicitud['RfcACuentaTerceros']=$RfcACuentaTerceros;   // NO ESTA IMPLEMENTADO
    $solicitud['Complemento']=$Complemento;        //FUNCIONA, PERO NO ESTA IMPLEMEENTADO // Define el complemento de CFDI a descargar, Null es el valor predeterminado
    $solicitud['UUID']=$UUID;                    //NO FUNCIONA EN EL WEB SERVICE DEL SAT //En caso de utilizarse este parámetro no deben declararse los siguientes criterios de búsqueda: FechaInicial, FechaFinal, RfcEmisor y RfcSolicitante.
    
    $respuestaSolicitud = solicita_descarga_xml($solicitud);
    $idSolicitud = $respuestaSolicitud['IdSolicitud'];
    $CodEstatus = $respuestaSolicitud['CodEstatus'];
    $Mensaje = $respuestaSolicitud['Mensaje'];
    if($CodEstatus != 5000)
    {
        
        $metodo='SOLICITUD';
        $respuestaSolicitud['servidor']='SERVIDOR DE SOLICITUD DE DESCARGA';
        $respuestaSolicitud['mensaje']='No se genero la Solicitud';
        $mensaje_error=json_encode($respuestaSolicitud);
        exit;
        
        
    }else{
         
    
    }    
    
 
    /***********     VERIFICACION DE LA SOLICITUD DE DESCARGA MASIVA  **************/
    $verificacion['token_autorizacion']=$token_autorizacion;
    $verificacion['cert']=$cert;
    $verificacion['key']=$key;
    $verificacion['RfcSolicitante']=$rfc_solicitante;
    $verificacion['IdSolicitud']= $idSolicitud;
    $respuestaVerificacion = solicita_verificacion_descarga_xml($verificacion);
    $respuestaVerificacion = json_decode( json_encode($respuestaVerificacion), true);
    $EstadoSolicitud = $respuestaVerificacion['EstadoSolicitud'];
    $CodEstatusVerificacion = $respuestaVerificacion['CodEstatus'];
    $Mensaje = $respuestaVerificacion['Mensaje'];
    $CodigoEstadoSolicitud = $respuestaVerificacion['CodigoEstadoSolicitud'];
    $NumeroCFDIs = $respuestaVerificacion['NumeroCFDIs'];
    $idPaquete = $respuestaVerificacion['idPaquete'];

    if($CodigoEstadoSolicitud != 5000)
    {
        //guardar el error de la descarga y su mensaje
        $metodo='VERIFICACION';
        $respuestaVerificacion['servidor']='SERVIDOR DE VERIFICACION DE DESCARGA';
        $respuestaVerificacion['mensaje']='No se verifico el paquete de descarga';

        exit;
    }else{
        
        /*Estados de la solicitud:
            • Aceptada=1
            • En Proceso=2
            • Terminada=3
            • Error=4
            • Rechazada=5
            • Vencida= 6          */
        
        if($EstadoSolicitud == 1)
        {    
            $metodo='VERIFICACION';
            $respuestaVerificacion['servidor']='SERVIDOR DE VERIFICACION DE DESCARGA';
            $respuestaVerificacion['mensaje']='Solicitud: Aceptada';

            exit;
        }
        if($EstadoSolicitud == 2)
        {    
            $metodo='VERIFICACION';
            $respuestaVerificacion['servidor']='SERVIDOR DE VERIFICACION DE DESCARGA';
            $respuestaVerificacion['mensaje']='Solicitud: En Proceso';
            $mensaje_error=json_encode($respuestaVerificacion);

            exit;
        }
        if($EstadoSolicitud == 4)
        {    
            $metodo='VERIFICACION';
            $respuestaVerificacion['servidor']='SERVIDOR DE VERIFICACION DE DESCARGA';
            $respuestaVerificacion['mensaje']='Solicitud: Error';
            $mensaje_error=json_encode($respuestaVerificacion);

            exit;
        }
        if($EstadoSolicitud == 5)
        {    
            $metodo='VERIFICACION';
            $respuestaVerificacion['servidor']='SERVIDOR DE VERIFICACION DE DESCARGA';
            $respuestaVerificacion['mensaje']='Solicitud: Rechazada';

            exit;
        }
        if($EstadoSolicitud == 6)
        {    
            $metodo='VERIFICACION';
            $respuestaVerificacion['servidor']='SERVIDOR DE VERIFICACION DE DESCARGA';
            $respuestaVerificacion['mensaje']='Solicitud: Vencida';

            exit;
        }
        
        if($EstadoSolicitud == 3)
        {
            //TERMINO LA VERIFICACION , GUARDAR EL IDPAQUETE Y LA CANTIDAD DE CFDI
            // ------  AQUI NO ES ERROR, SOLO GUARDO EL MENSAJE COMO RESPUESTA DEL SAT
            $metodo='VERIFICACION';
            $respuestaVerificacion['servidor']='SERVIDOR DE VERIFICACION DE DESCARGA';
            $respuestaVerificacion['mensaje']='Solicitud: termida y correcta';

        }
    }
    

    
    
    /****   DESCARGAR LOS XML EN UN ZIP *************/
    
    $descargar['token_autorizacion']=$token_autorizacion;
    $descargar['cert']=$cert;
    $descargar['key']=$key;
    $descargar['RfcSolicitante']=$rfc_solicitante;
    $descargar['idPaquete']= $idPaquete;
    $respuestaDescargaXml = DescargarXmlMasiva($descargar);
    $respuestaDescargaXml = json_decode( json_encode($respuestaDescargaXml), true);
    $paquete=$respuestaDescargaXml['Paquete'];
    

    if($paquete == null)
    {


        $metodo='DESCARGA';
        $respuestaDescargaXml['servidor']='SERVIDOR DE DESCARGA';
        $respuestaDescargaXml['mensaje']='No se descargo el paquete';

        exit;
    }else{
        
        // CREAR CARPETA DE ARCHIVOS
   
        $carpeta = "descargas/$rfc_solicitante/$ano/$mes/$dia";
        // Verificar si la carpeta existe, si no, crearla con permisos adecuados
        if (!is_dir($carpeta)) {
            mkdir($carpeta, 0777, true); // true permite crear subdirectorios recursivamente
        }
        
        $ruta_archivo="$carpeta/".$idPaquete.".zip";
        saveBase64File($paquete,$ruta_archivo);
        
        $metodo='DESCARGA';
        $respuestaDescargaXml['servidor']='SERVIDOR DE DESCARGA';
        $respuestaDescargaXml['mensaje']='Se completo la descarga del paquete';

        exit;
    }

 

 

 

 

Algunos de nuestros servicios:

descarga masiva cfdi sat

No hay comentarios:

Publicar un comentario

Bottom Ad [Post Page]

| Designed by Colorlib