TrekkSoft SDK

0.3.17 2023-04-05 15:44 UTC

README

概述

这是 Trekksoft API 的 PHP SDK。

安装

要将 SDK 安装到您的项目中,您需要使用 composer(请参阅 https://getcomposer.org.cn/)。然后运行

composer require trekksoft/sdk

使用方法

基本设置

$credentials = [
    'clientId'      => '<your-client-id>',
    'clientSecret'  => '<your-client-secret>',
];

$provider = new \TrekkSoft\SDK\OAuth2\Provider\TrekkSoftProvider($credentials);


//Get activities list
$activities = $provider->getActivities();

//Get availabilities list
$availabilities = $provider->getAvailabilities();

//Get merchants a list of merchants which you can access 
$merchants  = $provider->getMerchants();

演示

请检查 demo 文件夹以获取此 SDK 的使用示例。要使其运行,您需要将 config.inc.php.dist 复制到 config.inc.php,并在新文件中配置您的客户端 ID 和客户端密钥。

然后,您可以将这些文件放置在您的 webroot 文件夹下,并通过 Web 服务器运行它们。例如 http://localhost/trekksoft/activities.php

模型

从 API 收到的所有数据都自动包装成对象,以便更容易地处理数据。您可以在 src/Model 文件夹下检查这些模型。高级模型是 ActivityAvailability。其他模型位于这些模型之下。

例如,要获取可用性项的占用率,您需要执行以下操作:$availability->getCapacityInfo()->getOccupancy()

过滤条件

在发出请求时,您可以使用标准对象来设置过滤选项

  • TrekkSoft\SDK\Criteria\ActivityCriteria 用于活动
  • TrekkSoft\SDK\Criteria\AvailabilityCriteria 用于可用性
  • TrekkSoft\SDK\Criteria\MerchantCriteria 用于商家

例如,以下代码将仅返回包含 "rome" 的 bus2alps 商家的所有活动

$criteria = new \TrekkSoft\SDK\Criteria\ActivityCriteria();
$criteria->setMerchant('bus2alps');
$criteria->setTitleLike('rome');

可用性条件示例

$criteria = new \TrekkSoft\SDK\Criteria\AvailabilityCriteria();
$criteria->setMerchant('demo');
$criteria->resetSeats()->resetBookingTime()->setStartsFrom(null)->setWithGuests(true);

迭代器

对提供者的每次请求都返回 迭代器 作为结果,而不是请求对象直接数组的直接数组。这可用于自动处理分页并避免发送大量数据。当您遍历迭代器时,根据需要可能会向服务器发送附加请求。如果您仍然想获取平面数组,请使用 iterator_to_array() 方法。

维护者

此项目由 TrekkSoft 团队维护。