Zend_Service_AmazonIntroduçãoZend_Service_Amazon é uma simples API para utilização
dos web services do Amazon. Zend_Service_Amazon possui duas
APIs: uma mais tradicional que segue o padrão da própria Amazon API, e uma
simples API de consultas para facilitar a construção de pesquisas mais
complexas.Zend_Service_Amazon dá aos desenvolvedores a capacidade
de recuperar informações como se estivessem accessando os sites Amazon.com
diretamente através da Amazon Web Services API. Exemplos incluídos:
Armazenar informações de ítens, como imagens, descrições, preços, entre outros.
Revisões editoriais e por parte do cliente.
Produtos similares e acessórios.
Ofertas do Amazon.com.
Listas do tipo ListMania.
Para usar o Zend_Service_Amazon, você deve possuir uma
chave de desenvolvedor para acessar a Amazon API. Para obter uma chave e
outras informações, por favor visite o web site Amazon Web
Services.Attention
Sua chave de desenvolvedor Amazon API está ligada à sua identificação Amazon, então, tome medidas de segurança apropriadas para garantir a privacidade de sua chave.
Busca no Amazon usando a API tradicionalNeste exemplo, pesquisamos por livros de PHP no Amazon, executando
um laço para imprimir os resultados.<?php
require_once 'Zend/Service/Amazon.php';
$amazon = new Zend_Service_Amazon('AMAZON_API_KEY&');
$response = $amazon->itemSearch(array('SearchIndex' => 'Books', 'Keywords' => 'php'));
foreach ($response as $r) {
echo $r->Title .'<br />';
}
?> Busca no Amazon usando a Query APIAqui, nós pesquisamos por livros de PHP no Amazon, mas usando a
API de consulta, que implementa o padrão de projeto "Fluent
Interface".<?php
require_once 'Zend/Service/Amazon/Query.php';
$query = new Zend_Service_Amazon_Query('AMAZON_API_KEY');
$query->category('Books')->Keywords('PHP');
$results = $query->search();
foreach ($results as $result) {
echo $result->Title .'<br />';
}
?> Códigos de PaísesPor padrão, Zend_Service_Amazon conecta ao web service
do Amazon localizado nos Estado Unidos ("US"). Para
conectar-se a um país diferente, simplesmente especifique a respectiva
string de código de país como segundo parâmetro para o construtor:Selecionando o Amazon Web Service de um país<?php
// Connect to Amazon in Japan
require_once 'Zend/Service/Amazon.php';
$amazon = new Zend_Service_Amazon('AMAZON_API_KEY', 'JP');
?> Country codes
Códigos válidos podem ser: CA, DE,
FR, JP, UK, e
US.
Procurando por um ítem específico do Amazon com o código
ASINO método itemLookup() oferece a capacidade de procurar
por um ítem em particular quando o código ASIN é conhecido.Procurando por um ítem específico no Amazon usando ASIN<?php
require_once 'Zend/Service/Amazon.php';
$amazon = new Zend_Service_Amazon('AMAZON_API_KEY');
$item = $amazon->itemLookup('B0000A432X');
?> O método itemLookup() também aceita um segundo parâmetro opcional para lidar com as opções de busca. Para maiores detalhes, incluíndo uma lista de opções disponíveis, por favor consulte a respectiva documentação do Amazon
.Executando pesquisas de ítens no AmazonEfetuar buscas de ítens, baseando-se em um dos vários critérios de busca disponíveis, são tarefas simples se empregado o método itemSearch(), como mostrado no exemplo seguinte:Efetuando buscas de ítens no Amazon<?php
require_once 'Zend/Service/Amazon.php';
$amazon = new Zend_Service_Amazon('AMAZON_API_KEY');
$response = $amazon->itemSearch(array('SearchIndex' => 'Books', 'Keywords' => 'php'));
foreach($response as $r) {
echo $r->Title .'<br />';
}
?> O método itemSearch() aceita um simples array de parâmetros para lidar com as opções de busca. Para mais detalhes, incluíndo uma lista de opções disponíveis, consulte a respectiva
documentação do AmazonA classe
Zend_Service_Amazon_Query
é um meio fácil de usar um encapsulamento deste método. Usando a Query API AlternativaIntroduçãoZend_Service_Amazon_Query oferece uma API alternativa
para utilizar o Amazon Web Service. A API alternetiva utiliza o padrão de
projeto "Fluent Interface". Ou seja, todas as chamadas são feitas usando
métodos encadeados (ex:
$obj->method()->method2($arg))A API Zend_Service_Amazon_Query usa sobrecarga para
facilitar a definição dos ítens de busca, permitindo buscas baseadas nos
critérios especificados. Cada uma das opções é implementada como uma
chamada a método, e cada argumento respectivo, corresponde ao nome da
opção:Pesquisando o Amazon usando a Query API AlternativaNeste exemplo, a Query API alternativa é usada como uma interface
"fluente" para especificar opções e seus respectivos valores:<?php
require_once 'Zend/Service/Amazon/Query.php';
$query = new Zend_Service_Amazon_Query('MY_API_KEY');
$query->Category('Books')->Keywords('PHP');
$results = $query->search();
foreach ($results as $result) {
echo $result->Title .'<br />';
}
?> Isto atribui à opção Category o valor "Books" e à
opção Keywords o valor "PHP".Para mais informações e opções disponíveis, consulte a documentação
do Amazon específica ao assunto.Classes Zend_Service_AmazonAs classes abaixo listadas são retornadas pelos métodos Zend_Service_Amazon::itemLookup()
e 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 é uma classe usada para
representar um ítem do Amazon retornado pelo web service. Ele abrange
todos os atributos dos ítens, incluíndo título, descrição, críticas,
etc.Zend_Service_Amazon_Item::asXML()stringasXMLRetorna o XML original para o ítem pesquisado.PropriedadesZend_Service_Amazon_Item possui algumas propriedades
que estão diretamente relacionadas com suas similares na API padrão do
Amazon API.
Propriedade de Zend_Service_Amazon_ItemNomeTipoDescriçãoASINstringID do ítemDetailPageURLstringURL para a página de detalhes do ítemSalesRankstringPontuação de vendas para o ítemSmallImageZend_Service_Amazon_ImageImagem reduzida para o ítemMediumImageZend_Service_Amazon_ImageImagem de tamanho médio para o ítemLargeImageZend_Service_Amazon_ImageImagem grande para o ítemSubjectsarrayAssunto do ítemOffers
Zend_Service_Amazon_OfferSet
Resumo de ofertas e Ofertas para o ítemCustomerReviewsarrayCriticas dos clientes representadas como um array de
objetos
Zend_Service_Amazon_CustomerReview
EditorialReviewsarrayCríticas editoriais representadas como um array de
objetos
Zend_Service_Amazon_EditorialReview
SimilarProductsarrayProdutos similares representados como um array de objetos
Zend_Service_Amazon_SimilarProduct
AccessoriesarrayAcessórios para o ítem representadas como um array de
objetos
Zend_Service_Amazon_Accessories
TracksarrayUm array de números de trilhas e nomes para DVDs e CDs de
músicaListmaniaListsarrayÍtem relacionada à lista Listmania como um array de
objetos
Zend_Service_Amazon_ListmainList
PromotionalTagstringTag de ítem promocional
Retornar para a Lista de
Classes
Zend_Service_Amazon_ImageZend_Service_Amazon_Image representa uma imagem remota
de um produto.Propriedades
Propriedades de Zend_Service_Amazon_ImageNomeTipoDescriçãoUrlstringURL remota para a imagemHeightintAltura da imagem em pixelsWidthintLargura da imagem em pixels
Retornar para a Lista de
Classes
Zend_Service_Amazon_ResultSetObjetos Zend_Service_Amazon_ResultSet saõ retornados
por Zend_Service_Amazon::itemSearch()
e permitem a você manusear facilmente os múltiplos resultados
retornados.Image information
Implemente o SeekableIterator para fácil iteração
(ex: usando foreach), bem como, acesso direto a uma string
específica de resultados usando seek().
Zend_Service_Amazon_ResultSet::totalResults()inttotalResultsNúmero total de resultados retornados pela pesquisa
Retornar para a Lista de
Classes
Zend_Service_Amazon_OfferSetCada resultado retornado por Zend_Service_Amazon::itemSearch()
e Zend_Service_Amazon::itemLookup()
contém um objeto Zend_Service_Amazon_OfferSet através do qual
o preço do ítem pode ser recuperado.Propriedades
Propriedades de Zend_Service_Amazon_OfferSetNomeTipoDescriçãoLowestNewPriceintMenor preço para o ítem na condição de NOVOLowestNewPriceCurrencystringA moeda em que está expresso o
LowestNewPriceLowestOldPriceintMenor preço para o ítem na condição de USADOLowestOldPriceCurrencystringA moeda em que está expresso o
LowestOldPriceTotalNewintTotal de ítens "Novos" disponíveis TotalUsedintTotal de ítens "Usados" disponíveisTotalCollectibleintTotal de ítens "colecionáveis" disponíveisTotalRefurbishedintTotal de ítens "refurbished" disponíveisOffersarrayUm array de objetos
Zend_Service_Amazon_Offer.
Retornar para a Lista de
Classes
Zend_Service_Amazon_OfferAs ofertas para um dado ítem, são retornadas como objetos
Zend_Service_Amazon_Offer.Propriedades de Zend_Service_Amazon_Offer
PropriedadesNameTypeDescriptionMerchantIdstringID Amazon para fornecedoresGlancePagestringURL para uma página contendo um resumo do
fornecedor.ConditionstringCondição do ítemOfferListingIdstringID da listagem de Ofertas PriceintPreço do ítemCurrencyCodestringCódigo de moeda para o preço do ítemAvailabilitystringDisponibilidade do ítemIsEligibleForSuperSaverShippingbooleanInforma se o ítem é elegível para remessa super econômica
ou não
Retornar para a Lista de
Classes
Zend_Service_Amazon_SimilarProductAo executar uma busca por ítens, O Amazon também retorna uma lista
de produtos similares que podem ser localizados ao seu gosto. Cada um
deles é retornado como um objeto
Zend_Service_Amazon_SimilarProduct.Cada objeto contém a informação necessária para que as requisições
subsequentes recuperem informações detalhadas sobre o ítem.Propriedades
Propriedades de Zend_Service_Amazon_SimilarProductNameTypeDescriptionASINstringIdentificador único do produto no Amazon (ASIN)TitlestringTítulo do Produto
Retornar para a Lista de
Classes
Zend_Service_Amazon_AccessoriesAcessórios para o ítem retornado, são representados como objetos
Zend_Service_Amazon_AccessoriesPropriedades
Zend_Service_Amazon_Accessories PropertiesNameTypeDescriptionASINstringIdentificador único do produto no Amazon (ASIN)TitlestringTítulo do Produto
Retornar para a Lista de
Classes
Zend_Service_Amazon_CustomerReviewCada crítica feita pelo cliente é retornada como um objeto
Zend_Service_Amazon_CustomerReview.Propriedades
Propriedades de Zend_Service_Amazon_CustomerReview NameTypeDescriptionRatingstringCotação do ítemHelpfulVotesstringVotos na "utilidade" da crítica emitidaCustomerIdstringID do ClienteTotalVotesstringTotal de votos DatestringDataSummarystringResumoContentstringConteúdo
Retornar para a Lista de
Classes
Zend_Service_Amazon_EditorialReviewAs críticas editoriais são retornadoas como objetos
Zend_Service_Amazon_EditorialReviewPropriedades
Propriedades de Zend_Service_Amazon_EditorialReviewNameTypeDescriptionSourcestringFonte da crítica editorialContentstringConteúdo
Retornar para a Lista de
Classes
Zend_Service_Amazon_ListmaniaOs ítens da lista List Mania são retornados como objetos
Zend_Service_Amazon_Listmania.Propriedades
Propriedades de Zend_Service_Amazon_ListmaniaNameTypeDescriptionListIdstringList IDListNamestringList Name