Page tree
Skip to end of metadata
Go to start of metadata

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.
  • dateAvailableStringa 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 
  • No labels