Cor Cinza

Verifique sempre a página mais atual sobre o PhpBox aqui!

Oi pessoal! Estou muito feliz que estar contribuindo (ou não) pela primeira vez com a comunidade Open Source. Como vocês sabem, lancei recentemente o meu mais novo site, o designUp. Desde que eu o criei, tinha em mente a utilização da boo-box como forma de monetizar o site inicialmente. Na verdade nós temos outros planos para fazer o site dar algum dinheiro, mas a boo-box seria uma ótima ferramenta para começar.

Pra quem não conhece, boo-box é um serviço que te permite contextualizar o anúncio de produtos de determinados programas de afiliação que existem pela net. Entre os programas suportados, você pode usar Amazon, BuscaPé, Submarino, MercadoLivre e etc.

A um tempo atrás, eles lançaram APIs que te permitem acessar os dados das pesquisas feitas e manipulá-las da maneira que quisesse. Foi aí que eu comecei a construir um pequeno script pra que isto acontecesse no designUp. Achei que ele seria de fácil integração com outros sites e acabei criando uma classe simples para manipular os dados da boo-box em um ambiente amigável em PHP e o nome dela é PhpBox (criativo não?).

Bom, o PhpBox é um treco muito simples e qualquer zé ruela como eu seria capaz de criá-lo. Mas o que ele faz é pegar os resultados de uma pesquisa e colocar numa array simples que pode ser utilizada da maneira que você quiser. Além disso, coloquei umas outras funções que podem te ajudar na hora de criar algumas outras coisas mais corriqueiras. Vamos ver como isto funciona…

Primeiro, você deve fazer o download da “biblioteca” (cof, cof) aqui!

Botá-la pra funcionar é realmente muito simples:

include('phpbox.php');
$phpbox = new PhpBox();

Se o seu host, assim como o meu, não te possibilitar abrir url’s externas através do seu script, você pode setar a variável curl = true (você vai precisar de cURL habilitado no seu host pra isso funcionar). Assim, você inicia a classe da seguinte forma:

include('phpbox.php');
$phpbox = new PhpBox();
$phpbox->curl = true;

Feito isso, você pode começar a utilizar as funções da classe. Vamos começar pela mais básica, a get:

$produtos = $phpbox->get('submarinoid', '173091', array('livro', 'php'));

Como você pode ver, a função get recebe três argumentos. O primeiro se refere ao programa de afiliação que você quer utilizar. Para ver uma lista com os programas suportados e as referentes “strings” para que elas funcionem, visite este link. O segundo argumento recebe o ID do seu cadastro no programa de afiliação referente, o terceiro argumento pode receber um(a) array ou uma string simples com as tags que servirão de base para a consulta. O resultado desta função será uma array mais ou menos assim:

Array
(
    [0] => Array
        (
            [img] => http://i.s8.com.br/images/books/cover_tn/img7/pq1620247.jpg
            [title] => Design Gráfico Brasileiro: Anos 60, O
            [uri] => http://boo-box.com/prod/u97mu/affid:173091
            [price] => R$ 74,00
            [store] => submarinoid
            [tags] => livro design
        )

    [1] => Array
        (
            [img] => http://i.s8.com.br/images/books/cover_tn/img8/pq1871598.jpg
            [title] => Design do Objeto: Bases Conceituais
            [uri] => http://boo-box.com/prod/u9cgu/affid:173091
            [price] => R$ 51,90
            [store] => submarinoid
            [tags] => livro design
        )

...

Os índices são bem óbvios, e você pode utiliza-los para mostrar seus produtos e tudo mais. Você tem a imagem, o título, o endereço para acessar o produto, o preço, a loja de origem e as tags utilizadas.

A segunda função do pacotinho é a randon. Você especifica um(a) array associativa com os programas de afiliação e seus respectivos id’s, e o script vai “sortear” um deles pra mostrar. Isso é legal se você tiver cadastro em diversos programas de afiliação e quiser mostrar os resultados deles de forma aleatória. Confira:

$programas = array('ebayid' => '1042', 'amazonid' => 'boobo-20', 'submarinoid' => '173091');
$produtos = $phpbox->randon($programas, array('livro', 'php'));

Os resultados em todos os casos são similares aos de cima.

Depois você pode utilizar a função merge. Com ela você mistura os resultados de pesquisas em diversos programas de afiliação juntos. Assim, em um(a) mesmo(a) array, você vai ter os resultados de mais de um programa de afiliação. A utilização é exatamente igual a da randon. Veja:

$programas = array('ebayid' => '1042', 'amazonid' => 'boobo-20', 'submarinoid' => '173091');
$produtos = $phpbox->merge($programas, array('livro', 'php'));

Por último, temos a função shuffle. Como o nome já sugere, ele vai dar um “merge” nos resultados de pesquisa em diversos programas de afiliação e depois vai embaralhar estes resultados de forma randômica. Veja:

$programas = array('ebayid' => '1042', 'amazonid' => 'boobo-20', 'submarinoid' => '173091');
$produtos = $phpbox->shuffleRes($programas, array('livro', 'php'));

Boo-box é uma ferramenta ótima para contextualizar os anúncios em seu site, e esta forma que eu vos apresento, é talvez, a menos eficaz. Para saber das possibilidades incríveis que a boo-box te oferece, visite o site dos caras e aprenda tudo o que você puder!

Enfim… O código lá talvez não esteja tão perfeito e bacana como deveria estar, mas pra começar, deve dar pro gasto. A classe é licenciada pela WTFPL, então “Do What The Fuck You Want” com essa classe! Ela deve ser ótima pra você criar seus próprios “widgets”, adicionar seu próprio visual, filtrar pelas tags que você quiser e assim por diante! Dá pra deitar em rolar agora (ou não)! Espero que gostem, e se usarem, deixem recadinhos dizendo o que acharam ok?

Ah! E não me xingue caso você ache que o código está uma droga, ok? :P Abraços a todos!

Tags: , ,

Comentários /comments

  • Marco Gomes
    Marco Gomes escreveu:
    Postado em June 1, 2008 às 6:32 pm

    boo!

    Maneira a sua classe! Alguém já implementou uma em Python bem parecida, agora vc vem com essa em PHP, gostei!

    É pra isso que a API é aberta, criem!

    from Brazil, Marco Gomes
    CTO of the boo-box team
    http://boo-box.com

  • Grfica CDC - Salvador, Bahia
    Postado em September 1, 2008 às 8:26 pm

    Simplesmente sensacional.

  • Éber
    Éber escreveu:
    Postado em September 6, 2008 às 5:35 am

    @Gráfica CDC

    Valeu cara :) Espero que seja útil aí :)

Comente! /post a comment!