Descrizione
Questo metodo può essere utilizzato per ottenere la lista dei prodotti presenti all'interno del sistema.
Utilizzo
I parametri richiesti da questa funzione sono:
- productId: Id del prodotto di cui si vogliono ottenere informazioni, se impostato a false verranno ritornate tutti i prodotti presenti nel sistema.
- languageId: Id della lingua in cui si vogliono ottenere il nome, la descrizione, i metadata e i tags del prodotto, per le lingue disponibile vedere il metodo getAvailableLanguages.
- workflowType: Tipologia di prodotto che si vuole visualizzare.
- editorAvailable: true se si vuole ottenere la lista di prodotti con editor attivo, false in caso contrario.
- thumbSize: dimensione dell'immagine di preview espressa in pixel (la preview è generata in formato quadrato).
In caso di successo ritorna un'array di oggetti così strutturati:
- productId: Id del prodotto.
- productCode: Codice del prodotto.
- productSkuCode: Codice magazzino del prodotto.
- productName: Nome del prodotto.
- productDescription: Descrizione del prodotto.
- productMetaDataDescription: Descrizione utilizzata dai motori di ricerca.
- productMetaDataKeywords: Parole chiave indicizzate dai motori di ricerca.
- productTags: Array di stringhe che rappresentano i tags associati al prodotto.
- workflowType: Tipologia di prodotto.
- editorType: Tipologia di editor associato al prodotto.
- image: Url dell'immagine di preview del prodotto.
- urlSeo: Se impostato contiene il path di navigazione google Friendly.
- taxClassId: Id della classe di tassa associata al prodotto.
- manufacturerId: Id del marchio associato al prodotto.
- relatedProducts: Array di interi che rappresentano gli id dei prodotti associati.
- relatedCategories: Array di interi che rappresentano gli id delle categorie associate.
- relatedStores: Array di interi che rappresentano gli id degli store associati.
- relatedLayouts: Array di interi che rappresentano di id dei layout associati.
- rewardDefault: Numero di punti associati di default al prodotto
- rewards: Array di strutture che rappresentano i punti associati al prodotti, così strutturati:
- customerGroupId: Id del gruppo utenti collegato.
- points: Numero di punti assegnati.
- shippingAvailable: true se il prodotto richiede la spedizione, false in caso contrario.
- dateAvailable: Stringa contenente la data di disponibilità del prodotto nel formato YYYY-MM-DD HH:MM:SS.
- showDefaultPrice: true se durante la navigazione dello shop viene visualizzato il prezzo di partenza del prodotto, false in caso contrario.
- viewCount: Numero di visualizzazione del prodotto.
- enable: true se il prodotto è attivo, false in caso contrario.
- sortOrder: Numero che rappresenta l'indice di visualizzazione per questo elemento.
- dateCreated: Stringa contenente la data in cui è stato creato il prodotto nel formato YYYY-MM-DD HH:MM:SS.
- dateUpdated: Stringa contenente la data in cui è stato modificato il prodotto nel formato YYYY-MM-DD HH:MM:SS.
Gestione errori
In caso di errore il metodo genererà un'eccezione che riporterà uno dei seguenti codici di errore:
- ERROR_INVALID_PARAMS: Uno dei parametri inviati non è valido.
- ERROR_INVALID_TOKEN: Non è stato effettuato nessun login in precedenza o la sessione è scaduta per inutilizzo.
- ERROR_INVALID_IP: L'indirizzo ip del server che sta effettuando la chiamata non valido perchè non inserito nella whitelist associata alle credenziali.
- ERROR_SERVER_UNAVAILABLE: Il server non è disponibile o si è verificato un errore di comunicazione generico.
ATTENZIONE
Possibili tipologie di workflow
Il campo workflowType può avere i seguenti valori:
- SML: Prodotto stampato di piccolo formato.
- LRG: Prodotto stampato di grande formato.
- NPR: Prodotto non stampato.
- DIG: Prodotto digitale.
In .NET è possibile utilizzare la struttura statica CatalogItemWorkflowTypes presente in Structures.
Possibili tipologie di editor
Il campo editorType può avere i seguenti valori:
- 0: Nessun editor presente.
- 1: Photo Editor presente.
- 2: Smart Editor presente.
In .NET è possibile utilizzare la struttura statica CatalogItemEditorTypes presente in Structures.
PHP
require "vendor/autoload.php" try { $ezPrintSDK = new ezPrintSDKWrapper('http://demo.ezprint.it'); $apiToken = $ezPrintSDK->cLoginAPI('1WHm0icsupAEm9fil9en','yCHZ0nKiyn1MU0DhpgmG'); $availableLanguages = $ezPrintSDK->backOffice->bGetAvailableLanguages(); $products = $ezPrintSDK->backOffice->bGetCatalogProducts(false, $availableLanguages[0]['languageId'], false, false, 100); foreach($products as $product) { echo $product['productId'], ' ', $product['productName']; } } catch (Exception $e) { echo 'Error Code: ', $e->getMessage(); }
Node.js
try { var util = require('util'); var ezPrintSDK = require('ezprint-sdk-wrapper'); ezPrintSDK.initializeWrapper('http://demo.ezprint.it'); var apiToken = ezPrintSDK.cLoginAPI('1WHm0icsupAEm9fil9en','yCHZ0nKiyn1MU0DhpgmG'); var availableLanguages = ezPrintSDK.backOffice.bGetAvailableLanguages(); var products = ezPrintSDK.backOffice.bGetCatalogProducts(false, availableLanguages[0].languageId, false, false, 100); products.forEach(function(product) { console.log(product.productId); console.log(product.productName); }); } catch (ex) { console.log(ex); }
.NET (C#)
try { ezPrintSDKWrapper.Client ezPrintSDK = new ezPrintSDKWrapper.Client("http://demo.ezprint.it"); ezPrintSDK.cLoginAPI("1WHm0icsupAEm9fil9en","yCHZ0nKiyn1MU0DhpgmG"); List<ezPrintSDKWrapper.Structures.languageItem> availableLanguages = ezPrintSDK.BackOffice.bGetAvailableLanguages(); List<ezPrintSDKWrapper.Structures.productItem> products = ezPrintSDK.BackOffice.bGetCatalogProducts(false, availableLanguages[0].languageId, false, false, 100); System.Console.WriteLine("Catalog Product {0}: {1}", products[0].productId, products[0].productName); } catch (ezPrintException ex) { string ErrorMessage = ex.Message; }
products