É simples utilizar o Wrapper PHP para obter uma lista de categorias. Portanto, o objetivo agora é ter um resultado somente com as categorias, sem ofertas que não apresentem produtos relacionados (categorias com ofertas soltas).
Uma categoria que possui ofertas soltas é uma categoria que possui somente ofertas e não produtos, enquanto a que não possui ofertas soltas tem produtos relacionados a ela. Quando ocorre a primeira situação, somos impedidos de utilizar filtros e comparar os preços das ofertas, pois não temos produtos. Já no segundo momento, os produtos possuem filtros e podemos fazer configurações de preços.
Após instanciar a classe Apiki BuscaPé API e definir o ambiente de testes da API do BuscaPé (sandbox), vamos obter uma lista de categorias no formato json para um tratamento mais fácil dos dados:
require_once '../Apiki_Buscape_API.php'; $applicationId = '564771466d477a4458664d3d'; $objApikiBuscapeApi = new Apiki_Buscape_API( $applicationId ); $objApikiBuscapeApi->setSandbox(); $objApikiBuscapeApi->setFormat( 'json' ); $categories = $objApikiBuscapeApi->findCategoryList( array( 'keyword' => 'celular' ) );
Usamos agora o método json_decode para transformar os dados obtidos em um objeto:
$categories = json_decode( $categories );
Tendo em mãos esse objeto, vamos dar um unset em todas as categorias que contenham ofertas soltas:
foreach ( $categories->subcategory as $key => $category ) if ( !$category->subcategory->hasoffer ) unset( $categories->subcategory[$key] );
Teremos, assim, uma lista de categorias que possuam produtos.
Tenha mais informações sobre o Wrapper PHP em nossa documentação online.
Fonte: IMasters