forward-force/daxko-api-sdk

PHP 中的 Daxko API 包装器

1.2.2 2022-01-26 04:23 UTC

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 环境变得如此简单!