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

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

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.
  • templateId: Id del template associato alla sessione, se non necessario.
  • projectId: Id del 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.
  • customizeLogoutUrl: Url di logout personalizzato.
  • 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.

ATTENZIONE

Possibili 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.

Possibili tipologie di editor

Il campo editorType può avere i seguenti valori:

  • 1: PhotoEditor.
  • 2: SmartEditor.

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

Utilizzo 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.

 

PHP
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, 0, $customers[0]['customerId'], sha1("password"), false, array(), false, false);
} catch (Exception $e) {
    echo 'Error Code: ',  $e->getMessage();
}

Node.js
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, 0, customers[0].customerId, sha1("password"), false, [], false, false);
} 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.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, 0, customers[0].customerId, sb1.ToString(), false, new List<ezPrintSDKWrapper.Structures.extraParamItem>(), false, false);

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