grena/oxatis-api-php-client

Oxatis API 客户端

v1.0.0 2021-06-24 10:19 UTC

README

这是一个适用于任何 Oxatis SaaS 实例的 PHP API 客户端。

Build Status

要求

  • PHP >= 7.4
  • Composer

安装

composer require grena/oxatis-api-php-client

如何使用

在你的项目中,导入 OxatisClientBuilder 并使用你的 Oxatis AppID 和 token 构建客户端

use Heavymind\Oxatis\ApiClient\OxatisClientBuilder;

// Build the Oxatis client with your AppID and Token
$clientBuilder = new OxatisClientBuilder();
$oxatisClient = $clientBuilder->buildAuthenticatedByToken(
    "OXATIS_APP_ID", 
    "OXATIS_TOKEN"
);

现在你可以使用 OxatisClient 来发送请求,例如这里,检索每个税率对应的“国家名称”

use Heavymind\Oxatis\ApiClient\Type\TaxRateGetList;
use Heavymind\Oxatis\ApiClient\Type\TaxRateEntity;

$response = $oxatisClient->getTaxRateServices()->taxRateGetList(
    new TaxRateGetList($oxatisClient->getWSIdentitySoap())
);

foreach ($response->getDataResultService()->getData()->getTaxRateList()->getTaxRateIDs() as $taxRateID)
{
    /** @var TaxRateEntity $taxRateID */
    var_dump($taxRateID->getCountryName());
}

重新生成 API

此 API 主要通过 phpro/soap-client 自动生成。

如果 Oxatis 端的在线 Soap WSDL 文件已更改,则此 API 客户端 需要通过运行以下命令重新生成

docker-compose run php_74 php generate-soap-api.php

这将

  • config/ 文件夹中生成 phpro/soap-client 需要的配置文件
  • src/Type 中为每个服务生成每个类型类
  • src/Services/ 中为每个服务生成客户端和客户端工厂

贡献

克隆此项目,然后

cp docker-compose.yml.dist docker-compose.yml
docker-compose up --build
docker-compose run php_74 ./composer.phar install