bhexpress/bhexpress-api-client

用于通过PHP与BHExpress的Web服务进行集成的客户端。

2.0.0 2024-08-02 15:17 UTC

This package is auto-updated.

Last update: 2024-09-13 18:02:13 UTC


README

Total Downloads Monthly Downloads License

用于通过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_RUTTEST_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_NUMEROBHETEST_EMAIL_CORREO
./vendor/bin/phpunit --filter test_boleta_email

BoletaAnularTest

  • 执行一个取消有效BHE的测试。
  • 返回:已取消的BHE标题。
  • 要使用的变量:TEST_ANULAR_NUMEROBHE

执行此测试时,应有一个自己的活动发票,但您希望取消。

./vendor/bin/phpunit --filter test_boleta_anular

这四个命令的基本操作是

  1. 使用Composer安装BHExpress PHP客户端。
  2. 将示例复制到新创建的项目的基本目录中。
  3. 进入新复制的示例目录。
  4. 使用PHP执行001-boletas_listado.php示例。

有了这个,您可以看到定义的示例期间所发出的所有票单列表。

以下是一个视频,展示了前面描述的步骤执行过程。

Video BHExpress

许可证

本程序是自由软件:您可以按照自由软件基金会发布的GNU Lesser General Public License (LGPL)的条款重新分发和/或修改它,无论是许可证的第3版,还是(根据您的选择)该许可证的任何后续版本。

本程序分发时希望它能有用,但没有任何保证;甚至没有商业保证或针对特定目的的适用性保证。有关GNU Lesser General Public License (LGPL)的详细信息,请参阅该许可证。

您应该已经随本程序收到了GNU Lesser General Public License (LGPL)的副本。如果没有,请参阅GNU Lesser General Public License

链接