Zend_Service_Amazon
Introduction
Zend_Service_Amazon est une API simple pour utiliser les
Web services d'Amazon. Zend_Service_Amazon a deux APIs : une
plutôt traditionnelle qui suit la propre API d'Amazon, et un "Query API" simplifiée pour
construire facilement des requêtes de recherche, même compliquées.
Zend_Service_Amazon permet aux développeurs de récupérer
des informations disponible sur le site Amazon.com directement à travers l'API Amazon
Web Services. Les exemples incluent :
-
Le stockage de données informatives, comme des images, des
descriptions, le prix et plus
-
Revues éditoriales et commerciales
-
Des produits et accessoires similaires
-
Les offres Amazon.com
-
Les listes ListMania
Pour pouvoir utiliser Zend_Service_Amazon, vous devez avant
tout avoir une clé "developer API" Amazon ainsi que votre clé
secrète. Pour obtenir une telle clé et pour plus d'informations, vous pouvez visitez
le site Web » Amazon Web Services.
A partir du 15 août 2009, vous ne pourrez utiliser l'API Amazon à travers
Zend_Service_Amazon, quand spécifiant la clé secrète.
Note: Attention
Votre clé "developer API" et votre clé secret sont liées à votre
identité Amazon, donc faites en sorte de les conserver privées.
Example #1 Recherche sur Amazon en utilisant l'API traditionnelle
Dans cet exemple, nous recherchons les livres sur PHP disponibles chez Amazon
et boucler sur les résultats pour les afficher.
$amazon = new Zend_Service_Amazon('AMAZON_API_KEY', 'US', 'AMAZON_SECRET_KEY');
$response = $amazon-> itemSearch(array('SearchIndex' => 'Books',
'Keywords' => 'php'));
$results = $amazon-> itemSearch(array('SearchIndex' => 'Books',
'Keywords' => 'php'));
foreach ($results as $result) {
echo $result-> Title . '<br />';
}
Example #2 Recherche sur Amazon en utilisant l'API de requête
Ici nous cherchons aussi les livres sur PHP disponibles chez Amazon, mais en
utilisant l'API de requête, qui ressemble au modèle de conception Interface
Fluide.
$query = new Zend_Service_Amazon_Query('AMAZON_API_KEY',
'US',
'AMAZON_SECRET_KEY');
$query->category('Books')->Keywords('PHP');
$results = $query->search();
foreach ($results as $result) {
echo $result-> Title . '<br />';
}
Codes de pays
Par défaut, Zend_Service_Amazon se connecte au Web service
Amazon américain ("US "). Pour se connecter depuis un pays différent, il
vous suffit simplement de définir, comme second paramètre du constructeur, la chaîne de
caractère correspondant au code du pays :
Example #3 Choisir un service Web Amazon d'un pays
// Connexion à Amazon France
$amazon = new Zend_Service_Amazon('AMAZON_API_KEY', 'FR', 'AMAZON_SECRET_KEY');
Note: Codes de pays
Les codes de pays valides sont CA , DE ,
FR , JP , UK , et US .
Rechercher un produit Amazon spécifique avec son ASIN
La méthode itemLookup() fournit la possibilité de rechercher un
produit Amazon particulier lorsque son ASIN est connu.
Example #4 Rechercher une produit Amazon spécifique avec son ASIN
$amazon = new Zend_Service_Amazon('AMAZON_API_KEY', 'US', 'AMAZON_SECRET_KEY');
$item = $amazon->itemLookup('B0000A432X');
La méthode itemLookup() accepte aussi un second paramètre optionnel
pour gérer les options de recherche. Pour les détails complets et une liste des options
disponibles, visitez »
la documentation Amazon correspondante. .
Note: Information sur les images
Pour récupérer les informations d'images pour vos résultats de recherche, vous
devez définir l'option ResponseGroup à Medium ou
Large .
Lancer des recherches de produits sur Amazon
Rechercher des produits basés sur tous les divers critères disponibles sont rendus
simples grâce à la méthode itemSearch(), comme le montre l'exemple suivant
:
Example #5 Lancer des recherches de produits sur Amazon
$amazon = new Zend_Service_Amazon('AMAZON_API_KEY', 'US', 'AMAZON_SECRET_KEY');
$results = $amazon-> itemSearch(array('SearchIndex' => 'Books',
'Keywords' => 'php'));
foreach ($results as $result) {
echo $result-> Title . '<br />';
}
Example #6 Utilisation de l'option ResponseGroup
L'option ResponseGroup est utilisée pour contrôler les
informations spécifiques qui sont retournées dans la réponse.
$amazon = new Zend_Service_Amazon('AMAZON_API_KEY', 'US', 'AMAZON_SECRET_KEY');
$results = $amazon-> itemSearch(array(
'SearchIndex' => 'Books',
'Keywords' => 'php',
'ResponseGroup' => 'Small,ItemAttributes,Images,'
. 'SalesRank,Reviews,EditorialReview,'
. 'Similarities,ListmaniaLists'
));
foreach ($results as $result) {
echo $result-> Title . '<br />';
}
La méthode itemSearch() accepte un seul tableau en paramètre pour
gérer les options de recherche. Pour plus de détails et une liste des options
disponibles, visitez »
la documentation Amazon correspondante
Utiliser l'API alternative de requêtes
Introduction
Zend_Service_Amazon_Query fournit une API alternative
pour utiliser le service Web Amazon. L'API alternative utilise le modèle de
conception 'Interface Fluide'. C'est à dire que les appels peuvent-être fait en
utilisant une chaîne d'appels de méthodes (ie
$obj->method()->method2($arg) )
L'API Zend_Service_Amazon_Query utilise la surcharge
pour mettre en place facilement une recherche d'article, et ainsi vous permettre de
chercher en se basant sur les critères spécifiés. Chacune de ces options est fournie
en tant qu'appel de méthode, et chaque paramètre de méthode correspond à la valeur
des options nommées.
Example #7 Rechercher sur Amazon en utilisant l'API alternative de requêtes
Dans cet exemple, l'API de requêtes alternative est utilisée comme une
interface fluide pour spécifier les options et leurs valeurs respectives
:
$query = new Zend_Service_Amazon_Query('MY_API_KEY', 'US', 'AMAZON_SECRET_KEY');
$query->Category('Books')->Keywords('PHP');
$results = $query->search();
foreach ($results as $result) {
echo $result-> Title . '<br />';
}
Cela définit l'option Category à "Livres" et
Keywords à "PHP".
Pour plus d'information sur les options disponibles, vous pouvez vous
référer à la » documentation
spécifique.
Classes Zend_Service_Amazon
Les classes suivantes sont toutes retournées par Zend_Service_Amazon::itemLookup()
et Zend_Service_Amazon::itemSearch():
Zend_Service_Amazon_Item
Zend_Service_Amazon_Item est le type de classe utilisé
pour représenter un produit Amazon retourné par le service Web. Elle récupère tous
les attributs des articles, incluant le titre, la description, les revues,
etc.
Zend_Service_Amazon_Item::asXML()
string
asXML
( void
)
Retourne le XML original de l'article
Propriétés
Zend_Service_Amazon_Item a un nombre de propriétés
directement relié à leur contre-parties de l'API standard Amazon.
Propriétés de Zend_Service_Amazon_Item
Nom |
Type |
Description |
ASIN |
string |
Amazon Item ID |
DetailPageURL |
string |
URL pour la page de détail des articles |
SalesRank |
int |
Niveau de vente pour cet article |
SmallImage |
Zend_Service_Amazon_Image |
Petite image de l'article |
MediumImage |
Zend_Service_Amazon_Image |
Image moyenne de l'article |
LargeImage |
Zend_Service_Amazon_Image |
Grande image de l'article |
Subjects |
array |
Sujets de l'article |
Les offres |
Zend_Service_Amazon_OfferSet
|
Sommaire des offres, et offres pour l'article |
CustomerReviews |
array |
Les revues clients sont représentées comme un tableau
d'objets Zend_Service_Amazon_CustomerReview
|
EditorialReviews |
array |
Les revues éditoriales sont représentées comme un tableau
d'objets Zend_Service_Amazon_EditorialReview
|
SimilarProducts |
array |
Les produits similaires sont représentés comme un tableau
d'objets Zend_Service_Amazon_SimilarProduct
|
Accessories |
array |
Les accessoires pour l'article sont représentés comme un
tableau d'objets Zend_Service_Amazon_Accessories
|
Tracks |
array |
Un tableau contenant le nombre de pistes ainsi que les
noms pour les CDs ou DVDs musicaux |
ListmaniaLists |
array |
Les listes Listmania reliées à un article, comme un
tableau d'objets Zend_Service_Amazon_ListmaniaList
|
PromotionalTag |
string |
Balise promotionnelle de l'article |
Retour à la liste des
classes
Zend_Service_Amazon_Image
Zend_Service_Amazon_Image représente une image distante
pour un produit.
Propriétés
Propriétés de Zend_Service_Amazon_Image
Name |
Type |
Description |
Url |
Zend_Uri |
Url distante de l'image |
Height |
int |
La hauteur (en pixels) de l'image |
Width |
int |
La largeur (en pixels) de l'image |
Retour à la liste des
classes
Zend_Service_Amazon_ResultSet
Des objets Zend_Service_Amazon_ResultSet sont retournés
par Zend_Service_Amazon::itemSearch() et
vous permettent de gérer facilement les différents résultats retournés.
Note: SeekableIterator
Implémente l'itérateur SeekableIterator pour une itération
simple (en utilisant foreach ), aussi bien que l'accès direct à une
URL spécifique en utilisant seek().
Zend_Service_Amazon_ResultSet::totalResults()
int
totalResults
( void
)
Retourne le nombre total de résultats de la recherche
Retour à la liste des
classes
Zend_Service_Amazon_OfferSet
Chaque résultat retourné par Zend_Service_Amazon::itemSearch() et
Zend_Service_Amazon::itemLookup()
contient un objet Zend_Service_Amazon_OfferSet au travers
duquel il est possible de récupérer les informations de prix de l'article.
Propriétés
Propriétés de Zend_Service_Amazon_OfferSet
Name |
Type |
Description |
LowestNewPrice |
int |
Le plus bas prix pour l'article en condition "New" (ie
les articles neufs) |
LowestNewPriceCurrency |
string |
La devise pour le LowestNewPrice |
LowestOldPrice |
int |
Le plus bas prix pour l'article en condition "Used" (ie
les articles d'occasion) |
LowestOldPriceCurrency |
string |
La devise pour le LowestOldPrice |
TotalNew |
int |
Le nombre total des conditions "new" disponibles pour cet
article (ie le nombre de modèles neufs en stock) |
TotalUsed |
int |
Le nombre total des conditions "used" disponible pour cet
article (ie le nombre de modèles d'occasion en stock) |
TotalCollectible |
int |
Le nombre total des conditions "collectible" disponible
pour cet article (ie le nombre de pièces de collection en
stock) |
TotalRefurbished |
int |
Le nombre total des conditions "refurbished" disponible
pour cet article (ie le nombre de pièces remise à neuf en
stock) |
Offers |
array |
Un tableau d'objets
Zend_Service_Amazon_Offer |
Retour à la liste des
classes
Zend_Service_Amazon_Offer
Chaque offre pour un article est retourné sous la forme d'un objet
Zend_Service_Amazon_Offer.
Zend_Service_Amazon_Offer Properties
Propriétés de Zend_Service_Amazon_Offer
Name |
Type |
Description |
MerchantId |
string |
ID Amazon du fournisseur |
GlancePage |
string |
URL de la page avec un résumé du fournisseur |
Condition |
string |
Condition de cet article |
OfferListingId |
string |
ID de la liste d'offre |
Price |
int |
Prix de l'article |
CurrencyCode |
string |
Code de la devise pour le prix de l'article |
Availability |
string |
Disponibilité de l'article |
IsEligibleForSuperSaverShipping |
boolean |
Est-ce que l'article est éligible ou pas pour un "Super
Saver Shipping" |
Retour à la liste des
classes
Zend_Service_Amazon_SimilarProduct
Lors de la recherche d'articles, Amazon retourne aussi une liste de produits
similaires qui pourraient intéresser le visiteur. Chacun d'entre eux est retourné
dans un objet Zend_Service_Amazon_SimilarProduct.
Chaque objet contient l'information qui vous permet de faire les requêtes
suivantes pour obtenir les informations complètes sur un article.
Propriétés
Propriétés de Zend_Service_Amazon_SimilarProduct
Name |
Type |
Description |
ASIN |
string |
Identifiant unique d'un produit Amazon (ASIN) |
Title |
string |
Intitulé du produit |
Retour à la liste des
classes
Zend_Service_Amazon_Accessories
Les accessoires pour un article retourné sont représentés comme un objet
Zend_Service_Amazon_Accessories.
Propriétés
Propriétés de Zend_Service_Amazon_Accessories
Name |
Type |
Description |
ASIN |
string |
Identifiant unique d'un produit Amazon (ASIN) |
Title |
string |
Intitulé du produit |
Retour à la liste des
classes
Zend_Service_Amazon_CustomerReview
Chaque revue de client est retournée sous la forme d'un objet
Zend_Service_Amazon_CustomerReview.
Propriétés
Propriétés de Zend_Service_Amazon_CustomerReview
Name |
Type |
Description |
Rating |
string |
Evaluation de l'article |
HelpfulVotes |
string |
Votes pour "Ce commentaire vous a-t'il été utile
?" |
CustomerId |
string |
Identifiant du client |
TotalVotes |
string |
Total des votes |
Date |
string |
Date de la revue |
Summary |
string |
Sommaire de la revue |
Content |
string |
Contenu de la revue |
Retour à la liste des
classes
Zend_Service_Amazon_EditorialReview
Chaque revue éditoriale d'un article est retournée dans un objet
Zend_Service_Amazon_EditorialReview.
Propriétés
Propriétés de Zend_Service_Amazon_EditorialReview
Name |
Type |
Description |
Source |
string |
Source de la revue éditoriale |
Content |
string |
Contenu de la revue |
Retour à la liste des
classes
Zend_Service_Amazon_Listmania
Chaque résultat de liste ListMania est retourné dans un objet
Zend_Service_Amazon_Listmania.
Propriétés
Propriétés de Zend_Service_Amazon_Listmania
Name |
Type |
Description |
ListId |
string |
Identifiant de la liste |
ListName |
string |
Nom de la liste |
Retour à la liste des
classes
|
|