Para o artigo de hoje, usaremos o serviço Offers da API do Buscapé, onde são retornados todas as ofertas dos anunciantes Lomadee. Para termos resultados mais relevantes em nossas ofertas, a API nos possibilita a aplicação de alguns filtros muito interessantes.
Os filtros que utilizaremos hoje serão:
- keyword – Palavra-chave para o retorno das ofertas;
- page – Página de resultados a ser mostrada;
- results – Quantidade de resultados a ser mostrada;
- sourceId – ID do publisher (requerido).
Para iniciarmos o entendimento, vejamos a seguinte URL REST:
Ou seja, usando o ambiente de sandbox da API do Buscapé e o serviço Offers, passamos nosso Application ID de testes 412f4b4a4268414258674d3d juntamente com a palavra-chave “chuteira” e um source ID 12345 para exemplificar.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Result xmlns="urn:buscape" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" page="1" totalPages="7" totalResultsReturned="30" totalResultsAvailable="185" xsi:schemaLocation="http://developer.buscape.com/admin/lomadee.xsd">
<details>
<applicationID>412f4b4a4268414258674d3d</applicationID>
<date>2012-02-28T15:37:45.017-03:00</date>
<elapsedTime>6</elapsedTime>
<status>success</status>
<code>0</code>
<message>success</message>
</details>
<offer id="1330354301072">
<offerName>CHUTEIRA MASCULINA UMBRO BRISTOL</offerName>
<links>
<link type="offer" url="http://links.lomadee.com/ls/U09VeTtBR1g2NnlSSzsxMjM0NTswOzExMzc7MDs1NjE1O0JSOzM7aHR0cCUzQSUyRiUyRnNlcnZpY28uYWRkaW50ZWxsaWdlbmNlLmNvbS5iciUyRmNvbnRlbnRzZXJ2ZXIlMkZEaVNhbnRpbm5pLmNsaSUyRnJlZGlyLmFzcHglM0ZpZHRhZyUzRDA3NTNBQTg0LUM0RTAtNEQ4My1BMzFELTUyMjA1MzkyOEMyQyUyNmFtcCUzQnVybCUzRGh0dHAlMjUzYSUyNTJmJTI1MmZ3d3cuZGlzYW50aW5uaS5jb20uYnIlMjUyZmNodXRlaXJhLW1hc2N1bGluYS11bWJyby1icmlzdG9sLmh0bQ--.html"/>
</links>
<thumbnail url="http://www.disantinni.com.br/images/zoom/14938010_zoom.jpg"/>
<price>
<currency abbreviation="BRL"/>
<value>104.99</value>
<parcel>
<value>10.5</value>
<number>10</number>
<interest>0.0</interest>
</parcel>
</price>
Como podem observar acima, na primeira linha do retorno, temos alguns atributos e com dados importantes para nossa navegação por páginas:
- page – Informa a página atual da exibição das ofertas;
- totalPages – Informa o total de páginas geradas a partir da quantidade de resultados;
- totalResultsReturned – Informa a quantidade de resultados exibidos na página atual;
- totalResultsAvailable – Informa a quantidade de resultados total retornados.
Por padrão, a API do Buscapé retorna trinta ofertas por página. Mas essa quantidade pode ser alterada passando na URL o parâmetro results com a quantidade desejada, desde que seja menos do que 30. O detalhe é que não podemos obter mais de trinta resultados por página. Para exemplificar, passaremos o parâmetro em nossa URL para obtermos dez resultados por página.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Result xmlns="urn:buscape" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" page="1" totalPages="19" totalResultsReturned="10" totalResultsAvailable="185" xsi:schemaLocation="http://developer.buscape.com/admin/lomadee.xsd">
<details>
<applicationID>412f4b4a4268414258674d3d</applicationID>
<date>2012-02-28T15:39:35.898-03:00</date>
<elapsedTime>31</elapsedTime>
<status>success</status>
<code>0</code>
<message>success</message>
</details>
<offer id="1330354301072">
<offerName>CHUTEIRA MASCULINA UMBRO BRISTOL</offerName>
<links>
<link type="offer" url="http://links.lomadee.com/ls/d3lHUTtLb3VZd2dnQzsxMjM0NTswOzExMzc7MDs1NjE1O0JSOzM7aHR0cCUzQSUyRiUyRnNlcnZpY28uYWRkaW50ZWxsaWdlbmNlLmNvbS5iciUyRmNvbnRlbnRzZXJ2ZXIlMkZEaVNhbnRpbm5pLmNsaSUyRnJlZGlyLmFzcHglM0ZpZHRhZyUzRDA3NTNBQTg0LUM0RTAtNEQ4My1BMzFELTUyMjA1MzkyOEMyQyUyNmFtcCUzQnVybCUzRGh0dHAlMjUzYSUyNTJmJTI1MmZ3d3cuZGlzYW50aW5uaS5jb20uYnIlMjUyZmNodXRlaXJhLW1hc2N1bGluYS11bWJyby1icmlzdG9sLmh0bQ--.html"/>
</links>
<thumbnail url="http://www.disantinni.com.br/images/zoom/14938010_zoom.jpg"/>
<price>
<currency abbreviation="BRL"/>
<value>104.99</value>
<parcel>
<value>10.5</value>
<number>10</number>
<interest>0.0</interest>
</parcel>
</price>
<seller advertiserId="5615" paga
Com esta mudança na quantidade de resultados por página, o número de páginas aumentou. Vocês podem verificar a mudança no atributo totalPages.
Podemos também navegar pelas páginas passando o parâmetro page com o número da página que desejamos obter os resultados. No exemplo abaixo, obteremos apenas os resultados da página 2.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Result xmlns="urn:buscape" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" page="2" totalPages="19" totalResultsReturned="10" totalResultsAvailable="185" xsi:schemaLocation="http://developer.buscape.com/admin/lomadee.xsd">
<details>
<applicationID>412f4b4a4268414258674d3d</applicationID>
<date>2012-02-28T15:40:29.479-03:00</date>
<elapsedTime>27</elapsedTime>
<status>success</status>
<code>0</code>
<message>success</message>
</details>
<offer id="1327427448124">
<offerName>Porta Chuteira Adidas Real Madrid - 55800510 - Preto</offerName>
<links>
<link type="offer" url="http://links.lomadee.com/ls/bnhvcTtqWmJXMzNMZjsxMjM0NTswOzExMzc7MDsxNDtCUjszO2h0dHAlM0ElMkYlMkZ3d3cucGFzc2FyZWxhLmNvbS5iciUyRnByb2R1Y3QuYXNweCUzRmlkcHJvZHVjdCUzRDU1ODAwNTEwMTIlMjZhbXAlM0JpZGRlcHQlM0QxMTAwMw--.html"/>
</links>
<thumbnail url="http://www.passarela.com.br/images/Product/5580051012_1_m.JPG"/>
<price>
<currency abbreviation="BRL"/>
<value>59.99</value>
<parcel>
<value>30.0</value>
<number>2</number>
<interest>0.0</interest>
</parcel>
</price>
<seller advertiserId
Por hoje é isso! No próximo artigo abordaremos como criar uma função para navegar automaticamente entre as páginas de resultados e obter todas as ofertas de uma única só vez.







