Caso de uso
Importe avaliações do AliExpress para a sua loja PrestaShop
Uma página de produto sem avaliações converte pior. Obtenha em JSON as avaliações que o seu fornecedor já tem e carregue-as nos comentários de produto do próprio PrestaShop.
Avaliações que vivem no seu catálogo
O PrestaShop guarda as avaliações na tabela do seu módulo Product Comments, e é daí que vêm as estrelas, a média e os dados estruturados das suas páginas de produto. Importar para essa tabela significa nenhum módulo extra e nenhum iframe de terceiros.
A API dá-lhe as mesmas avaliações que o AliExpress mostra na página do produto, com os mesmos filtros, num formato JSON estável, em vez de um scraper que deixa de funcionar de poucas em poucas semanas.
Como funciona
- Encontre o ID do produto no AliExpress no URL: o número em
aliexpress.com/item/1005006123456789.html. - Escolha as avaliações: 4 e 5 estrelas (dois pedidos com
filter=5efilter=4), só com fotos, ou as do país dos seus clientes comfilter=local. - Traduza-as com
langpara o idioma de cada vista da loja:pt_BR,es_ES,fr_FR,it_IT… - Insira-as na tabela de comentários de produto, marcadas como validadas, com a data original.
Exemplo: do AliExpress aos comentários de produto do PrestaShop
Um script PHP independente que pode executar na linha de comandos do seu servidor. Carrega o PrestaShop, lê as avaliações de 5 estrelas e insere-as para um produto. Confirme os nomes das colunas com a sua versão do módulo Product Comments antes de o executar em produção.
<?php
// Insert the 5-star reviews of an AliExpress product as PrestaShop product comments.
// Run it from the command line on your server, after backing up the database.
require_once __DIR__ . '/config/config.inc.php';
$idProduct = 42; // your PrestaShop product
$ch = curl_init('https://api.aliexpress-reviews.com/v1/reviews/1005006123456789?filter=5&pageSize=20');
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => ['x-api-key: ' . getenv('REVIEWS_API_KEY')],
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$body = curl_exec($ch);
if (curl_getinfo($ch, CURLINFO_HTTP_CODE) !== 200) {
exit("Request failed\n");
}
$reviews = json_decode($body, true)['data'];
foreach ($reviews as $r) {
Db::getInstance()->insert('product_comment', [
'id_product' => (int) $idProduct,
'id_customer' => 0,
'id_guest' => 0,
'customer_name' => pSQL($r['author']),
'title' => pSQL(mb_substr($r['content'], 0, 60)),
'content' => pSQL($r['content']),
'grade' => (int) $r['rating'],
'validate' => 1,
'deleted' => 0,
'date_add' => pSQL($r['date'] . ' 12:00:00'),
]);
}Detalhes que vale a pena acertar
- Faça primeiro uma cópia de segurança. Teste numa cópia da base de dados: o esquema da tabela depende da versão do módulo.
- Mantenha a API key fora do front office. Execute-o a partir de um script CLI ou de um cron job, nunca a partir de um template.
- Evite duplicados guardando os ids das avaliações do AliExpress já importadas, por exemplo numa pequena tabela ou ficheiro.
- Fotos (
filter=image, plano Max): a resposta inclui os URL das imagens, caso queira mostrá-las na descrição ou descarregá-las.
Use-as com transparência
Mostre-as como avaliações do produto de compradores do AliExpress, não dos seus clientes. A lei do consumidor na UE obriga a informar de onde vêm as avaliações, e é também o que gera confiança.
Perguntas
Funciona com o PrestaShop 1.7 e 8?
A API é independente da versão do seu PrestaShop. O que muda é o esquema do módulo Product Comments, por isso confirme os nomes das colunas da tabela na sua instalação antes de importar.
Posso usar outro módulo de avaliações?
Sim. A API devolve JSON, por isso pode mapear os campos (classificação, texto, autor, data) para a tabela ou o formato de importação de qualquer módulo de avaliações.
Quantas avaliações posso obter?
Até 20 por pedido no Free e até 100 no Pro e no Max, com paginação para as percorrer todas. A quota é de 100, 1.000 ou 10.000 pedidos por dia, consoante o plano.
A API é afiliada ao AliExpress?
Não. Devolve as avaliações públicas que o AliExpress mostra nas páginas de produto, mas é um serviço independente.
Experimente com os seus produtos
100 pedidos por dia grátis, sem cartão. Cole o ID de um produto no tester do painel e veja o JSON.