/** * @param Busca $busca * @return array */ private function normalize(Busca $busca) { $corpo = ['Chave' => $busca->getChave(), 'Senha' => $busca->getSenha(), 'TipoViagem' => $busca->getTipo(), 'Companhias' => $busca->getCompanhias()]; $corpo['Trechos'] = array_map(function ($t) use($busca) { $trecho = ['Origem' => $t->getOrigem(), 'Destino' => $t->getDestino(), 'DataIda' => $t->getDataIda()->format('d/m/Y')]; if ($busca->isIdaVolta()) { $trecho['DataVolta'] = $t->getDataVolta()->format('d/m/Y'); } return $trecho; }, $busca->getTrechos()); return $corpo + $busca->getPassageiros(); }
<?php require __DIR__ . '/../vendor/autoload.php'; use BuscaMilhas\DataTransferObject\Busca; use BuscaMilhas\DataTransferObject\Trecho; use BuscaMilhas\Cliente; use BuscaMilhas\Exception\APIException; use GuzzleHttp\Exception\RequestException; define('CHAVE', 'SUA_CHAVE_DE_ACESSO'); define('SENHA', 'SUA_SENHA_DE_ACESSO'); try { $busca = Busca::createIda(CHAVE, SENHA); $busca->addGOL()->addTAM()->addAdultos(1)->addTrecho(new Trecho('REC', 'SAO', new \DateTime('+1 day'))); $cliente = new Cliente(); $resposta = $cliente->enviar($busca); var_dump($resposta); } catch (\InvalidArgumentException $e) { echo $e->getMessage(), PHP_EOL; } catch (APIException $e) { echo $e->getMessage(), PHP_EOL; } catch (RequestException $e) { echo $e->getMessage(), PHP_EOL; }