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 2 Next »

Descrizione

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

Utilizzo

I parametri richiesti da questa funzione sono:

  • projectId: Id del progetto.
  • orderId: Id del numero d'ordine.
  • orderItemIndex: Indice del progetto all'interno dell'ordine.
  • previewHeight: Intero che rappresenta l'altezza della preview da generare (la larghezza viene calcolata in proporzione). minimo 50px massimo 500px.
  • callbackUrl: Url a cui verrà inviata la conferma al termine dell'operazione, false se non necessario.
  • callbackExtraParams: Array di oggetti che rappresentano i parametri extra che verranno inviati all'url di callback così composti:
    • paramName: Nome del parametro extra.
    • paramValue: Valore del parametro extra.
  • customerPasswordHash: Hash in formato SHA1 della password del cliente.

 In caso di successo ritorna un'intero che rappresenta l'id dello 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.

ATTENZIONE

Esempio struttura dati inviati all'url di callback
<?xml version="1.0" encoding="UTF-8"?>
<data>
    <taskId>11</taskId>
    <taskStatus>PROCESSED</taskStatus>
    <taskStartTime>2016-04-18 15:39:41</taskStartTime>
    <taskEndTime>2016-04-18 15:58:21</taskEndTime>
    <projectId>8</projectId>
</data>

 

PHP
require "vendor/autoload.php"
 
try {
    $ezPrintSDK = new ezPrintSDKWrapper('http://demo.ezprint.it');
	$apiToken = $ezPrintSDK->cLoginAPI('1WHm0icsupAEm9fil9en','yCHZ0nKiyn1MU0DhpgmG');
 
	$projectsList = $ezPrintSDK->editor->eGetProjects(false, false, false, 100);
	
	$renderingSpoolId = $ezPrintSDK->editor->eRequestPreviewRendering($projectsList[0]['projectId'], 1, 1, 500, false, array(), sha1("password"));
} catch (Exception $e) {
    echo 'Error Code: ',  $e->getMessage();
}

Node.js
try {
	var sha1 = require('sha1');
	var ezPrintSDK = require('ezprint-sdk-wrapper');
	ezPrintSDK.initializeWrapper('http://demo.ezprint.it');

	var projectsList = ezPrintSDK.editor.eGetProjects(false, false, false, 100);
 	
	var renderingSpoolId = ezPrintSDK.editor.eRequestPreviewRendering(projectsList[0].projectId, 1, 1, 500, false, [], sha1("password"));
} 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.projectItem> projectsList = ezPrintSDK.Editor.eGetProjects(false, false, false, 100);

	HashAlgorithm algorithmSHA1 = SHA1.Create();
    StringBuilder sb1 = new StringBuilder();
                
	foreach (byte b in algorithmSHA1.ComputeHash(Encoding.UTF8.GetBytes("palladio")))
		sb1.Append(b.ToString("x2"));
 
	int renderingSpoolId = ezPrintSDK.Editor.eRequestPreviewRendering(projectsList[0].projectId, 1, 1, 500, false, new List<ezPrintSDKWrapper.Structures.extraParamItem>(), sb1.ToString());
} catch (ezPrintException ex) {
	string ErrorMessage = ex.Message;
}
  • No labels