Descrizione
Questo metodo può essere utilizzato per creare uno smartTemplate all'interno del sistema.
Utilizzo
I parametri richiesti da questa funzione sono:
- templateCode: Codice del template.
- templateName: Array di oggetti che definiscano il nome del template nelle varie lingue così strutturati:
- languageId: Id della lingua.
- value: Nome del template nella lingua specificata, lunghezza minima 5 caratteri, massima 100.
- templateImage: Url dell'immagine di preview del template, false se non necessario.
- productId: Id del prodotto associato al template.
- colorPaletteType: Tipologia di palette colore utilizzata nel template.
- colorPaletteItems: Array di stringhe che contengono i colori presenti nella palette in valori esadecimali #FFFFFF.
- presetColorId: Id del preset per i colori impostato nel template, false se non necessario.
- presetFontId: Id del preset per i fonts impostato nel template, false se non necessario.
- experienceType: Tipologia di interfaccia utente utilizzata nel template.
- flatWorkingArea: true se si vogliono rimuovere l'effetto di ombra e il bordo all'area di lavoro, false in caso contrario.
- workingAreaBackgroundColor: colore di sfondo da applicare all'area di lavoro espresso in valore decimale #FFFFFF, se impostato a false verrà mantenuto il colore di default.
- fontSizeMin: valore minimo dello slider per la dimensione del font, 0 per utilizzare il valore predefinito.
- fontSizeMax: valore massimo dello slider per la dimensione del font, 0 per utilizzare il valore predefinito.
- fontSizeDefault: valore di partenza dello slider per la dimensione del font, 0 per utilizzare il valore predefinito.
- googleFonts: Array di oggetti che rappresentano la lista di font associati al template così composti:
- fontId: Id del font
- fontName: Nome del font
- adobeTypeKit: Id del kit di adobe associato al template, false se non necessario.
- enable: true se la categoria è attiva, false in caso contrario.
- sortOrder: Numero che rappresenta l'indice di visualizzazione per questo elemento.
In caso di successo ritorna un intero che rappresenta l'id del template.
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_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.
ATTENZIONE
Possibili tipologie di palette colori
Il campo colorPaletteType può avere i seguenti valori:
- PALETTE: I colori potranno essere scelti da un palette limitata di valori definita nel template.
- PICKER: I colori potranno essere scelti trami un colorpicker.
In .NET è possibile utilizzare la struttura statica colorPaletteTypes presente in Structures.
Possibili tipologie di interfaccia editor
Il campo experienceType può avere i seguenti valori:
- 0: Interfaccia professionale senza wizard di caricamento foto.
- 1: Interfaccia professionale con wizard di caricamento foto.
- 2: Interfaccia smart senza wizard di caricamento foto.
- 3: Interfaccia smart con wizard di caricamento foto.
In .NET è possibile utilizzare la struttura statica experienceTypes presente in Structures.
PHP
require "vendor/autoload.php" try { $ezPrintSDK = new ezPrintSDKWrapper('http://demo.ezprint.it'); $apiToken = $ezPrintSDK->cLoginAPI('1WHm0icsupAEm9fil9en','yCHZ0nKiyn1MU0DhpgmG'); $googleFonts = $ezPrintSDK->editor->eGetGoogleFonts(); $availableLanguages = $ezPrintSDK->backOffice->bGetAvailableLanguages(); $products = $ezPrintSDK->backOffice->bGetCatalogProducts(false, $availableLanguages[0]['languageId'], false, true, 100); $templateName = array(); foreach($availableLanguages as $language) { $templateName[] = array( 'languageId' => $language['languageId'], 'value' => 'Nome ' . $language['languageName'] ); } $templateId = $ezPrintSDK->editor->eAddSmartTemplate('TEST_CODE', $templateName, false, $products[0]['productId'], 'PICKER', array(), false, false, 0, false, false, 0, 0, 0, array_slice($googleFonts), 0, 5), '', 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 googleFonts = ezPrintSDK.editor.eGetGoogleFonts(); var availableLanguages = $ezPrintSDK.backOffice.bGetAvailableLanguages(); var products = $ezPrintSDK.backOffice.bGetCatalogProducts(false, availableLanguages[0].languageId, false, true, 100); var templateName = []; availableLanguages.forEach(function(language) { templateName.push({ languageId: language['languageId'], value: 'Nome ' . language['languageName'] }); }); var templateId = ezPrintSDK.editor.eAddSmartTemplate('TEST_CODE', templateName, false, products[0].productId, 'PICKER', [], false, false, 0, false, false, 0, 0, 0, googleFonts.slice(0, 5), '', 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.googleFontItem> googleFonts = ezPrintSDK.Editor.eGetGoogleFonts(); List<ezPrintSDKWrapper.Structures.languageItem> availableLanguages = ezPrintSDK.BackOffice.bGetAvailableLanguages(); List<ezPrintSDKWrapper.Structures.localizationItem> templateName = new List<ezPrintSDKWrapper.Structures.localizationItem>(); List<ezPrintSDKWrapper.Structures.productItem> products = ezPrintSDK.BackOffice.bGetCatalogProducts(false, availableLanguages[0].languageId, false, true, 100); foreach (ezPrintSDKWrapper.Structures.languageItem language in availableLanguages) { templateName.Add(new ezPrintSDKWrapper.Structures.localizationItem() {languageId = language.languageId, value = "Name " + language.languageName}); } int templateId = ezPrintSDK.Editor.eAddSmartTemplate("TEST_CODE", templateName, false, products[0].productId, ezPrintSDKWrapper.Structures.colorPaletteTypes.pickerType, new string[] { }, false, false, ezPrintSDKWrapper.Structures.experienceTypes.proInterfaceWithoutWizard, false, false, 0, 0, 0, googleFonts.Take(5).ToList(), "", true, 0); } catch (ezPrintException ex) { string ErrorMessage = ex.Message; }