PHP code example of csfacturacion / descarga-ciec-php
1. Go to this page and download the library: Download csfacturacion/descarga-ciec-php library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
csfacturacion / descarga-ciec-php example snippets
use Csfacturacion\Descarga\DescargaCiec;
use Csfacturacion\Descarga\Model\Credenciales;
use Csfacturacion\Descarga\Model\ParametersBuilder;
// credenciales de contratacion CSFacturacion
$descargaCiec = new DescargaCiec(new Credenciales('BBB010101BBB', 'FOO_BAR'));
// construir parametros de consulta con ParamsBuilder
$params = (new ParametersBuilder())
->accesoSat(new Credenciales('AAA010101AAA', 'CIEC'))
->tipoDoc(DocTypeFilter::CFDI) // CFDI convencional
->caso(CaseFilter::RECIBIDAS) // Emitidos
->fechaInicio(new DateTimeImmutable('first day of January 2024')) // mes de enero
->fechaFin(new DateTimeImmutable('last day of January 2024'))
->status(StatusFilter::CANCELADO) // solo los cancelados
->build();
// query contiene todou lo necesario para consultar el estatus y resultados
$query = $descargaCiec->makeQuery($params);
use Csfacturacion\Descarga\DescargaCiec;
use Csfacturacion\Descarga\Model\Credenciales;
use Csfacturacion\Descarga\Model\ParametersBuilder;
use Csfacturacion\Descarga\Model\Uuid;
// credenciales de contratacion CSFacturacion
$descargaCiec = new DescargaCiec(new Credenciales('BBB010101BBB', 'FOO_BAR'));
$query = $descargaCiec->search(new Uuid('a87c1d56-52f3-4680-a5cb-ddddb5786964'))
use Csfacturacion\Descarga\DescargaCiec;
use Csfacturacion\Descarga\Model\Credenciales;
use Csfacturacion\Descarga\Model\ParametersBuilder;
use Csfacturacion\Descarga\Model\Uuid;
// credenciales de contratacion CSFacturacion
$descargaCiec = new DescargaCiec(new Credenciales('BBB010101BBB', 'FOO_BAR'));
$query = $descargaCiec->byFolios([new Uuid('a87c1d56-52f3-4680-a5cb-ddddb5786964')])
use Csfacturacion\Descarga\QueryRetrieverApi;
/**@var QueryRetrieverApi $query */
while (!$query->isFinished()) {
// do something
send_status($query->getProgress()->getStatus(), $channel);
// estatus
$query->getProgress()->getStatus();
// encontrados al momento
$query->getProgress()->getFound();
}
use Csfacturacion\Descarga\QueryRetrieverApi;
/**@var QueryRetrieverApi $query */
$s = $query->getSummary();
// cancelados encontrados
$s->getCancelados();
// total encontrados
$s->getTotal();
// total de páginas para consulta mediante paginacion
$s->getPages();
// ¿Hubo XML que no pudieron ser descargados?
$s->hasMissingXml();
// resultados mediante paginación
use Csfacturacion\Descarga\QueryRetrieverApi;
use Csfacturacion\Descarga\Model\Uuid;
/**@var QueryRetrieverApi $query */
// Descargar todos los XML en un ZIP
$query->asZip(__DIR__ . '/storage/cfdi/foo.zip');
// tambien, puede especificar un callback a la descarga del ZIP
$query->asZip(__DIR__ . '/storage/cfdi/foo.zip', function (int $totalBytes, int $currentBytes, array $extra){
show_progress($totalBytes, $currentBytes);
});
// Mediante Páginacion JSON
if ($query->hasResults()) {
$p = $query->getSummary()->getPages();
for($i = 1; $i <= $p; $i++) {
$cfdiList[] = $query->getResults($i);
}
// hacer algo con los CFDI Meta
}
$toSearch = new Uuid('1ad7605f-4ea6-4a48-b180-baa022220a83');
// Consultar CFDI Individual
$cfdi = $query->getCfdi($toSearch);
// XML Individual
$xml = $query->getXml($toSearch);
bash
composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.