Testa l'endpoint di dettaglio prodotto con i tuoi dati.
Ottieni informazioni dettagliate su un prodotto specifico nel tuo inventario
L'endpoint di dettaglio consente di recuperare informazioni complete su un prodotto specifico già presente nel tuo inventario. È possibile identificare il prodotto tramite codice EAN, ASIN, MINSAN o SKU.
I dettagli restituiti includono informazioni generali, descrizioni, specifiche tecniche, caratteristiche chiave, immagini e metadati.
GET https://api.commerceclarity.io/products/details/{id}/{country?}
Parametro | Tipo | Obbligatorio | Descrizione |
---|---|---|---|
id |
string | Obbligatorio | Identificatore univoco del prodotto. Può essere un codice EAN, ASIN, MINSAN o SKU |
country |
string | Opzionale | Codice del paese per cui ottenere i dettagli del prodotto. Se non specificato, viene utilizzato il paese predefinito dell'utente (products_default_country) |
Codice | Status | Descrizione |
---|---|---|
200 | success | Richiesta completata con successo, i dettagli del prodotto sono inclusi nella risposta |
202 | processing | Il prodotto è stato trovato ma è ancora in fase di elaborazione |
404 | error | Prodotto non trovato o non trovato per il paese selezionato |
400 | error | Errore generico durante l'elaborazione della richiesta |
{
"status": "success",
"product": {
"name": "Crema Idratante Biologica",
"category": [
"Salute e Bellezza",
"Cosmetica"
],
"google_category_id": "5863",
"brand": "NaturaSkin",
"code": "8004120057724",
"asin": "B07XYZ123AB",
"eans": ["8004120057724"],
"description": "Crema idratante biologica formulata con ingredienti naturali, adatta a tutti i tipi di pelle. Arricchita con vitamina E e aloe vera per un'idratazione profonda e duratura. Ideale per l'uso quotidiano, mattina e sera.",
"short_description": "Crema idratante biologica con vitamina E e aloe vera.",
"dimensions": {
"height": 8.5,
"width": 4.2,
"depth": 4.2
},
"weight": 150,
"specifications": {
"Contenuto": "50ml",
"Tipo di pelle": "Tutti i tipi",
"Ingredienti": "Aqua, Aloe Barbadensis Leaf Juice, Glycerin, Cetearyl Alcohol"
},
"grouped_specifications": {
"Caratteristiche Principali": {
"Contenuto": "50ml",
"Tipo di pelle": "Tutti i tipi"
},
"Ingredienti": {
"Ingredienti": "Aqua, Aloe Barbadensis Leaf Juice, Glycerin, Cetearyl Alcohol"
}
},
"required_specifications": [],
"key_features": [
"Formula 100% biologica",
"Arricchita con vitamina E",
"Idratazione profonda e duratura",
"Adatta a tutti i tipi di pelle",
"Dermatologicamente testata"
],
"pictures": [
"https://api.commerceclarity.io/storage/681e444qdqw13ebe23290e734f/0.jpg",
"https://api.commerceclarity.io/storage/681e444qdqw13ebe23290e734f/1.jpg",
"https://api.commerceclarity.io/storage/681e444qdqw13ebe23290e734f/2.jpg",
"https://api.commerceclarity.io/storage/681e444qdqw13ebe23290e734f/3.jpg",
"https://api.commerceclarity.io/storage/681e444qdqw13ebe23290e734f/4.jpg"
],
"tags": {
"title": "Crema Idratante Biologica NaturaSkin | Vitamina E e Aloe Vera",
"meta_description": "Crema idratante biologica con vitamina E e aloe vera per un'idratazione profonda e duratura. Adatta a tutti i tipi di pelle. Acquista online!",
"meta_keywords": ["crema idratante", "biologica", "vitamina E", "aloe vera", "naturale", "skincare"]
},
"customer_product_id": "NS-CRIO-001",
"custom_category": [
[
"Bellezza e Salute",
"Creme e Lozioni"
]
],
"custom_category_id": [
513
],
"publication_state": "published",
"validation_messages": [],
"sections": {
"section_benefit": "Questa crema offre un'idratazione profonda e duratura grazie alla combinazione unica di ingredienti biologici. La vitamina E agisce come antiossidante, proteggendo la pelle dai danni ambientali, mentre l'aloe vera lenisce e rinfresca.",
"section_instructions": "Applicare mattina e sera su viso e collo puliti, massaggiando delicatamente fino a completo assorbimento. Per risultati ottimali, utilizzare quotidianamente.",
"section_ingredients": "Tutti gli ingredienti sono selezionati da coltivazioni biologiche certificate. Non contiene parabeni, siliconi, coloranti o profumi artificiali."
}
}
}
{
"status": "processing",
"message": "Product is not yet created",
"code": 202
}
{
"status": "error",
"message": "Product Not Found",
"code": 404
}
Campo | Tipo | Descrizione |
---|---|---|
name |
string | Nome completo del prodotto |
category |
array | Alberatura categorie Google del prodotto |
google_category_id |
string | ID della categoria Google corrispondente |
brand |
string | Marca del prodotto |
code |
string | Codice principale del prodotto (EAN, ASIN o MINSAN) |
asin |
string | Codice ASIN (Amazon Standard Identification Number) del prodotto |
eans |
array | Array di codici EAN associati al prodotto |
description |
string | Descrizione completa del prodotto |
short_description |
string | Descrizione breve del prodotto |
dimensions |
object | Dimensioni fisiche del prodotto (altezza, larghezza, profondità) in cm (se disponibili) |
weight |
float | Peso del prodotto in g (se disponibile) |
specifications |
object | Lista di specifiche tecniche del prodotto come coppie nome-valore |
grouped_specifications |
object | Specifiche tecniche organizzate in gruppi per una migliore visualizzazione |
required_specifications |
object | Lista di nomi delle specifiche considerate obbligatorie per il prodotto (Solo su richiesta) |
key_features |
array | Lista di caratteristiche principali del prodotto |
pictures |
array | Array di URL delle immagini del prodotto |
tags |
object | Metadati SEO del prodotto (titolo, meta descrizione, meta keywords) |
customer_product_id |
string | Codice interno/personalizzato assegnato dall'utente al prodotto |
custom_category |
Array | Lista di categorie dall'utente |
custom_category_id |
array | Lista ID della categorie dell'utente |
publication_state |
string | Stato di pubblicazione del prodotto (es. "online", "ready") |
validation_messages |
array | Eventuali messaggi di validazione o avvisi relativi al prodotto |
sections |
object | Sezioni personalizzate di contenuto, organizzate come coppie nome-valore |
<?php
require 'vendor/autoload.php';
use GuzzleHttp\Client;
use GuzzleHttp\Exception\RequestException;
$client = new Client([
'base_uri' => 'https://api.commerceclarity.io',
'timeout' => 10.0,
'headers' => [
'Authorization' => 'Bearer IL_TUO_TOKEN_API',
'Accept' => 'application/json',
]
]);
$productId = '8004120057724'; // EAN, ASIN, MINSAN o SKU
$country = 'it'; // Opzionale - Paese per cui ottenere i dettagli
try {
$response = $client->get("/products/details/{$productId}/{$country}");
$result = json_decode($response->getBody()->getContents(), true);
if ($result['status'] === 'success') {
$product = $result['product'];
echo "Prodotto: " . $product['name'] . "\n";
echo "Brand: " . $product['brand'] . "\n";
echo "Descrizione: " . $product['short_description'] . "\n";
// Accesso alle specifiche tecniche
echo "\nSpecifiche tecniche:\n";
foreach ($product['specifications'] as $spec) {
echo "- " . $spec['name'] . ": " . $spec['value'] . "\n";
}
// Accesso alle caratteristiche principali
echo "\nCaratteristiche principali:\n";
foreach ($product['key_features'] as $feature) {
echo "- " . $feature . "\n";
}
// Accesso alle immagini
echo "\nImmagini:\n";
foreach ($product['pictures'] as $pictureUrl) {
echo "- " . $pictureUrl . "\n";
}
} else {
echo "Stato: " . $result['status'] . "\n";
echo "Messaggio: " . $result['message'] . "\n";
}
} catch (RequestException $e) {
echo "Errore: " . $e->getMessage() . "\n";
if ($e->hasResponse()) {
$errorResponse = json_decode($e->getResponse()->getBody()->getContents(), true);
echo "Codice errore: " . ($errorResponse['code'] ?? 'N/A') . "\n";
echo "Messaggio: " . ($errorResponse['message'] ?? 'nessun messaggio') . "\n";
}
}
// Configurazione della richiesta
const productId = '8004120057724'; // EAN, ASIN, MINSAN o SKU
const country = 'it'; // Opzionale - Paese per cui ottenere i dettagli
const apiUrl = `https://api.commerceclarity.io/products/details/${productId}/${country}`;
const token = 'IL_TUO_TOKEN_API';
// Effettua la richiesta API
fetch(apiUrl, {
method: 'GET',
headers: {
'Authorization': `Bearer ${token}`,
'Accept': 'application/json'
}
})
.then(response => {
if (!response.ok) {
return response.json().then(errorData => {
throw new Error(errorData.message || `Status: ${response.status}`);
});
}
return response.json();
})
.then(data => {
if (data.status === 'success') {
const product = data.product;
console.log(`Prodotto: ${product.name}`);
console.log(`Marca: ${product.brand}`);
console.log(`Descrizione: ${product.short_description}`);
// Accesso alle specifiche tecniche
console.log('\nSpecifiche tecniche:');
product.specifications.forEach(spec => {
console.log(`- ${spec.name}: ${spec.value}`);
});
// Accesso alle caratteristiche principali
console.log('\nCaratteristiche principali:');
product.key_features.forEach(feature => {
console.log(`- ${feature}`);
});
// Accesso alle immagini
console.log('\nImmagini:');
product.pictures.forEach(pictureUrl => {
console.log(`- ${pictureUrl}`);
});
// Esempio di come utilizzare i dati per popolare un'interfaccia
document.getElementById('productTitle').textContent = product.name;
document.getElementById('productBrand').textContent = product.brand;
document.getElementById('productDescription').textContent = product.description;
// Aggiungere immagini a una galleria
const galleryElement = document.getElementById('productGallery');
product.pictures.forEach(pictureUrl => {
const imgElement = document.createElement('img');
imgElement.src = pictureUrl;
imgElement.alt = product.name;
imgElement.classList.add('product-image');
galleryElement.appendChild(imgElement);
});
} else if (data.status === 'processing') {
console.log(`processing: ${data.message}`);
// Implementare logica per riprovare più tardi
} else {
console.error(`error: ${data.message}`);
}
})
.catch(error => {
console.error('Errore durante il recupero dei prezzi dei concorrenti:', error.message);
});
import requests
import json
# Configurazione API
productId = '8004120057724' # EAN, ASIN, MINSAN o SKU
country = 'it' # Opzionale - Paese per cui ottenere i dettagli
api_url = f'https://api.commerceclarity.io/products/details/{productId}/{country}'
token = 'IL_TUO_TOKEN_API'
headers = {
'Authorization': f'Bearer {token}',
'Accept': 'application/json'
}
try:
# Effettua la richiesta GET
response = requests.get(api_url, headers=headers)
# Solleva eccezione per errori HTTP
response.raise_for_status()
# Estrai i dati dalla risposta
data = response.json()
if data['status'] == 'success':
product = data['product']
print(f"Prodotto: {product['name']}")
print(f"Brand: {product['brand']}")
print(f"Descrizione: {product['short_description']}")
# Accesso alle specifiche tecniche
print("\nSpecifiche tecniche:")
for spec in product['specifications']:
print(f"- {spec['name']}: {spec['value']}")
# Accesso alle caratteristiche principali
print("\nCaratteristiche principali:")
for feature in product['key_features']:
print(f"- {feature}")
# Accesso alle immagini
print("\nImmagini:")
for picture_url in product['pictures']:
print(f"- {picture_url}")
# Esempio di come salvare i dettagli in un file JSON
with open(f"{productId}_details.json", 'w', encoding='utf-8') as f:
json.dump(product, f, ensure_ascii=False, indent=2)
print(f"\nI dettagli del prodotto sono stati salvati in {productId}_details.json")
elif data['status'] == 'processing':
print(f"Prodotto in elaborazione: {data['message']}")
# Implementare logica per riprovare più tardi
else:
print(f"Errore: {data['message']}")
except requests.exceptions.HTTPError as err:
print(f"Errore HTTP: {err}")
if response.text:
error_data = response.json()
print(f"Codice errore: {error_data.get('code', 'N/A')}")
print(f"Messaggio: {error_data.get('message', 'nessun messaggio')}")
except requests.exceptions.RequestException as err:
print(f"Errore durante la richiesta: {err}")
curl -X GET "https://api.commerceclarity.io/products/details/8004120057724/it" \
-H "Authorization: Bearer IL_TUO_TOKEN_API" \
-H "Accept: application/json"
Impara come autenticare le tue richieste API con token di accesso.
Vai all'AutenticazioneAggiungi nuovi prodotti al tuo inventario per poterne recuperare i dettagli.
Vedi Endpoint