bhexpress / bhexpress-api-client
用于通过PHP与BHExpress的Web服务进行集成的客户端。
Requires
- php: ^7.3 || ^8.0
- guzzlehttp/guzzle: ^7
Requires (Dev)
- phpdocumentor/phpdocumentor: ^2.9
- phpunit/phpunit: ^9.2
- vlucas/phpdotenv: ^5.6
This package is auto-updated.
Last update: 2024-09-13 18:02:13 UTC
README
用于通过PHP与BHExpress的Web服务进行集成的客户端。
安装
在终端中执行
$ composer require bhexpress/bhexpress-api-client
使用方法
建议查看测试以获取更多详细信息。此处显示的仅为一个示例,内容非常简略。
use bhexpress\api_client\ApiClient; $Boleta = new ApiClient(); $periodo = '202407'; $url_listar = '/bhe/boletas?periodo='.$periodo; # Buscar algo similar a urlencode $response = self::$client->get($url_listar); echo 'Listado Boletas: '.$response->getBody(); # Resultado del listado $numero_bhe = '3'; # Número de la BHE a convertir $url_pdf = '/bhe/pdf/'.$numero_bhe; $pdf = self::$client->get($url_pdf); file_put_contents('boleta.pdf', $pdf->getBody()); # Función para crear PDF
上述示例展示了获取BHEs的能力,以及在某种情况下将其转换为PDF。
API客户端执行
为了使用此程序及其服务,您需要定义以下环境变量,从命令行控制台开始。在Windows上,操作方式如下:
set BHEXPRESS_API_URL="https://bhexpress.cl" set BHEXPRESS_API_TOKEN="" # aquí el token obtenido en https://bhexpress.cl/usuarios/perfil#token set BHEXPRESS_EMISOR_RUT="" # aquí el RUT del emisor de las BHE
在Linux上,操作方式如下:
export BHEXPRESS_API_URL="https://bhexpress.cl" export BHEXPRESS_API_TOKEN="" # aquí el token obtenido en https://bhexpress.cl/usuarios/perfil#token export BHEXPRESS_EMISOR_RUT="" # aquí el RUT del emisor de las BHE
测试
以下步骤需要以下程序:
- php 7.4
- Composer
- phpunit/phpunit
- vlucas/phpdotenv
- guzzlehttp/guzzle
创建一个名为test.env
的文件,并将定义在test.env-dist
中的环境变量放入其中。
然后,为了执行测试,您需要PHP已激活。有关所需程序的更多信息,请参阅composer.json
。
最后,在cmd、Windows powershell、Linux shell或Apple shell的终端中执行以下命令。从您的项目位置打开终端,然后执行:
./vendor/bin/phpunit --filter test_boleta_listar
此命令执行了一个测试,提取了在特定时间段内发出的所有发票列表。
以下命令属于以下测试:
BoletaListarTest
- 执行一个在
AAAAMM
时间段内获取发票列表的测试。 - 返回:包含所有已发出发票的数组(如果没有在此时间段内发出发票,则为空数组)。
- 要使用的变量:
TEST_LISTAR_PERIODO
./vendor/bin/phpunit --filter test_boleta_listar
BoletaEmitirTest
- 执行一个向通用收件人发出发票的测试。当测试结束时,请重要地取消此发票。
- 返回:包含已发出发票信息的数组。
- 要使用的变量:
BHEXPRESS_EMISOR_RUT
,TEST_EMITIR_FECHAEMIS
./vendor/bin/phpunit --filter test_boleta_emitir
BoletaPdfTest
- 执行一个将现有发票转换为PDF的测试。
- 返回:用于创建PDF的字节。
- 要使用的变量:
TEST_PDF_NUMEROBHE
./vendor/bin/phpunit --filter test_boleta_pdf
BoletaEmailTest
- 执行一个将现有BHE通过电子邮件发送到收件人的测试。
- 返回:确认已将电子邮件发送到指定地址的响应。
- 要使用的变量:
TEST_EMAIL_NUMEROBHE
,TEST_EMAIL_CORREO
./vendor/bin/phpunit --filter test_boleta_email
BoletaAnularTest
- 执行一个取消有效BHE的测试。
- 返回:已取消的BHE标题。
- 要使用的变量:
TEST_ANULAR_NUMEROBHE
执行此测试时,应有一个自己的活动发票,但您希望取消。
./vendor/bin/phpunit --filter test_boleta_anular
这四个命令的基本操作是
- 使用Composer安装BHExpress PHP客户端。
- 将示例复制到新创建的项目的基本目录中。
- 进入新复制的示例目录。
- 使用PHP执行
001-boletas_listado.php
示例。
有了这个,您可以看到定义的示例期间所发出的所有票单列表。
以下是一个视频,展示了前面描述的步骤执行过程。
许可证
本程序是自由软件:您可以按照自由软件基金会发布的GNU Lesser General Public License (LGPL)的条款重新分发和/或修改它,无论是许可证的第3版,还是(根据您的选择)该许可证的任何后续版本。
本程序分发时希望它能有用,但没有任何保证;甚至没有商业保证或针对特定目的的适用性保证。有关GNU Lesser General Public License (LGPL)的详细信息,请参阅该许可证。
您应该已经随本程序收到了GNU Lesser General Public License (LGPL)的副本。如果没有,请参阅GNU Lesser General Public License。