News
20.01.2024 | Extension API-Function getCustomCatalogue
The function getCustomCatalogue has been extended. Now it is possible to get multiple Prices (up to 10) in one Request.
Therefore you have to take multiple quantities in the parameter quantity.
Example:
quantity=1_quantity|50_quantity|100_quantity
The prices are return in the respone in productList – selectGroupList – optionList in array optionTranslations.
The value of the field optionName is the requested quantity. (In the example 1_quantity or 50_quantity or 100_quantity)
Administration (10)
Error on request interface: Could not connect to host
The variable “stream_context” only has to be set in the sample or dev system, in the live environment this has to be omitted.
The certificate used for the sample, dev or production system is specified in the “local_cert” variable.
Error on request interface: Not Extended
The path to the specified certificate is incorrect.
Use the login data of your UP customer account to register.
- print24: e-mail address and password
- SOAP API: customer number and password (+Certificate)
- REST API: e-mail address and password
Examples of the USS Connect Web Service Description Language (WSDL) can be found at the following link: http://upi.unitedprint.com
The standard UPI tracking function is a simple HTTP callback.
For defined events in the creation process, status changes with definable parameters are transmitted to a URL that they announced.
Below are two examples of a status change (to “Cancellation”) based on the order_number 999999
as well as the customer_number 1234567.
HTTP JSON callback
https://your_url.de/?execute=join/unitedprint.job/state-set&order_number=9999999&item_group_name=flyer&customer_item_name=myfirst order&actual_state=order_stati_7000_4&shipment_number=1&customer_number=1234567
HTTP callback
https://your_url.de/tracking.php?order_number=999999&item_group_name=flyer&customer_item_name=myfirst order&actual_state=order_stati_7000_4&shipment_number=1&customer_number=1234567
This PHP call writes a “tracking.log” in the same directory with the parameters previously defined by you.
The status of an order is not queried via the interface. Instead, information is returned to the partner via the interface.
When the status in the UP system is changing, a script can be called up by the partner using a so-called “http callback”. This is possible for every relevant status change.
Possible status changes are
- Acknowledgement of order
- Data processing
- Pooling
- Processing
- Shipping deployment
- Shipping
- Cancellation
Different values can be transferred for each script.
Can be selected
- General information
- Order number
- Location information
- Status
- Delivery date
- Position number
- Item delivery information
- Delivery service (Carrier)
- Tracking number
- Subset
Return values / mapping delivery service (Carrier service)[carrier_service_id]
- 2 DPD (www.dpd.com)
- 26 DHL Express National (www.dhl.de)
- 27 DHL Express International
- 31 Schenker (www.schenker.com)
- 35 Schenker (www.schenker.com)
- 49 DPD (www.dpd.com)
- 50 DPD (www.dpd.com)
- 52 GEL (www.gel-express.de)
- 77 DHL Paket
- 76 DHL Economy Select
- 82 FedEx Regional Economy (www.fedex.com)
- 83 FedEx International Economy (www.fedex.com)
- 84 FedEx International Prio Express (www.fedex.com)
- 85 FedEx First
- 86 FedEx Priority
- 87 FedEx Priority Express
- 88 DPD Classic
Return values / mapping status values
- order_stati_1000_4 Acknowledgement of order
- order_stati_1500_4 File check
- order_stati_1600_4 Customize release
- order_stati_1750_4 Data processing
- order_stati_2000_4 Pooling
- order_stati_3000_4 Pre-press stage
- order_stati_3400_4 Plotting
- order_stati_3600_4 Stamping
- order_stati_3700_4 Plating
- order_stati_4000_4 Printing
- order_stati_5000_4 Processing
- order_stati_5400_4 Shipping deployment
- order_stati_5800_4 Shipping stop
- order_stati_6000_4 Shipping
- order_stati_7000_4 Cancellation
UP must activate the authorization to transmit the tracking information explezit for you. For this it is necessary to give us a callback URL.
Tracking examples you can find here.
Currently, no plug-in for third party eCommerce or Onlineshop systems such as Magento, PrestaShop, SAP etc. can be provided for USS Connect.
This largely depends on the technological environment used and how you want to integrate the interface into your processes.
As a rule, the integration should be completed within a few days.
For all example scripts, the contents of the required fields for password, customerNumber and portalName must be replaced with the values sent to you by UP.
$args -> accountInformation -> password = ‘pwd’;
$args -> accountInformation -> customerNumber = 123456789;
$args -> accountInformation -> portalName = ‘portal’;
$args -> accountInformation -> languageCode = ‘de’;
$args -> accountInformation -> countryCode = ‘DE’;
You will receive three independent communication certificates for using the SOAP interface.
These certificates are used both for communication with the product catalog and for order creation.
sample_cert
Certificate for access to the test environment:
client certificate (click to download)
You will receive the certificates for your individual test (dev_cert) and productive system (prod_cert) after signing the contract by e-mail.
dev_cert
soap service = http://interface.unitedprint.com.onts.print24test.de/
It is a test server with the same catalog as your production system. You can test orders without consequences.
Note
This test system is overwritten every night by your online product configurations.
Attention
Do not confuse your dev_cert with public sample_cert on our example page
prod_cert
soap service = interface.unitedprint.com
Orders on this system are recorded in the Unitedprint production system as an order including the corresponding booking.
In the event of an inadvertent order, immediately inform print24 support so that the order can be canceled free of charge.
Note
Use our service from Monday to Friday from 8 a.m. to 6 p.m.
ServiceCall 0351/79550650
Send us your questions or requests via e-mail at any time support@print24.de.
Das SOAP Array ist wie nachfolgend beschrieben aufgebaut.
$options = array(
‘soap_version’ => SOAP_1_1,’exceptions’ => true,
‘trace’ => 1,
‘cache_wsdl’ => WSDL_CACHE_NONE,
‘local_cert’ => ‘C:/xampp/htdocs/js/Certs/sample.cert’,
‘charset’ => ‘utf8’,
‘stream_context’ => stream_context_create([‘ssl’ => [‘verify_peer’ => false, ‘verify_peer_name’ => false, ‘allow_self_signed’ => true]])
);
Note
The variable “stream_context” only needs to be set in the sample or dev system. This has to be omitted in the live environment.
The certificate used for the sample, dev or productive system is specified in the “local_cert” variable.
The web service is specified in the variable $ soap_service.
Sample and Dev
http://interface.unitedprint.com.onts.print24test.de/wsdl2.1
Productive
http://interface.unitedprint.com/wsdl2.1
General (3)
USS Connect is the SOAP interface of Unitedprint (UP) for controlling API calls (Application Programming Interface).
From price queries and convenient product selection and ordering through to tracking production progress, the entire ordering process can be carried out using direct service calls.
The interface works according to the SOAP standard and is designed so that it can be integrated directly into a merchandise management system or workflow.
These 4 modules are currently available:
- Manage a personal product catalog
- Price inquiry and ordering
- Manage customer profiles and address data
- Configure communication channels for order (tracking)
Your customer account must be unlocked by UP for interface operation.
Also a SSL certificate is required to access the interface.
An UP customer account is required to use the interface.
If you do not yet have a valid customer account, please register with one of the portals offered by UP in your country.
To receive the necessary contract documents, please send an e-mail to info@unitedprintshopervices.com.
After we have received and checked the complete documents, you will receive the necessary access certificates within a few days.
With the USS Connect service “Catalog” you have the possibility to query available products, product options and prices in real time and to use this information in your frontend.
Order (8)
If an order cannot be transferred correctly, please check whether the parameter validate = 0 was set correctly?
With $ args -> validate = 1 the order is not transferred to the UP system and no order number is returned.
In this case, set the parameter as follows. $ args -> validate = 0
The product PDF is usually downloaded via an FTP server.
PDF-Download FTP
$args -> orderPositions[0] -> dataSourceInformation -> dataSourceUser = ‘username’;
$args -> orderPositions[0] -> dataSourceInformation -> dataSourcePassword = ‘passw0rd’;
$args -> orderPositions[0] -> dataSourceInformation -> dataSourcePort = 21;
$args -> orderPositions[0] -> dataSourceInformation -> dataSourceHost = ‘ftp://testftp/filename.pdf’;
$args -> orderPositions[0] -> dataSourceInformation -> dataTransmission = ‘download’;
The access data for the FTP server (user, password, port) and the name of the PDF that is to be transferred to UP are specified here. The value “download” must appear in the field “dataTransmission”.
Alternatively, the PDF download can also be carried out via the URL of a web server. To do this, access to the PDF must be possible.
The variables “dataSourceUser” , “dataSourcePassword” and “dataSourcePort” must not be empty.
PDF-Download URL
$args -> orderPositions[0] -> dataSourceInformation -> dataSourceUser = ‘xxx’;
$args -> orderPositions[0] -> dataSourceInformation -> dataSourcePassword = ‘yyy’;
$args -> orderPositions[0] -> dataSourceInformation -> dataSourcePort = 21;
$args -> orderPositions[0] -> dataSourceInformation -> dataSourceHost = ‘ftp://testftp/filename.pdf’;
$args -> orderPositions[0] -> dataSourceInformation -> dataTransmission = ‘download’;
You have various options for placing test orders.
Sample
Test page = http://interface.unitedprint.com/ws2/catalogue.php
Test server with an example catalog.
You can test orders without restriction.
Test
soap service = http://interface.unitedprint.com.onts.print24test.de/
Test server with the same catalog as your production system.
You can test orders without restriction.
Produktiv
soap service = http://interface.unitedprint.com
Live serves, orders are recorded in the UP productive system as an order – including the corresponding booking.
Note
For test orders that should not be produced, please contact the support.
The order can be canceled there.
Use our service from Monday to Friday from 8 a.m. to 6 p.m.
ServiceCall 0351/79550650
Send us your questions or requests via e-mail at any time support@print24.de.
Special formats can also be defined when ordering. To do this, select the desired article in the next larger format and transfer the special format values via the following additional parameters in createOrder().
Example
For a flyer with a format of 150 x 150 mm, the next larger format with 183 x 273 mm should be selected.
class specialFormatType {
public $width; // int
public $height; // int
public $formatType; // string
}
class orderDataType {
public $customerProductId; // string
public $orderQuantity; // int
public $aspectRatio; // string
public $shippingType; // string
public $orderName; // string
public $customerCopy; // int
public $customerComment; // string
public $specialFormatValues;
}
$args->orderPositions[0]->orderInformation->specialFormatValues = new specialFormatType();
$args->orderPositions[0]->orderInformation->specialFormatValues->width = 150;
$args->orderPositions[0]->orderInformation->specialFormatValues->height = 150;
$args->orderPositions[0]->orderInformation->specialFormatValues->formatType = ‘special format‘;
Special colors can also be selected when configuring the item. This requires extensions in the createOrder() code.
class pairOfValueType {
public $name;
public $value;
}
class orderDataType {
public $customerProductId; // string
public $orderQuantity; // int
public $aspectRatio; // string
public $shippingType; // string
public $orderName; // string
public $customerCopy; // int
public $customerComment; // string
public $specialColorValues;
}
$args->orderPositions[0]->orderInformation->specialColorValues = new pairOfValueType();
$args->orderPositions[0]->orderInformation->specialColorValues->name = ‘farben’;
Example
# HKS color key
# $args->orderPositions[0]->orderInformation->specialColorValues->value = ’92’;

