TUTORIELS 
Les web services avec PHP: l'API Amazon

Page 1 | 2

Aborder en douceur l'API Amazon via PHP à l'aide d'une bibliothèque de fonctions complète. Ou comment accéder sous forme de service Web au catalogue du marchand.
 (2 décembre 2002)
 

Deuxième exemple
Maintenant que nous savons comment exploiter des informations de la base d'Amazon et que nous pouvons les afficher comme bon nous semble, il faut passer à la vitesse supérieure: faire en sorte que le visiteur ne puisse pas seulement obtenir des informations, mais qu'il puisse aussi acheter le produit trouvé. C'est ici qu'entre en jeu la fonction amazon_create_cartform() qui, comme son nom l'indique, crée automatiquement un formulaire permetant d'ajouter le produit au panier d'achat sur le site amazon.com (le tout se faisant dans une nouvelle page). Plutôt que d'utiliser un bouton HTML, nous passerons par un argument de la fonction pour faire en sorte que ce soit le clic sur l'image du produit qui lance le formulaire.
Pour l'exemple, nous avons modifié le code afin de l'inclure dans une tableau HTML. Le reste du code n'a pas été modifié...

(fichier exemple2.php, repris de exemple1.php)
...
<hr>
Résultats correspondant à la recherche "<?=$recherche;?>".<br>
<table width="300" border="0">
<?
    while( list($cle,$valeur) = each($reponse[Details] ))
      {
?>
  <tr>
    <td rowspan="3" width="50%">
<?
      $achat = amazon_create_cartform($valeur[Asin][0], CART, $valeur[ImageUrlSmall][0]);
      echo $achat;
?>
    </td>
    <td width="50%">Titre: "<?=$valeur[ProductName][0];?>"</td>
  </tr>
  <tr>
    <td>Artiste: <?=$valeur[Artists][0][Artist][0];?></td>
  </tr>
  <tr>
    <td>Année de sortie: <?=$valeur[ReleaseDate][0];?></td>
  </tr>
  <tr>
    <td>Prix normal: <?=$valeur[ListPrice][0];?></td>
    <td>Prix Amazon: <?=$valeur[OurPrice][0];?></td>
  </tr>
  <tr>
    <td colspan="2">
<?
      $gain = amazon_calculate_savings($valeur[ListPrice][0],$valeur[OurPrice][0]);
      if($gain[0])
        {
        echo "Gain: $gain[0]$ ($gain[1]% de moins).";
        }
      else
        {
        echo " ";
        }
?>
    </td>
  </tr>
<?
      }
?>
</table>
<?
    }
?>
</body>
</html>

Vous remarquerez que, pour la forme, nous avons ajouté un petit appel à la fonction amazon_calculate_savings(), afin d'afficher la différence de prix comme affichée sur Amazon.com.

Avec le jeu de fonctions fourni, il devient très facile de monter soi-même un petit magasin en ligne dépendant entièrement d'Amazon.com. Ce n'est évidemment là qu'un exemple pour se lancer dans la course: nous verrons prochainement plus en profondeur l'API Amazon, et comment en tirer parti pour construire sa propre version d'Amazon, totalement indépendant du site mère car n'utilisant que l'API.

Page 1 | 2

 
[ Xavier Borderie,JDNet
 
Accueil | Haut de page