Para obtener datos detallados sobre las interacciones de los compradores en Taobao, es posible utilizar endpoints específicos que devuelvne tanto las reseñas de los productos como la sección de preguntas y respuestas. A continuación, se detalla la implementación para consultar el historial de preguntas y repsuestas (item_question_answer) y las reseñas generales (item_review).
Ejemplo de Solicitud HTTP
El siguiente fragmento de código en PHP demuestra cómo realizar una petición GET utilizando cURL. Se ha optimizado la estructura para incluir un manejo básico de errores y una configuración más limpia de las opciones del cliente.
<?php
function fetchTaobaoQAData(string $itemId, int $page = 1): array {
$baseUrl = "https://api.example.com/taobao/item_question_answer/";
$queryParams = http_build_query([
'key' => 'YOUR_API_KEY',
'secret' => 'YOUR_API_SECRET',
'num_iid' => $itemId,
'page' => $page
]);
$fullUrl = $baseUrl . '?' . $queryParams;
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => $fullUrl,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_HTTPHEADER => ['Accept-Encoding: gzip'],
CURLOPT_ENCODING => 'gzip',
CURLOPT_TIMEOUT => 30
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if (curl_errno($ch)) {
throw new Exception('cURL Error: ' . curl_error($ch));
}
curl_close($ch);
if ($httpCode !== 200) {
throw new Exception("API request failed with status code: $httpCode");
}
return json_decode($response, true) ?: [];
}
// Uso del método
try {
$data = fetchTaobaoQAData('632521829807', 1);
print_r($data);
} catch (Exception $e) {
echo $e->getMessage();
}
?>
Estructura de la Respuesta
La API devuelve un objeto JSON que contiene la información del producto y un arreglo con las preguntas realizadas por los usuarios, junto con sus respectivas respuestas.
| Parámetro | Tipo | Descripción |
|---|---|---|
num_iid |
BigInt | Identificador único del producto. |
title |
String | Título o nombre del artículo. |
pic_url |
String | URL de la imagen principal del producto. |
total_question |
Int | Cantidad total de preguntas registradas. |
page_size |
Int | Número de elementos por página. |
item_question |
Array | Lista de objetos que representan cada pregunta. |
id |
String | Identificador de la pregunta. |
question_title |
String | Texto de la pregunta formulada. |
detail_url |
String | Enlace directo a la página de detalles de la pregunta. |
total_answer |
String | Número total de respuestas para esa pregunta. |
creat_time |
String | Fecha de creación de la pregunta. |
answer_info |
Object | Objeto que contiene los detalles de la respuesta principal. |
Adicionalmente, para el endpoint de reseñas (item_review), la respuesta incluye metadatos como el texto del comentario, fecha de publicación, imágenes adjuntas, apodo del comprador, atributos del producto comprado, comentarios adicionales y enlaces a videos.
Ejemplo de Payload JSON
A continuación se muestra un ejemplo de la estructura de datos devuelta por la API:
{
"num_iid": "774920183654",
"title": "Cuchillo plegable multifuncional de titanio con clip para bolsillo",
"pic_url": "https://img.alicdn.com/bao/uploaded/i1/123456789/O1CN01abc123_!!123456789.jpg",
"total_question": "24",
"page_size": 5,
"item_question": [
{
"id": "384756291048",
"question_title": "¿El mecanismo de bloqueo es fiable para uso diario?",
"detail_url": "https://market.m.taobao.com/app/mtb/questions-and-answers/pages/detail/index.html?id=384756291048",
"total_answer": "3",
"creat_time": "2023-05-12",
"answer_info": {
"id": "384756291049",
"answer_title": "Sí, el liner lock es muy sólido y no tiene juego lateral.",
"answer_time": "2023-05-13",
"nick": "Usuario***88",
"user_logo": "https://wwc.alicdn.com/avatar/getAvatar.do?userIdStr=XYZ123ABC"
}
},
{
"id": "384756291050",
"question_title": "¿Se puede llevar en el equipaje de mano del avión?",
"detail_url": "https://market.m.taobao.com/app/mtb/questions-and-answers/pages/detail/index.html?id=384756291050",
"total_answer": "5",
"creat_time": "2023-06-01",
"answer_info": {
"id": "384756291051",
"answer_title": "No, los controles de seguridad aeroportuaria lo confiscarán sin duda.",
"answer_time": "2023-06-02",
"nick": "Viajero***99",
"user_logo": "https://wwc.alicdn.com/avatar/getAvatar.do?userIdStr=DEF456GHI"
}
}
]
}