housemates / connect-api
Housemate connect API PHP 客户端
Requires
- php: ^7.4|^8.0
- ext-json: *
- guzzlehttp/guzzle: ^7.7
Requires (Dev)
- phpunit/phpunit: ^9.0
README
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)。有关更多信息,请参阅许可文件。