Descrizione
Questo metodo può essere utilizzato per modificare una categoria presente all'interno del sistema.
Utilizzo
I parametri richiesti da questo metodo sono:
- categoryId: Id della categoria che si vuole modificare.
- categoryName: Array di oggetti che definiscano il nome della categoria nelle varie lingue così strutturati:
- languageId: Id della lingua.
- value: Nome della categoria nella lingua specificata, lunghezza minima 5 caratteri, massima 100.
- categoryDescription: Array di oggetti che definiscano la descrizione della categoria nelle varie lingue così strutturati:
- languageId: Id della lingua.
- value: Descrizione della categoria nella lingua specificata, lunghezza minima 5 caratteri, massima 100.
- categoryMetaDataDescription: Array di oggetti che definiscano la descrizione utilizzata dai motori di ricerca nelle varie lingue così strutturati:
- languageId: Id della lingua.
- value: Descrizione utilizzata dai motori di ricerca nella lingua specificata, lunghezza minima 5 caratteri, massima 100.
- categoryMetaDataKeywords: Array di oggetti che definiscano le keyword della categoria nelle varie lingue così strutturati:
- languageId: Id della lingua.
- value: Array di stringhe che definiscono la keyword nella lingua specificata.
- categoryMasterId: Id della categoria padre (0 = non ci sono categorie padre).
- categoryImage: Url dell'immagine di preview della categoria, false se non necessario.
- showOnCatalog: true se la categoria è visibile nello shop, false in caso contrario.
- displayColumns: Numero di colonne in cui vengono suddivise le sottocategorie all'interno dello shop.
- urlSeo: Path di navigazione google Friendly.
- layouts: Array di oggetti che rappresentano i layout associati alla categoria nei vari store (array vuoto se non si desidera effettuare sovrascrivere le impostazioni di default), così strutturati:
- layoutId: Il del layout.
- storeId: Id dello store a cui è associato il layout.
- stores: Array di interi che rappresentano gli id degli store a cui è associata la categoria.
- enable: true se la categoria è attiva, false in caso contrario.
- sortOrder: Numero che rappresenta l'indice di visualizzazione per questo elemento.
Il metodo non ha nessun valore di ritorno.
Gestione errori
In caso di errore il metodo genererà un'eccezione che riporterà uno dei seguenti codici di errore:
- ERROR_INVALID_CATEGORY_ID: L'id della categoria non è valido.
- ERROR_INVALID_PARAMS: Uno dei parametri inviati non è valido.
- ERROR_UNABLE_TO_GET_IMAGE: Si è verificato un errore nel salvataggio dell'immagine associata.
- 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.
PHP
require "vendor/autoload.php" try { $ezPrintSDK = new ezPrintSDKWrapper('http://demo.ezprint.it'); $apiToken = $ezPrintSDK->cLoginAPI('1WHm0icsupAEm9fil9en','yCHZ0nKiyn1MU0DhpgmG'); $availableLanguages = $ezPrintSDK->backOffice->bGetAvailableLanguages(); $categories = $ezPrintSDK->backOffice->bGetCatalogCategories(false, $availableLanguages[0]['languageId'], 100); $categoryName = array(); $categoryDescription = array(); $metaDataDescription = array(); $metaDataKeywords = array(); foreach($availableLanguages as $language) { $categoryName[] = array( 'languageId' => $language['languageId'], 'value' => 'Nome ' . $language['languageName'] ); $categoryDescription[] = array( 'languageId' => $language['languageId'], 'value' => 'Descrizione ' . $language['languageName'] ); $metaDataDescription[] = array( 'languageId' => $language['languageId'], 'value' => 'MetaData Descrizione' . $language['languageName'] ); $metaDataKeywords[] = array( 'languageId' => $language['languageId'], 'value' => array('metaData Keyword 1', 'metaData Keyword 2', 'metaData Keyword 3') ); } $ezPrintSDK->backOffice->bEditCatalogCategory($categories[0]['categoryId'], $categoryName, $categoryDescription, $metaDataDescription, $metaDataKeywords, false, false, true, 1, false, array(), array(0), true, 0); } catch (Exception $e) { echo 'Error Code: ', $e->getMessage(); }
Node.js
try { var ezPrintSDK = require('ezprint-sdk-wrapper'); ezPrintSDK.initializeWrapper('http://demo.ezprint.it'); var apiToken = ezPrintSDK.cLoginAPI('1WHm0icsupAEm9fil9en','yCHZ0nKiyn1MU0DhpgmG'); var availableLanguages = ezPrintSDK.backOffice.bGetAvailableLanguages(); var categories = $ezPrintSDK.backOffice.bGetCatalogCategories(false, availableLanguages[0].languageId, 100); var categoryName = []; var categoryDescription = []; var metaDataDescription = []; var metaDataKeywords = []; availableLanguages.forEach(function(language) { categoryName.push({ languageId: language['languageId'], value: 'Nome ' . language['languageName'] }); categoryDescription.push({ languageId: language['languageId'], value: 'Descrizione ' . language['languageName'] }); metaDataDescription.push({ languageId: language['languageId'], value: 'MetaData Descrizione' . language['languageName'] }); metaDataKeywords.push({ languageId: language['languageId'], value: ['metaData Keyword 1', 'metaData Keyword 2', 'metaData Keyword 3'] }); }); ezPrintSDK.backOffice.bEditCatalogCategory(categories[0].categoryId, categoryName, categoryDescription, metaDataDescription, metaDataKeywords, false, false, true, 1, false, [], [0], true, 0); } 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.localizationItem> categoryName = new List<ezPrintSDKWrapper.Structures.localizationItem>(); List<ezPrintSDKWrapper.Structures.localizationItem> categoryDescription = new List<ezPrintSDKWrapper.Structures.localizationItem>(); List<ezPrintSDKWrapper.Structures.localizationItem> metaDataDescription = new List<ezPrintSDKWrapper.Structures.localizationItem>(); List<ezPrintSDKWrapper.Structures.localizationItem> metaDataKeywords = new List<ezPrintSDKWrapper.Structures.localizationItem>(); List<ezPrintSDKWrapper.Structures.catalogCategoryItem> categories = ezPrintSDK.BackOffice.bGetCatalogCategories(false, availableLanguages[0].languageId, 100); foreach (ezPrintSDKWrapper.Structures.languageItem language in availableLanguages) { categoryName.Add(new ezPrintSDKWrapper.Structures.localizationItem() {languageId = language.languageId, value = "Name " + language.languageName}); categoryDescription.Add(new ezPrintSDKWrapper.Structures.localizationItem() {languageId = language.languageId, value = "Descrizione " + language.languageName}); metaDataDescription.Add(new ezPrintSDKWrapper.Structures.localizationItem() {languageId = language.languageId, value = "MetaData Descrizione " + language.languageName}); metaDataKeywords.Add(new ezPrintSDKWrapper.Structures.localizationItem() {languageId = language.languageId, value = new string[] {"metaData Keyword 1", "metaData Keyword 2", "metaData Keyword 3"}}); } ezPrintSDK.BackOffice.bEditCatalogCategory(categories[0].categoryId, categoryName, categoryDescription, metaDataDescription, metaDataKeywords, false, false, true, 1, false, new List<ezPrintSDKWrapper.Structures.catalogCategoryLayout>(), new int[] {0}, true, 0); } catch (ezPrintException ex) { string ErrorMessage = ex.Message; }