forward-force / daxko-api-sdk
PHP 中的 Daxko API 包装器
Requires
- php: ^7.4 | 8.*
- ext-json: *
- guzzlehttp/guzzle: ^7.2
Requires (Dev)
- phpmd/phpmd: ^2.9
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.5
- vimeo/psalm: ^4.5
This package is auto-updated.
Last update: 2024-09-26 09:59:08 UTC
README
这是一个围绕 Daxko API 的包装器。API 非常简单,因此实现也比较简单。
安装
如下使用 composer 安装
composer require forward-force/daxko-api-sdk
用法
身份验证
Daxko 客户端依赖于从 Daxko 身份验证端点 返回的 access_token
来访问 API。
使用 Daxko 客户端请求 access_token
$apiToken = \ForwardForce\Daxko\Daxko::getToken( '<client_id>', '<client_secret>', '<scope>', '<grant_type>' );
getToken
返回的 access_token
可以用来创建一个新的客户端实例
$daxkoClient = new \ForwardForce\Daxko\Daxko($apiToken['access_token']);
为了避免每次需要新的客户端时都请求新的令牌,可以将令牌(加密后)存储在一些数据存储(Redis、Session 等)中。
使用先前身份验证中的 refresh_token
刷新 access_token
$apiToken = Daxko::refreshToken( '<client_id>', '<refresh_token>', );
Daxko 类
获取给定位置和特定日期范围内的所有类
$classes = $daxkoClient->classes() ->all([ 'startDate' => '<2020-02-09>', 'endDate' => '<2021-02-09>', 'locationId' => '<5506>', ]);
通过 ID 获取单个类
$class = $daxkoClient->classes()->get('<class_id>');
获取给定字段的值就像访问 class
实例属性一样简单
$name = $class->name; // the actual class name
错误处理
所有 Daxko 实体都继承自 DaxkoEntity
类,该类提供 hasErrors()
和 getErrors()
方法,可以用来验证客户端是否从 API 收到成功的响应
$class = $daxkoClient->classes()->get('<class_id>'); if ($class->hasErrors()) { var_dump($class->getErrors())); }
贡献
要本地运行,您可以使用这里提供的 Docker 容器。您可以像这样运行它
docker-compose up
然后您可以 ssh 进入 php-fpm
容器。请注意,您需要设置您的 DAXKO API 密钥和 SECRET 分别为环境变量 $DAXKO_TOKEN
和 $DAXKO_SECRET
。但是,密钥在这个时候不是必需的,您可以将它设置为任何东西。
xdebug
已完全配置为作为 cli 运行,将其连接到您最喜欢的 IDE 进行调试!
有关如何在本地运行此库的自动生成文档,请参阅 phpdocker/README.md
如果您发现了一个问题,有任何问题或建议,请毫不犹豫地打开一个 GitHub 问题。
致谢
感谢 phpdocker.io 使获取 PHP 环境变得如此简单!