Estoy intentando configurar la API de hotelbeds. Ahora obtengo los resultados que espero hasta el punto en que intento aplicar un filtro:
$rqData->destination = new Destination("PAR"); $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 ]; $filter = new Filter(); $filter->zone = 64 ; $rqData->filter = [ $filter ]; $availRS = $apiClient->availability($rqData); if ($availRS->isEmpty()) { echo "There are no results!"; } $allResponse = $availRS->hotels->toArray(); Como puede ver, configuré el filtro en la zone 64 lo que me da el siguiente error:
Error fatal: excepción no detectada 'Excepción' con el mensaje 'Error de tipo: el filtro de campo necesita hotelbeds\hotel_api_sdk\model\Tipo de filtro!' en C:\xampp2\htdocs\hotelbeds\src\generic\DataContainer.php:58 Seguimiento de pila: #0 C:\xampp2\htdocs\hotelbeds\test.php(110): hotelbeds\hotel_api_sdk\generic\DataContainer->__set ('filter', Array) #1 {main} lanzado en C:\xampp2\htdocs\hotelbeds\src\generic\DataContainer.php en la línea 58
Agregué la zone a la clase de filtro como un número entero. Obtuve este filtro de la función de prueba http://testapi.hotelbeds.com/search -> solicitud
{ "stay": { "checkIn": "2017-05-08", "checkOut": "2017-05-12", "shiftDays": 2 }, "occupancies": [ { "rooms": 1, "adults": "2", "children": "0", "paxes": [ { "type": "AD", "age": "30" }, { "type": "AD", "age": "30" } ] } ], "filter": { "maxHotels": 20, "maxRooms": 4, "maxRatesPerRoom": 3, "minCategory": 1, "maxCategory": 5, "paymentType": "BOTH", "maxRate": "3000" }, "destination": { "code": "PAR", "zone": "64" } }Sería genial si alguien pudiera decirme qué estoy haciendo mal.
¡Gracias por adelantado!