Example
# Pantone color key
# $args->orderPositions[0]->orderInformation->specialColorValues->value = ‘295’;

Possible color values for HKS or PANTONE
var a_sc_names_p = [ ‘137’,’151′,’1505′,’1585′,’021′,’012′,’382′,’7488′,’032′,’186′,’375′,’376′,’320′,’292′,’293′,’280′,’286′,’288′,’294′,’295′,’Reflex Blue’,’Gray Cool 3′,’430′,’Gray Cool 10′,’4625′ ];
var a_sc_names_h = [ ’03’,’04’,’05’,’06’,’07’,’08’,’13’,’14’,’15’,’16’,’17’,’18’,’83’,’93’,’92’,’67’,’66’,’65’,’55’,’52’,’47’,’44’,’43’,’42’,’41’ ];
Freeforms can also be defined when ordering. To do this, select the desired article in the neccessary format and transfer the special format values via the following additional parameters in createOrder().
Example
class specialFormatType {
public $width; // int
public $height; // int
public $formatType; // string
}
class orderDataType {
public $customerProductId; // string
public $orderQuantity; // int
public $aspectRatio; // string
public $shippingType; // string
public $orderName; // string
public $customerCopy; // int
public $customerComment; // string
public $specialFormatValues;
}
$args->orderPositions[0]->orderInformation->specialFormatValues = new specialFormatType();
$args->orderPositions[0]->orderInformation->specialFormatValues->width = 150;
$args->orderPositions[0]->orderInformation->specialFormatValues->height = 150;
$args->orderPositions[0]->orderInformation->specialFormatValues->formatType = ‘free_form‘;
Note
For Freeform, create a vector path in your printing data, showing the cutting line. Give this path a spot colour, name the special colour “cutting line”, and set it to “Overprint”.
unitedprint waits 28 days for the receipt of your data.
As usual, you will be reminded of pending data uploads.
Note
You can collect data from unitedprint. When ordering, simply tell us the link (FTP / AWS) to your data.
Experience has shown that response when creating an order can occur times of > 300 seconds.
Set your response timeout to 360 seconds
Payment (3)
The following payment methods are available for the payment of your automated orders.
- Advance Payment
- Invoice*
- PayPal**
- SEPA-Direct debit***
- Creditcard ****
These paymentMethods are used for the createOrderRequestType.
- Advance Payment = paymentInformation->paymentMethod = ‘ADP’
- Invoice= paymentInformation->paymentMethod = ‘INV’
- PayPal = paymentInformation->paymentMethod = ‘PAY’;
- SEPA = paymentInformation->paymentMethod = ‘SDB’;
- Creditcard = paymentInformation->paymentMethod = ‘CRC’;
* requires a mandate for UP
** requires activation by UP
*** in Germany only
**** requires activation by UP
If the “createOrder” function delivers the following response, please send an e-mail to the following address. connect@unitedprintshopservices.com
important: Payment method failed! Value is: INV
Note
Your UP customer account is blocked for the payment method Invoice.
The easiest way for payment to unitedprint is the SEPA direct debit.
In the form already prepared by us, you only have to enter your bank details, sign and send the original in duplicate by post to the following address:
unitedprint.com Deutschland GmbH
Friedrich-List-Straße 3
01445 Radebeul
Deutschland
After a processing period about of 14 days, you can use this payment method for future orders.
Please log in with your user data and your customer data will be completely used for the direct debit printout.
Note
This function is only available to customers within Germany.
Product (12)
If a currently saved product is not displayed even though you have received an article ID, there was an error in saving.
Possible cause: One or more options / product parameters were not transferred correctly.
If you can no longer find your saved products, it may be because you are working with the DEV development system.
This test environment is always overwritten with the production system overnight.
If you create test data or test orders in the test system, they are only available on the test system on the day of the creation.
These product properties are displayed during product creation – shown here for the sample product “Flyer”.
- page Count
- Format
- Alignment
- Paper thickness
- Paper
- Paper feature
- Processing
- Finishing
- Type of finishin
- Creasing
- Perforation
- Quantity
- Delivery
Important
The properties must be selected from “top” to “bottom” in order to exclude combinations that cannot be ordered.
The properties in the hierarchy above always have an influence on which options can be selected in the groups below.
All products that can be ordered by a customer are maintained in the product catalog.
In order to be able to order a product from UP, it must first be created via the catalog interface.
For this purpose, all properties of the product are defined and saved as an article number.
This article number can later be used for order creation.
The following required fields are defined for order creation in the Order Client.
- environment
- portalName
- countryCode
- languageCode
- partyGroupName
- accountInformation
- customerNumber
- password
- orderInformation
- customerProductId
- orderQuantity
- shippingType
- orderName
- dataSourceInformation
- dataSourceHost
- dataSourceUser
- dataSourcePassword
- dataSourcePort
- dataTransmission
- messageLevel
When creating an order, a product previously created in the product catalog is transferred to the interface together with the order data, order quantity and shipping method.
The order quantity and shipping method are overwritten in the following fields:
$order->orderQuantity
$args->orderPositions[0]->orderInformation->orderQuantity
$args->orderPositions[0]->orderInformation->shippingType
Example
http://interface.unitedprint.com/ws2/order.php
In the example, the parameter “validate” can be set.
$args -> validate = ($_GET{‘validate’} == ‘on’ ? 1 : 0);
$erg = $client -> createOrder($args);
An order can be checked using this parameter.
With “validate = 1” no order is created – the order is only checked without being saved at UP.
If the check is successful, the expected delivery date, net and gross price and the currency are returned.
With„validate = 0”
$args -> validate = 0
$erg = $client -> createOrder($args);
the order is written into the UP system and the order number is returned.
// begin processing
$args->accountInformation->password = ‘passwort’;
$args->accountInformation->customerNumber = 1234567;
$args->accountInformation->portalName = ‘print24’;
$args->accountInformation->languageCode = ‘de’;
$args->accountInformation->countryCode = ‘DE’;
Once you have selected a product in the catalog, you can save it to create an orderable product. Use the name of this newly created product for your order.
A user account is required for each order request. The order script requires a product name, a quantity and at least one delivery address. The quantity and shipping method may differ from your saved product. You can order any quantity in the catalog.
The order demo script supports only one delivery address. You can use multiple delivery addresses.
Use the validation indicator to validate your order. You can also use it for price queries.
Downlaod
order_demo.php
The saved products of the catalog are listed here together with their group assignment.
Example
http://interface.unitedprint.com/ws2/catalogueList.php
Use this sample script to display or edit your saved articles.
http://interface.unitedprint.com/ws2/catalogueList.php
The catalog products you have saved are listed with the respective group assignment and can be edited further.
Deleting a saved item The “internalId” of a saved item can be queried using the getCustomProduct() function. A saved article can then be deleted with the “internalId”.
Example
$deletearticle = ‘articletodelete’;
try {
$getItemArgs = new getCustomProductRequestType();
$getItemArgs->environment = $environment;
$getItemArgs->messageLevel = $messageLevel;
$selection = new catalogueSelectionType();
$getItemArgs->selection = $selection;
$getItemArgs->selection->itemIdentifier = $deletearticle;
$product = $client->getCustomProduct($getItemArgs);
$internalId = $product->product->internalId;
} catch(Exception $e) {
echo “Error on request getCustomProduct: ” . $e->getMessage();
}
try {
$changeArgs->writeMode = ‘deactivate’;
$changeArgs->product = new selectedType();
$changeArgs->product->internalId = $internalId;
$erg = $client->setCustomProduct($changeArgs);
} catch(Exception $e) {
echo “Error on request setCustomerProduct: ” . $e->getMessage();
}
To create a product, call the following example script.
http://interface.unitedprint.com/ws2/catalogue.php
The individual product properties are displayed and can be selected from dropdown lists.
A clear combination of all available options is saved as a “product”.
This “product” will be addressed later in the order creation in the field orderPositions [$ pos] -> orderInformation -> customerProductId.
This sample script shows how you can use the catalog script to access custom products that you previously saved.
This makes it possible to obtain detailed information for stored products such as price and delivery information.
This script uses the catalog functions getCatalogueList and getCustomProduct.
It is a faster alternative to getCustomCatalogue.
Download
catalogueList_demo.php
You can access the UP product catalog with your own customer data.
To do this, download the sample script below and a certificate and start your catalog inquiries immediately to obtain price and delivery information.
The script demonstrates the catalog function “getCustomCatalogue”.
The example certificate only gives you access to our test environment.