Zend_Service_AmazonIntroductionZend_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
plusRevues éditoriales et commercialesDes produits et accessoires similairesLes offres Amazon.comLes listes ListManiaPour pouvoir utiliser Zend_Service_Amazon, vous devez avant tout avoir une clé "developer
API" Amazon. Pour obtenir une telle clé et pour plus d'informations, vous pouvez visitez le site Web Amazon Web Services.AttentionVotre clé "developer API" est liée à votre identité Amazon, donc faites en sorte de conserver votre
clé d'API privée.Recherche sur Amazon en utilisant l'API traditionnelleDans cet exemple, nous recherchons les livres sur PHP disponibles chez Amazon et boucler sur les
résultats pour les afficher.itemSearch(array('SearchIndex' => 'Books',
'Keywords' => 'php'));
$results = $amazon->itemSearch(array('SearchIndex' => 'Books',
'Keywords' => 'php'));
foreach ($results as $result) {
echo $result->Title . ' ';
}
]]>Recherche sur Amazon en utilisant l'API de requêteIci 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.category('Books')->Keywords('PHP');
$results = $query->search();
foreach ($results as $result) {
echo $result->Title . ' ';
}
]]>Codes de paysPar 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 :Choisir un service Web Amazon d'un paysCodes de paysLes codes de pays valides sont CA, DE, FR, JP,
UK, et US.Rechercher un produit Amazon spécifique avec son ASINLa méthode itemLookup() fournit la possibilité de rechercher un produit Amazon particulier
lorsque son ASIN est connu.Rechercher une produit Amazon spécifique avec son ASINitemLookup('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. .Information sur les imagesPour 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 AmazonRechercher 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 :Lancer des recherches de produits sur AmazonitemSearch(array('SearchIndex' => 'Books',
'Keywords' => 'php'));
foreach ($results as $result) {
echo $result->Title . ' ';
}
]]>Utilisation de l'option ResponseGroupL'option ResponseGroup est utilisée pour contrôler les informations spécifiques qui sont
retournées dans la réponse.itemSearch(array(
'SearchIndex' => 'Books',
'Keywords' => 'php',
'ResponseGroup' => 'Small,ItemAttributes,Images,'
. 'SalesRank,Reviews,EditorialReview,'
. 'Similarities,ListmaniaLists'
));
foreach ($results as $result) {
echo $result->Title . ' ';
}
]]>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 La classe Zend_Service_Amazon_Query est
une enveloppe simple d'utilisation de cette méthode.Utiliser l'API alternative de requêtesIntroductionZend_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.Rechercher sur Amazon en utilisant l'API alternative de requêtesDans cet exemple, l'API de requêtes alternative est utilisée comme une interface fluide pour
spécifier les options et leurs valeurs respectives :Category('Books')->Keywords('PHP');
$results = $query->search();
foreach ($results as $result) {
echo $result->Title . ' ';
}
]]>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_AmazonLes classes suivantes sont toutes retournées par Zend_Service_Amazon::itemLookup() et Zend_Service_Amazon::itemSearch(): Zend_Service_Amazon_ItemZend_Service_Amazon_ImageZend_Service_Amazon_ResultSetZend_Service_Amazon_OfferSetZend_Service_Amazon_OfferZend_Service_Amazon_SimilarProductZend_Service_Amazon_AccessoriesZend_Service_Amazon_CustomerReviewZend_Service_Amazon_EditorialReviewZend_Service_Amazon_ListManiaZend_Service_Amazon_ItemZend_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()stringasXMLRetourne le XML original de l'articlePropriétésZend_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_ItemNomTypeDescriptionASINstringAmazon Item IDDetailPageURLstringURL pour la page de détail des articlesSalesRankintNiveau de vente pour cet articleSmallImageZend_Service_Amazon_ImagePetite image de l'articleMediumImageZend_Service_Amazon_ImageImage moyenne de l'articleLargeImageZend_Service_Amazon_ImageGrande image de l'articleSubjectsarraySujets de l'articleLes offres Zend_Service_Amazon_OfferSet
Sommaire des offres, et offres pour l'articleCustomerReviewsarrayLes revues clients sont représentées comme un tableau d'objets Zend_Service_Amazon_CustomerReview
EditorialReviewsarrayLes revues éditoriales sont représentées comme un tableau d'objets Zend_Service_Amazon_EditorialReview
SimilarProductsarrayLes produits similaires sont représentés comme un tableau d'objets Zend_Service_Amazon_SimilarProduct
AccessoriesarrayLes accessoires pour l'article sont représentés comme un tableau d'objets
Zend_Service_Amazon_Accessories
TracksarrayUn tableau contenant le nombre de pistes ainsi que les noms pour les CDs ou DVDs
musicauxListmaniaListsarrayLes listes Listmania reliées à un article, comme un tableau d'objets Zend_Service_Amazon_ListmaniaList
PromotionalTagstringBalise promotionnelle de l'article
Retour à la liste des classesZend_Service_Amazon_ImageZend_Service_Amazon_Image représente une image distante pour un produit.Propriétés
Propriétés de Zend_Service_Amazon_ImageNameTypeDescriptionUrlZend_UriUrl distante de l'imageHeightintLa hauteur (en pixels) de l'imageWidthintLa largeur (en pixels) de l'image
Retour à la liste des classesZend_Service_Amazon_ResultSetDes 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.SeekableIteratorImplé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()inttotalResultsRetourne le nombre total de résultats de la rechercheRetour à la liste des classesZend_Service_Amazon_OfferSetChaque 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_OfferSetNameTypeDescriptionLowestNewPriceintLe plus bas prix pour l'article en condition "New" (ie les articles
neufs)LowestNewPriceCurrencystringLa devise pour le LowestNewPriceLowestOldPriceintLe plus bas prix pour l'article en condition "Used" (ie les articles
d'occasion)LowestOldPriceCurrencystringLa devise pour le LowestOldPriceTotalNewintLe nombre total des conditions "new" disponibles pour cet article (ie le nombre
de modèles neufs en stock)TotalUsedintLe nombre total des conditions "used" disponible pour cet article (ie le nombre
de modèles d'occasion en stock)TotalCollectibleintLe nombre total des conditions "collectible" disponible pour cet article (ie le
nombre de pièces de collection en stock)TotalRefurbishedintLe nombre total des conditions "refurbished" disponible pour cet article (ie le
nombre de pièces remise à neuf en stock)OffersarrayUn tableau d'objets Zend_Service_Amazon_Offer
Retour à la liste des classesZend_Service_Amazon_OfferChaque 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_OfferNameTypeDescriptionMerchantIdstringID Amazon du fournisseurGlancePagestringURL de la page avec un résumé du fournisseurConditionstringCondition de cet articleOfferListingIdstringID de la liste d'offrePriceintPrix de l'articleCurrencyCodestringCode de la devise pour le prix de l'articleAvailabilitystringDisponibilité de l'articleIsEligibleForSuperSaverShippingbooleanEst-ce que l'article est éligible ou pas pour un "Super Saver Shipping"
Retour à la liste des classesZend_Service_Amazon_SimilarProductLors 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_SimilarProductNameTypeDescriptionASINstringIdentifiant unique d'un produit Amazon (ASIN)TitlestringIntitulé du produit
Retour à la liste des classesZend_Service_Amazon_AccessoriesLes 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_AccessoriesNameTypeDescriptionASINstringIdentifiant unique d'un produit Amazon (ASIN)TitlestringIntitulé du produit
Retour à la liste des classesZend_Service_Amazon_CustomerReviewChaque 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_CustomerReviewNameTypeDescriptionRatingstringEvaluation de l'articleHelpfulVotesstringVotes pour "Ce commentaire vous a-t'il été utile ?"CustomerIdstringIdentifiant du clientTotalVotesstringTotal des votesDatestringDate de la revueSummarystringSommaire de la revueContentstringContenu de la revue
Retour à la liste des classesZend_Service_Amazon_EditorialReviewChaque 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_EditorialReviewNameTypeDescriptionSourcestringSource de la revue éditorialeContentstringContenu de la revue
Retour à la liste des classesZend_Service_Amazon_ListmaniaChaque résultat de liste ListMania est retourné dans un objet
Zend_Service_Amazon_Listmania.Propriétés
Propriétés de Zend_Service_Amazon_ListmaniaNameTypeDescriptionListIdstringIdentifiant de la listeListNamestringNom de la liste