Page tree

Versions Compared

Key

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

Descrizione

Questo metodo può essere utilizzato per richiedere il rendering di un progetto presente all'interno del sistema.

Utilizzo

I parametri richiesti da questa funzione sono:

  • sessionType: Tipologia della sessioneprojectId: Id del progetto.
  • editorType: Tipologia di editor associato alla sessione.
  • productId: Id del prodotto associato alla sessione.
  • 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.
  • shoppingCartExtraParamsorderId: Id del numero d'ordine.
  • orderItemIndex: Indice del progetto all'interno dell'ordine.
  • covertToPdf: true se si vuole avere come formato di uscita un documento pdf, false in caso contrario.
  • splitPages: true se si vuole avere un output a pagine singole, false in caso contrario (il campo viene preso in cosiderazione solo per progetti provenienti da smartEditor).
  • callbackUrl: Url a cui verrà inviata la conferma al termine dell'operazione.
  • callbackExtraParamsArray di oggetti che rappresentano i parametri extra che verranno inviati al carrello esterno all'url di callback 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 bGetAvailableLanguagescustomerPasswordHash: Hash in formato SHA1 della password del cliente.

 In caso di successo ritorna una stringa un'intero che rappresenta l'id della sessionedello spool di rendering.

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_PROJECT_ID: Il del progetto 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.

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'], $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, 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;
}