Order Data Integration
The purpose of this document is to outline the structural requirements to successfully transfer order and customer information from Aleyant Pressero to a given instance of EFI Pace.
Integration Foundation
- This integration facilitates communication between the two platforms.
- Pressero retrieves order information and generates Job, Job parts, Contacts and Shipment entries in the EFI Pace system.
- In the event of a network error, Pressero automatically retries the last synchronization action.
Integration Requirements
- All critical customer and order data are transferred to EFI Pace via API.
- Items will be reviewed for approval status state; any items of an order with Request Denied will not be included in the order in EFI Pace.
- The order will be created in EFI Pace with all critical order, contact and customer information as received from Pressero.
- All order item information and production files (if available) will transfer to an EFI Pace order with parts being created to match each item of the Pressero order immediately after being checked out in Pressero.
- Kits consist of a parent item containing child products with individual item totals (quantity and cost)
o Child items in a kit will show up as individual parts in the EFI Pace order
o Child items in a kit (static and/or inventory items) will list the associated quantity and cost
o Child items in a kit with a quantity of zero will not be entered into the order in EFI Pace
General Workflow
Step description
|
Step result
|
Step 1: Process trigger
Integration is based on Pressero webhooks. One of these webhooks should occur:
· Order Placed
· Order Item Approved
· Order Item Denied
|
1. Pressero sends webhook notification to specified URL.
2. Pressero registers notification and creates a process for specified dataflow.
|
Step 2: Parse incoming information
Pressero parses incoming message and calls Pressero API to extract additional data.
Pressero fills the following information:
· General order information
· Customer information
· Order items information:
o General order item information
o Product information
o Shipping information
|
Pressero generates special internal structure with order information.
|
Step 3: Define customer information
Search for customer and contacts (check more details in Customer Mapping Details section below)
|
Pressero identifies customer and contacts. If they do not exist and “Create Customer” is set to “Yes,” then Pressero creates them automatically. If they do not exist and “Create Customer” is set to “No,” then process stops with error.
|
Step 4: Create Job
· Pressero creates Job
· Pressero updates Job properties to override template default values
|
EFI Pace uses templates to define default values for jobs. These values should be overridden with data from Pressero after creation (check Job Mapping section below for more details).
|
Step 5: Create Job Part
· Pressero creates Job Part
· Pressero updates Job Part properties to override template default values
|
EFI Pace uses templates to define default values for job parts and shipments. These values should be overridden with data from Pressero after creation (check Job Part Mapping section below for more details).
|
Step 6: Create Shipments
· Pressero creates shipment entry for each unique shipment address
|
Pressero defines shipment contact and cartons (check Shipment Mapping section below for more details).
|
Adding EFI Pace as an Embedded Service; Integration Parameters
To add EFI Pace as an Embedded Service
After Aleyant Support enables EFI Pace, it is available to be selected as an embedded service in Admin.
- Go to Preferences > Embedded Services and click + Add New.
- Select EFI Pace in the Provider drop-down.
- Enter the integration parameters.

