我正在与Hotelbeds APItude PHP API合作,以查找available hotel rooms的信息。
嗯,我可以通过documentation
获取所有可用酒店的信息但是,我面临着获得所有酒店客房每日房价的问题。
documentation中有一个选项可以发送请求属性以获取每个房间的每日费率。这是请求属性 -
availabilityRQ / @ dailyRate - 布尔值 - 可选 - 每天显示费率
dailyRate
是一个boolean
值,用于确认API是否会发回每日费率信息(我认为到目前为止)。
因此,在实现中,我发送以下请求参数 -
$rqData = new \hotelbeds\hotel_api_sdk\helpers\Availability();
$rqData->stay = new Stay(DateTime::createFromFormat("Y-m-d", "2016-09-01"),
DateTime::createFromFormat("Y-m-d", "2016-09-10"));
$rqData->hotels = ["hotel" => [1067, 1070,]];
// $rqData->destination = new Destination("PMI");
$occupancy = new Occupancy();
$occupancy->adults = 2;
$occupancy->children = 1;
$occupancy->rooms = 1;
$occupancy->paxes = [new Pax(Pax::AD, 30, "Mike", "Doe"), new Pax(Pax::AD, 27, "Jane", "Doe"), new Pax(Pax::CH, 8, "Mack", "Doe")];
$rqData->occupancies = [$occupancy];
$rqData->dailyRate = TRUE;
$availRS = $apiClient->Availability($rqData);
我检查过,除了$rqData->dailyRate = TRUE;
参数外,一切正常。
我收到以下错误 -
错误请求:请求不符合指定版本的API。属性dailyRate出错:无法从字符串值'Y'构造布尔值实例:只识别“true”或“false”
我认为,我遗漏了为boolean
属性创建dailyRate
参数的问题。
我该如何解决这个问题?
答案 0 :(得分:0)
这看起来像是他们的公共API或他们的PHP库的错误。提交错误报告。
class Availability extends ApiHelper
。 class ApiHelper extends DataContainer
。
在DataContainer
,if (is_bool($item)) return $item ? "Y" : "N";
。
他们的库中的DataContainer.php
会将布尔值转换为Y
或N
。因此,当您执行API请求时,true/false
的任何值都会转换为Y/N
。
但他们的API需要真/假。