housemates/connect-api

Housemate connect API PHP 客户端

0.8 2024-03-28 09:55 UTC

This package is auto-updated.

Last update: 2024-09-28 10:59:43 UTC


README

Latest Version on Packagist Total Downloads

Housemates Connect API 提供了一组端点,用于访问和交互 Housemates Connect 平台。它允许开发者以编程方式检索房产和房间信息,管理预订,创建询问,并获取有关城市和设施的各种详细信息。

主要功能

  • 房产管理:检索房产列表和详细信息,包括设施、位置和可用性。
  • 房间管理:访问房间信息,包括价格、可用性和预订周期。
  • 预订操作:开始并完成结账流程,包括处理付款详情和居民信息。
  • 询问管理:创建和检索特定房间或房产的询问。
  • 城市信息:获取有关城市的大学信息。
  • 设施详情:检索可用设施及其描述的列表。

安装

您可以通过 composer 安装此包

先决条件

  • 您的系统上至少已安装 PHP 7.4。
  • Housemates Connect API 凭据
    • 访问令牌: b2fcrSRUV8OsN6Yn79UKGIiGDCLUJtGqEL3m2aO4
    • API 合作伙伴 ID: 01H0N04529EXND84J5AN2ZH7CX
composer require housemates/connect-api

入门

配置

为了使用 Housemates Connect API,您必须首先使用您的 API 凭据配置此包。您可以按照以下方式操作;

$configuration = new \Housemates\ConnectApi\Configuration();
$configuration
    ->setAccessToken('b2fcrSRUV8OsN6Yn79UKGIiGDCLUJtGqEL3m2aO4')
    ->setApiPartnerId('01H0N04529EXND84J5AN2ZH7CX');

$connectApi = new Housemates\ConnectApi\ApiClient($configuration);

现在,您可以使用 $connectApi 实例访问 API 提供的各种端点。

获取房产

您可以通过在 $connectApi 实例上调用 getProperties 方法来获取房产。此方法接受一个可选的 $query 参数,可用于筛选结果。例如,要获取曼彻斯特的房产,您可以这样做;

$filters = new \Housemates\ConnectApi\Filters\PropertyFilter();
$filters->setCityFilter('manchester')
try{
    $results = $connectApi->getProperties($filters);
    print_r($results->getData()->getItems());
} catch (\Exception $e) {
    // Handle exception
}

有关可用筛选器的完整列表,请参阅文档。

获取单个房产

您可以通过在 $connectApi 实例上调用 getProperty 方法来检索单个房产。此方法接受一个房产 ID 作为参数。例如,要获取 ID 为 01H0N04529EXND84J5AN2ZH7CX 的房产,您可以这样做;

try{
    $property = $connectApi->getProperty('01H0N04529EXND84J5AN2ZH7CX');
    print_r($property->getData()->getItem());
} catch (\Exception $e) {
    // Handle exception
}

获取房间

您可以通过在 $connectApi 实例上调用 getRooms 方法来获取房间。此方法接受一个可选的 $query 参数,可用于筛选结果。例如,要获取价格在 100 英镑至 400 英镑之间的房间,您可以这样做;

$filters = new \Housemates\ConnectApi\Filters\RoomFilter();
$filters->setPriceRangeFilter('[100,400]'); // Please note that the price range must be in the format [min,max]

try{
    $results = $connectApi->getRooms($filters);
    print_r($results->getData()->getItems());
} catch (\Exception $e) {
    // Handle exception
}

如果您想对结果进行排序,您可以通过将 Sort 对象传递给 getRooms 方法来实现。例如,要按价格升序排序结果,您可以这样做;

$filters = new \Housemates\ConnectApi\Filters\RoomFilter();
$filters->setPriceRangeFilter('[100,400]'); // Please note that the price range must be in the format [min,max]

$sort = new \Housemates\ConnectApi\Sort();
$sort->setSortBy('price', 'asc');

try{
    $results = $connectApi->getRooms($filters, $sort);
    print_r($results->getData()->getItems());
} catch (\Exception $e) {
    // Handle exception
}

获取单个房间

要获取单个房间,您可以在 $connectApi 实例上调用 getRoom 方法。此方法接受一个房间 ID 作为参数。例如,要获取 ID 为 01H0N04529EXND84J5AN2ZH7CX 的房间,您可以这样做;

try{
    $room = $connectApi->getRoom('01H0N04529EXND84J5AN2ZH7CX');
    print_r($room->getData()->getItem());
} catch (\Exception $e) {
    // Handle exception
}

获取房间预订周期

要获取房间的预订周期,您可以在 $connectApi 实例上调用 getBookingPeriods 方法。此方法接受一个房间 ID 作为参数。例如,要获取 ID 为 01H0N04529EXND84J5AN2ZH7CX 的房间的预订周期,您可以这样做;

try{
    $bookingPeriods = $connectApi->getBookingPeriods('01H0N04529EXND84J5AN2ZH7CX');
    print_r($bookingPeriods->getData()->getItems());
} catch (\Exception $e) {
    // Handle exception
}

开始结账

要开始结账流程,您可以在 $connectApi 实例上调用 startCheckout 方法。此方法接受房间 ID、预订周期 ID 和操作员 ID 作为参数。例如,要开始 ID 为 01H0N7WS7ZN1DGEJFF2C14K8NJ 的房间结账流程,您可以执行以下操作;

$checkoutStartRequest = new \Housemates\ConnectApi\Requests\CheckoutStartRequest();
$checkoutStartRequest
    ->setRoomId('01H0N7WS7ZN1DGEJFF2C14K8NJ')
    ->setBookingPeriodId('01H1TQKHVCN2F00MP2D7ACX6S8')
    ->setOperatorId('9258a234-f90b-4871-b434-247087fec215');
try{
    $checkoutStartResponse = $connectApi->startCheckout($checkoutStartRequest);
    print_r($checkoutStartResponse->getData()));
} catch (\Exception $e) {
    // Handle exception
}

请参阅文档以获取端点的完整列表。

更新日志

有关最近更改的更多信息,请参阅更新日志

安全

如果您发现任何与安全相关的问题,请通过电子邮件muhammad@housemates.io联系,而不是使用问题跟踪器。

鸣谢

许可协议

MIT 许可协议(MIT)。有关更多信息,请参阅许可文件