Integration Parameters
- EFI Pace URL: the URL for EFI Pace instance (for example: http://paceinstance.com). Only root domain name needed.
- Login: the user name which will be used for authorization in EFI Pace API.
- Password: the password which will be used for authorization in EFI Pace API.
- Alert emails: list of emails, separated by ‘;’ which will be used for notifications and errors.
- Create Customer: “Y/N” parameter. If set to “Y”, Automation Hub will create new customer automatically (new contacts will be created anyway).
- Customer Service Representative: Default value for customer field “Csr”.
- Sales Person: default value for customer field “Sales Person”.
- Sales Category: default value for customer field “Sales Category”.
- Sales Tax: default value for customer field “Sales Tax”.
- Taxable Code: default value for customer field “Taxable Code”.
- List of custom holidays: list of dates YYYY-MM-DD separated by | (pipe character). Example: 2021-10-28|2022-07-18
- Promise Date: the number of calendar days to add to the order date so it can be used as the Promise Date. If no value is assigned and the field is left blank, the system will default to 3 once saved. Promise Date field is also available at the Site level. The setting at the Site level overrides the setting at the Preferences level.
- Job Type: the default Job Type; if empty, 1 (Printing) is used. Currently the Job Type value is automatically set to “1”, which means “Printing”. The field defaults to Printing (value of 1) when no value exists for that field. Job Type field with a list of predefined types is available at the Site level for selection. The setting at the Site level overrides the setting at the Preferences level.
- Job Description: the template for the job description. If empty, the default value '{OrderNumber}-{SiteName}' will be used. Pressero supports two substitution variables: {OrderNumber} will be replaced with the Pressero Order Number and {SiteName} will be replaced with the current site name. The Job Description field available at site level allows the value to be configurable using templated text. The template will support two variables that would represent the Order Number and the Site Name. The setting at the Site level overrides the setting at the Preferences level.
- Enable Carton Contents: If enabled, Pressero will generate a Shipment per shipment group (as shown on Pressero's Shipping page). Items will be grouped by Shipping Address and Shipping Method or be placed individually in a carton if the "Will Ship Separately" option is selected for the product.
- If "Enable Carton Contents" is disabled (default), Pressero will create one carton per shipment with the default content.
- If "Enable Carton Contents" is enabled, then Pressero generates carton contents based on the Carton Content Type assigned to a product (see example screens below).


- Accounts: mapping parameter to handle shipment details. See more in Account Mapping Parameter section below.
- Site Mapping Details: mapping parameter to handle defaults based on Pressero’s site name. See more in Site Mapping Parameters section below.
To Enable Integration for a Site
- Go to Site > Embedded Services.
- Locate EFI Pace in the list and click the "Enable Service Integration" checkbox.
- Click "Save."
Customer Mapping Details
Customer Identification scenario:
- If Pressero Storefront “Integration ID” is not empty, then this value is used for “Customer ID” in EFI Pace.
- If Pressero Storefront “Integration ID” is empty and parameter “Default MisID” is not null, then this value is used for “Customer ID” in EFI Pace.
- If Pressero Storefront “Integration ID” is not set, the plug-in searches all customers by Email and matches them with the customer’s Business name. When a customer is found in Pace, the plug-in will create related contacts and in this case the plug-in will use Shipping Address to identify the correct contact for the customer.
- Pressero checks “Customer ID” in EFI Pace (Call SOAPFindRequest API).
- If “Customer ID” is not valid (not found in external system or inactive):
o specified value will be ignored
o notify user/users specified in parameter “Email for alerts” about invalid “Customer ID” in settings
- If “Customer ID” is empty, then Pressero attempts to identify customer with contact information:
- Try to identify contact by email EFI Pace (Call SOAPFindRequest API)
- If contact is found and it is unique, then extract “Customer ID” (Call SOAPReadRequest API)
- If several contacts are found, then check that all of them match to the same customer.
- If all contacts relate to the same customer, then extract “Customer ID” (Call SOAPReadRequest API)
- If contacts relate to different customers, then raise error and notify user/users specified in Parameter “Email for alerts” that customer could not be identified
- If no contacts are found and parameter “Create Customer” is set to “No”, then raise error and notify user/users specified in Parameter “Email for alerts” that customer could not be identified
- If no contacts are found and parameter “Create Customer” is set to “Yes”, then create new customer and contact (check Full Mapping below)
- Identify contacts for each unique shipment location
- Key contain: Email, all mapped address segments and phone
- If contact is not found and parameter “Create Customer” is set to “No”, then raise error and notify user/users specified in Parameter “Email for alerts” that customer could not be identified
- If contact is not found and parameter “Create Customer” is set to “Yes” then create contact (check Full Mapping below)
Customer and Contact Mapping Details
EFI Pace field name
|
Source value
|
Customer Type
|
Constant: 1 (Customer)
|
Customer
|
Pressero’s Site User > Address Book > Business. If empty, then Pressero’s Site User > First Name + Middle Name + Last Name
|
Contact First Name
|
Pressero’s Site User > First Name
|
Contact Last Name
|
Pressero’s Site User > Last Name
|
Customer Email
|
Pressero’s Site User > Email
|
Phone
|
Pressero’s Site User > Telephone or Pressero’s Site User > Cell Phone
|
Date Setup
|
Constant: Current date
|
Contact Title
|
Pressero’s Site User > Title
|
Address1
|
Pressero’s Site User > Address Book > Address1
|
Address2
|
Pressero’s Site User > Address Book > Address2
|
Address3
|
Pressero’s Site User > Address Book > Address3
|
City
|
Pressero’s Site User > Address Book > City
|
State
|
Pressero’s Site User > Address Book > State
|
Zip
|
Pressero’s Site User > Address Book > Zip
|
Sales Person
|
Constant: Parameter “Sales Person”
|
Csr
|
Constant: Parameter “Customer service representative”
|
Sales Tax
|
Constant: Parameter “Sales Tax”
|
Taxable Code
|
Constant: Parameter “Taxable Code”
|
Sales Category
|
Constant: Parameter “Sales Category”
|
Job Mapping Details
EFI Pace field name
|
Source value
|
Customer
|
Value from step 3
|
Description
|
Pressero’s Order Number + Pressero’s Site name
|
Job Type
|
Constant: 1 (Printing Job)
|
Contact First Name
|
Pressero’s Site User > First Name
|
Contact Last Name
|
Pressero’s Site User > Last Name
|
PO Number
|
Pressero’s PO # or Pressero’s Order Number
|
Date Setup
|
Constant: Current date
|
Contact
|
Value from step 3
|
Status
|
"adminStatus" field from mapping parameter “Site mapping details”
|
Scheduled Ship and Promise
|
Pressero’s Requested Ship Date. If empty Constant: current date + 3 days
|
Original Quoted Price
|
Order Total based on field "includeTaxAndShipping" from mapping parameter “Site mapping details”; if parameter is set to “true”, then Pressero will include in price shipment cost.
|
Amount To Invoice
|
Order Total based on field "includeTaxAndShipping" from mapping parameter “Site mapping details”; if parameter is set to “true”, then Pressero will include shipment cost in price.
|
Template code
|
Pressero’s Product > Integration ID
|
Additional Description
|
Fill value based on template code and field "setUserToDescription" from mapping parameter “Site mapping details”
If “setUserToDescription” is set to true, then fill description with Pressero’s site User > First Name + Last Name; otherwise, if template code is not empty, then fill description with Pressero’s Order notes.
If template code is empty, then fill deception with Product name, Price, Shipping cost, Tax, Quantity.
|
Job Part Mapping Details
EFI Pace field name
|
Source value
|
Customer
|
Value from step 3
|
Description
|
Pressero’s Order Item Identifier + product name
|
Job Type
|
Pressero’s Product attribute with name “JobType” or Constant “1”
|
Date Setup
|
Constant: Current date
|
Contact
|
Value from step 3
|
Status
|
"adminStatus" field from mapping parameter “Site mapping details”
|
Freight Amount
|
Pressero’s order item shipment cost (calculated, based on total items in order)
|
Original Quoted Price
|
Order Item Total based on field "includeTaxAndShipping" from mapping parameter “Site mapping details”; if parameter set to “true”, then Pressero will include in price shipment cost.
|
Quantity Ordered
|
Pressero’s Order item quantity
|
Template code
|
Pressero’s Product > Integration ID
|
Additional Description
|
Pressero’s Order pricing parameters
|
Materials
|
Fill value based on field "addMaterialInformation" from mapping parameter “Site mapping details”. If “addMaterialInformation” is set to true, then fill description with Pressero’s Product attribute “materialID”.
|
Materials Planned quantity
|
Pressero’s Order item quantity
|
Shipment Mapping Details
EFI Pace field name
|
Source value
|
Contact First Name
|
Pressero’s Order Item Shipment Address > First Name
|
Contact Last Name
|
Pressero’s Order Item Shipment Address > Last Name
|
Customer Email
|
Pressero’s Order Item Shipment Address > Email
|
Phone
|
Pressero’s Order Item Shipment Address > Telephone or Pressero’s Order Item Shipment Address > Cell Phone
|
Contact Title
|
Pressero’s Order Item Shipment Address > Title
|
Address1
|
Pressero’s Order Item Shipment Address > Address Book > Address1
|
Address2
|
Pressero’s Order Item Shipment Address > Address Book > Address2
|
Address3
|
Pressero’s Order Item Shipment Address > Address Book > Address3
|
City
|
Pressero’s Order Item Shipment Address > Address Book > City
|
State
|
Pressero’s Order Item Shipment Address > Address Book > State
|
Zip
|
Pressero’s Order Item Shipment Address > Address Book > Zip
|
Number of cartons
|
Constant: 1
|
Planned quantity
|
Total quantity of all order items which is related to current shipment address
|
Carton Quantity
|
Total quantity of all order items which is related to current shipment address
|
Ship Via
|
Fill value based on field "ship via" from mapping parameter “Accounts”. More details Account Mapping Parameters section below.
|
Account Number
|
Fill value based on field "account" from mapping parameter “Accounts”. More details Account Mapping Parameters section below.
|
Charges
|
If Account Number is not empty, then Constant “Third Party/Ship Bill To”; otherwise empty.
|
Account Mapping Parameters
The parameter is a JSON array, which contains “from rule” objects. Each object contains:
1. “ship_via” – value which will be used for Ship Via filed in EFI Pace
2. “account” – value which will be used for Account Number filed in EFI Pace
3. "source_site" – if filled, rule applied only to orders from specific site
4. “source_address” – if filled, rule applied only to order item with shipping address matching defined address
5. “priority”: 100 – highest rule priority. Property used for sorting priority. The first match will be used.
6. “rule_type” – Pressero supports three types of rules:
a. DefaultMapping – default values for “ship_via” and “account” for some specific site.
b. ShipmentMethodMapping – if “source_method” equals to “MatchByName”, then ship_via will be calculated based on Shipping Method name from Pressero, otherwise value from “ship_via” will be used.
c. ShipmentAddressMapping – if shipment address matches values from “source_address” field, then “ship_via” and “account” values used.
Example:
[
{
"rule_type":"ShipmentMethodMapping",
"priority":5,
"source_method":"MatchByName"
},
{
"rule_type":"ShipmentMethodMapping",
"priority":10,
"source_method":"Customer Pickup",
"ship_via":"1"
},
{
"rule_type":"DefaultMapping",
"priority":50,
"source_site":"Some Site",
"ship_via":"2",
"account":"XXX123"
},
{
"rule_type":"ShipmentAddressMapping",
"priority":100,
"source_address":[
"Address1",
"Address2",
"City",
"State code",
"Postal code"
],
"ship_via":"3",
"account":" XXX123"
}
]
Site Mapping Parameters
The parameter is a JSON array, which contains “from rule” objects. Each object contains:
1. “siteName” – site to which particular rule should be applied; if value is equal to “DefaultSiteConfiguration”, this rule is applied to all sites that does not contain their specific rule.
2. “adminStatus” – value Job and Job Part state should be a valid state code. Default is “0” (New)
3. " includeTaxAndShipping " – true/false value; if true, tax and shipping will be included in Job/Job Part price and total.
4. “addMaterialInformation” – true/false value; if true, Material Information will be added to Job Part (Product must contain “materialID” attribute).
5. “setUserToDescription” – true/false value; if true, site user first and last names will be set to order’s description (all other information will be overridden).
Example:
[
{
"siteName":"DefaultSiteConfiguration",
"adminStatus":"O",
"includeTaxAndShipping":true,
"addMaterialInformation":false,
"setUserToDescription":false
},
{
"siteName":"Some Site name",
"adminStatus":"a",
"includeTaxAndShipping":true,
"addMaterialInformation":true,
"setUserToDescription":true
}
]
Technical Specifications
Pressero uses SOAP API to communicate with EFI Pace; it needs direct access to both systems.
Troubleshooting
Each order contains an “Embedded Services” tab. This tab displays the integration status, and in case of an error, trace messages in the log. This is an example of a failed process:

In case of an error, the user can push order manually. Click the “Push Order” button.
This is an example of a successful process:
