Descrizione
Questo metodo può essere utilizzato per aggiungere una classe di tassa all'interno del sistema.
Utilizzo
I parametri richiesti da questa funzione sono:
- taxClassName: Array di oggetti che definiscano il nome della classe di tassa nelle varie lingue così strutturati:
- languageId: Id della lingua.
- value: Nome del gruppo nella lingua specificata, lunghezza minima 5 caratteri, massima 100.
- taxClassDescription: Array di oggetti che definiscano la descrizione della classe di tassa nelle varie lingue così strutturati:
- languageId: Id della lingua.
- value: Nome del gruppo nella lingua specificata, lunghezza minima 5 caratteri, massima 100.
- taxRules: Array di oggetti che rappresentano le regole di calcolo della classe di tassa, così composti:
- taxRateId: Id dell'aliquota d'imposta associata alla regola.
- based: Elemento in base a cui viene calcola la regola (shipping = Indirizzo di spedizione, payment = Indirizzo di fatturazione, store = Indirizzo del negozio).
- priority: Numero che rappresenza l'ordine di esecuzione della regola.
In caso di successo ritorna un'intero che rappresenta l'id della classe di tassa.
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.
PHP
require "vendor/autoload.php" try { $ezPrintSDK = new ezPrintSDKWrapper('http://demo.ezprint.it'); $apiToken = $ezPrintSDK->cLoginAPI('1WHm0icsupAEm9fil9en','yCHZ0nKiyn1MU0DhpgmG'); $availableLanguages = $ezPrintSDK->backOffice->bGetAvailableLanguages(); $taxRates = $ezPrintSDK->backOffice->bGetTaxRates(false); $className = array(); $classDescription = array(); $taxRules = array( 'taxRateId' => $taxRates[0]["taxRateId"], 'based' => "payment", 'priority' => 0 ); foreach($availableLanguages as $language) { $className[] = array( 'languageId' => $language['languageId'], 'value' => 'Nome ' . $language['languageName'] ); $classDescription[] = array( 'languageId' => $language['languageId'], 'value' => 'Descrizione ' . $language['languageName'] ); } $taxClassId = $ezPrintSDK->backOffice->bAddTaxClass($className, $classDescription, $taxRules); } 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 taxRates = ezPrintSDK.backOffice.bGetTaxRates(false); var className = []; var classDescription = []; var taxRules = [{ taxRateId: taxRates[0].taxRateId, based: => "payment", priority: => 0 }]; availableLanguages.forEach(function(language) { className.push({ languageId: language['languageId'], value: 'Nome ' . language['languageName'] }); classDescription.push({ languageId: language['languageId'], value: 'Descrizione ' . language['languageName'] }); }); var taxClassId = ezPrintSDK.backOffice.bAddTaxClass(className, classDescription, taxRules); } 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.taxRateItem> taxRates = ezPrintSDK.BackOffice.bGetTaxRates(false); List<ezPrintSDKWrapper.Structures.localizationItem> className = new List<ezPrintSDKWrapper.Structures.localizationItem>(); List<ezPrintSDKWrapper.Structures.localizationItem> classDescription = new List<ezPrintSDKWrapper.Structures.localizationItem>(); List<ezPrintSDKWrapper.Structures.taxClassRuleItem> taxRules = new List<ezPrintSDKWrapper.Structures.taxClassRuleItem>(); taxRules.Add(new ezPrintSDKWrapper.Structures.taxClassRuleItem() {taxRateId = taxRates[0].taxRateId, based = ezPrintSDKWrapper.Structures.taxClassRuleBased.shippingAddress, priority = 0}); foreach (ezPrintSDKWrapper.Structures.languageItem language in availableLanguages) { className.Add(new ezPrintSDKWrapper.Structures.localizationItem() {languageId = language.languageId, value = "Name " + language.languageName}); classDescription.Add(new ezPrintSDKWrapper.Structures.localizationItem() {languageId = language.languageId, value = "Descrizione " + language.languageName}); } int taxClassId = ezPrintSDK.BackOffice.bAddTaxClass(className, classDescription, taxRules); } catch (ezPrintException ex) { string ErrorMessage = ex.Message; }