csfacturacion / descarga-ciec-php
用于通过CIEC与CSFacturacion的批量下载服务交互的简单API
v1.0.0
2024-09-11 17:12 UTC
Requires
- php: ^8.1
- symfony/http-client: ^6.4
Requires (Dev)
- ramsey/devtools: ^2.0
- dev-main
- v1.0.0
- dev-dependabot/github_actions/actions/checkout-4.2.0
- dev-dependabot/github_actions/ridedott/merge-me-action-2.10.106
- dev-dependabot/github_actions/github/codeql-action-3
- dev-dependabot/github_actions/shivammathur/setup-php-2.31.1
- dev-dependabot/github_actions/actions/checkout-4.1.7
- dev-dependabot/github_actions/ramsey/composer-install-3.0.0
- dev-dependabot/github_actions/codecov/codecov-action-4.5.0
- dev-dependabot/github_actions/ridedott/merge-me-action-2.10.102
This package is auto-updated.
Last update: 2024-10-01 06:44:14 UTC
README
用于通过CIEC与CSFacturacion的批量下载服务交互的简单API
关于
用于通过CIEC与CSFacturacion的批量下载服务交互的PHP SDK。该SDK易于使用,因为它仅提供两个简单的接口用于下载和查询结果。
安装
使用Composer将此包作为依赖项安装。
composer require csfacturacion/descarga-ciec-php
使用方法
下载
下载非常简单,您可以使用DescargaCiecApi接口进行操作。
<?php 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'))
通过票据(UUID)查询
您可以通过发票的票据号下载XML或元数据。
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')])
获取结果
要获取现有请求的结果,请使用QueryRetrieverApi接口。
查询进度
<?php 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(); }
查询摘要
以下操作只能在查询完成后执行
<?php 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
下载结果
<?php 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);
贡献
欢迎贡献!要贡献力量,请熟悉CONTRIBUTING.md。
协调披露
确保用户信息的安全和保密是我们的首要任务,我们欢迎外部安全研究人员的贡献。如果您认为您在此存储库维护的软件中发现了安全问题,请阅读SECURITY.md以获取提交漏洞报告的说明。
版权和许可
csfacturacion/descarga-ciec-php版权所有© CSFacturacion,许可协议为MIT许可(MIT)。有关更多信息,请参阅LICENSE。