Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Descrizione

Questo metodo può essere utilizzato per inizializzare una sessione di editing all'interno del sistema.

Utilizzo

I parametri richiesti da questa funzione sono:

  • sessionType: Tipologia della sessione.
  • editorType: Tipologia di editor associato alla sessione.
  • productId: Id del prodotto associato alla sessione.
  • projectIdtemplateIdId del progetto template associato alla sessione, 0 se non necessario.
  • templateIdprojectIdId del template progetto associato alla sessione, 0 se non necessario.
  • customerId: Id del cliente associato alla sessione.
  • customerPasswordHash: hash in formato SHA1 della password del cliente.
  • shoppingCartUrl: Url del carrello esterno, false se non necessario.
  • shoppingCartExtraParams: Array di oggetti che rappresentano i parametri extra che verranno inviati al carrello esterno così composti:
    • paramName: Nome del parametro extra.
    • paramValue: Valore del parametro extra.
  • languageCode: Codice della lingua preimpostata nella sessione, false se non necessario, per maggiori informazioni sulle lingue disponibili consultare bGetAvailableLanguages.

 In caso di successo ritorna una stringa che rappresenta l'id della sessione.

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_CUSTOMER_PASSWORD: La password dell'utente non è valida
  • 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.

Status
colourRed
titleAttenzione

Info
titlePossibili tipologie di sessione

Il campo sessionType può avere i seguenti valori:

  • 0: Sessione per designer.
  • 1: Sessione per cliente.

In .NET è possibile utilizzare la struttura statica editorSessionType presente in Structures.

Info
titlePossibili tipologie di palette colori

Il campo editorType può avere i seguenti valori:

  • 1: PhotoEditor.
  • 2: SmartEditor.

In .NET è possibile utilizzare la struttura statica editorType presente in Structures.

Info
titleUtilizzo del carrello esterno

Se si utilizzare un carrello esterno andando a popolare il campo shoppingCartUrl è consigliato consultare la guida alla gestione dei dati e della risposta necessaria per il corretto funzionamento alla pagina Gestione carrello esterno.

 

Code Block
languagephp
titlePHP
linenumberstrue
require "vendor/autoload.php"
 
try {
    $ezPrintSDK = new ezPrintSDKWrapper('http://demo.ezprint.it');
	$apiToken = $ezPrintSDK->cLoginAPI('1WHm0icsupAEm9fil9en','yCHZ0nKiyn1MU0DhpgmG');
 
	$availableLanguages = $ezPrintSDK->backOffice->bGetAvailableLanguages();
	$customers = $ezPrintSDK->backOffice->bGetCustomers(false, false, false);
	$products = $ezPrintSDK->backOffice->bGetCatalogProducts(false, $availableLanguages[0]['languageId'], false, true, 100);
	
	$sessionHash = $ezPrintSDK->editor->eCreateEditorSession(1, $products[0]['editorType'], $products[0]['productId'], 0, $customers[0]['customerId'], sha1("password"), false, array(), false);
} catch (Exception $e) {
    echo 'Error Code: ',  $e->getMessage();
}

Code Block
languagejs
titleNode.js
linenumberstrue
try {
	var util = require('util');
	var sha1 = require('sha1');
	var ezPrintSDK = require('ezprint-sdk-wrapper');
	ezPrintSDK.initializeWrapper('http://demo.ezprint.it');
 
    var apiToken = ezPrintSDK.cLoginAPI('1WHm0icsupAEm9fil9en','yCHZ0nKiyn1MU0DhpgmG');
 	
	var availableLanguages = ezPrintSDK.backOffice.bGetAvailableLanguages();
	var customers = ezPrintSDK.backOffice.bGetCustomers(false, false, false);
	var products = ezPrintSDK.backOffice.bGetCatalogProducts(false, availableLanguages[0].languageId, false, true, 100);
	
	var sessionHash = ezPrintSDK.editor.eCreateEditorSession(1, products[0].editorType, products[0].productId, 0, customers[0].customerId, sha1("password"), false, [], false);
} catch (ex) {
	console.log(ex);
}
Code Block
languagec#
title.NET (C#)
linenumberstrue
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.customerItem> customers = ezPrintSDK.BackOffice.bGetCustomers(false, false, false);
	List<ezPrintSDKWrapper.Structures.productItem> products = ezPrintSDK.BackOffice.bGetCatalogProducts(false, availableLanguages[0].languageId, false, true, 100);
 
	HashAlgorithm algorithmSHA1 = SHA1.Create();
    StringBuilder sb1 = new StringBuilder();
                
	foreach (byte b in algorithmSHA1.ComputeHash(Encoding.UTF8.GetBytes("palladio")))
		sb1.Append(b.ToString("x2"));
 
	string sessionHash = ezPrintSDK.Editor.eCreateEditorSession(1, products[0].editorType, products[0].productId, 0, customers[0].customerId, sb1.ToString(), false, new List<ezPrintSDKWrapper.Structures.extraParamItem>(), false);

} catch (ezPrintException ex) {
	string ErrorMessage = ex.Message;
}