gurwinderantal / crs
一个PHP库,用于连接到SynXis/Windsurfer CRS。
dev-master
2018-08-07 22:22 UTC
This package is not auto-updated.
Last update: 2024-09-23 07:44:06 UTC
README
此软件包提供了通过SOAP API连接到SynXis和Windsurfer中央预订系统(CRS)的方法。它目前处于开发中,尚未准备好使用。
入门
先决条件
此软件包依赖于仅适用于PHP 7.0或更高版本的某些操作符。
它还使用PHP的SOAP扩展连接到SOAP API。请确保您已安装了PHP SOAP扩展。
您可以在phpinfo中查找SOAP扩展,以查看它是否已安装。
$ php -i | grep -i soap
如果您没有看到它,可以按照以下步骤安装(Ubuntu/Debian)
$ sudo apt-get install php-soap
安装后可能需要重新启动服务器。
安装
composer require gurwinderantal/crs
用法
此库目前能够连接到SynXis和Windsurfer中央预订系统。
使用CRS提供商提供的所有凭据构建一个数组。这将用于SOAP请求的头部。
$credentials = [
'username' => 'MyUsername',
'password' => 'MyPassword',
];
凭据数组中必须存在username
和password
键必须存在,否则尝试实例化连接器类将引发异常。其他键(如systemId
)是可选的,但可能导致结果不正确。请仔细阅读CRS提供商的文档。
实例化您想要使用的CRS的连接器类
$wsdl = 'https://example.path/to/Service.asmx?WSDL';
$synxis_connector = new SynxisConnector($wsdl, $credentials);
$windsurfer_connector = new WindsurferConnector($wsdl, $credentials);
调用所需的方法
$response = $connector->getFunctions();
可用方法包括
- getFunctions:获取CRS服务可用的方法列表。
- checkAvailability:根据提供的参数检查可用性。所有参数都必须放入一个数组中。数组键必须与SOAP请求的XML请求完全匹配。请参阅您服务的WSDL以获取可用的属性。例如
如果允许有多个具有相同属性的元素(如上面示例中的$params = [ 'ID' => 'xx', 'ID_Context' => 'Open Hospitality', 'Code' => 'xxxx', 'RatePlanCode' => 'MYRATECODE', 'HotelCode' => 'MYHOTELCODE', 'Start' => '2018-06-03', 'End' => '2018-06-07', 'Quantity' => 1, 'Count' => [ 'Child' => 0, 'Adult' => 2, ], ];
count
),请将其作为一个具有不同键的数组。在软件包有一个稳定版本时,将在文档中提供预期的键列表。 - createReservation
- modifyReservation
- cancelReservation
在大多数情况下,响应对象将作为包含属性、数组或其他对象引用的单个对象返回。响应对象的结构将与相应SOAP请求的响应XML相匹配。例如,要获取您请求可用性的酒店名称
$hotelName = $response->RoomStays->RoomStay->BasicPropertyInfo->HotelName;