Introduction
3D Cloud Applications are designed to become a seamless part of the customer eCommerce experience. As such, 3D Cloud has prioritized flexibility and a client-centric approach to connecting to a client’s website, mobile apps, user management and back-end systems. As often as possible, project teams will seek to use the client’s existing systems, APIs and data sources rather than requiring new development against 3D Cloud systems.
Integration Methods
The 3D Cloud provides custom plugins with default templates as a starting point to accelerate the development effort. This allows client-specific code to live separately from platform code to simplify the upgrade process. The techniques available for integration include:
Front-end Plugins - Hooks into the various actions within front-end applications, such as Bill of Materials calculations, Add to Cart, Pricing, Login and Registration where projects may want to include custom code or integrations to external systems.
Client-specific Microservices - REST Services for server-side processing or calls to client APIs.
ETL jobs - Nightly or more frequent data transfer jobs for pricing, PIM data, user-generated content and other integrations.
REST APIs - Direct calls to client APIs as users browse products or through periodic updates of the catalog.
JS Messaging APIs - Javascript communication across iFrames to trigger actions or data transfer between a host website and 3D Cloud Application.
STANDARD INTEGRATIONS
There are a number of standard integrations created for many 3D Cloud Applications. The most popular are Website Integration, Single-Sign On, Pricing, Add to Cart and customized Bill of Materials, however new requests for integrations occur frequently. Descriptions of our approaches for standard integrations are described in the following sections.
Website/App Integration
Every project will require some level of integration into a client’s website or mobile app. The two most common approaches for website integration are a hosted page customized to reflect client branding and a hosted page integrated through an iFrame. Unit Configurator and 3D Spins applications are integrated through a Javascript SDK.
Hosted on GCP under 3D Cloud Account
Hosted on GCP under 3D Cloud Account
Client Subdomain points to 3D Cloud Load Balancer
Test, Certification, and Production Environments
Content and User Projects Stored on Google Cloud CDN
Content and User Projects Stored on Google Cloud CDN
Issues to consider when choosing an integration solution are cookie handling, CORS and data sharing between domains. To solve these issues a custom domain can be created to make a seamless experience.
When setting up a custom domain through 3D Cloud Hosting, the desired domain must be verified using DNS verification.
3D Cloud provides two TXT records that must be implemented into your DNS manager which will verify domain and SSL certificate ownership.
TXT verification records are formatted as such: google-site-verification=qE8...
A-Records will be provided to make the site live. Routing is handled by the source domain so the A-Records are static: 151.101.1.195 and 151.101.65.195
Single Sign-On
Out of the box, 3D Cloud provides an end-user registration and authentication system to support the ability for users to save and manage their projects. Many clients prefer to own end-user data, so a Single Sign-On solution can be implemented to 3D Cloud applications. 3D Cloud can support OAuth 2.0, SAML, or custom approaches to authenticate end-users.
To reduce friction for end-users, registration and login are not required until the user saves or wants to view their list of projects. This allows customers to play with the application before they commit to creating an account. Since the registration, login, and forgot password forms may not be displayed until the user has already left the host website, the forms must either call out to the client’s APIs to create or login the user, or the client’s registration, login, and forgot password forms must be embedded within or launched from the application.
Once the user is registered or authenticated via the host website or client’s APIs, the unique identifier for the end-user (not a personally identifiable token) should be passed to the application. A shadow user within the 3D Cloud will automatically be created using that token if the end-user does not already exist.
Sample Consumer SSO Integration using JSON Web Token (JWT)
Pricing
Pricing for 3D Products is not a requirement for the application, but it is recommended if there will be an Add to Cart feature implemented.
Pricing can be loaded manually into the 3D Cloud with a spreadsheet listing the price for each SKU.
If pricing changes frequently, an integration can be set up to automate updates.
The most common approach is to pass a file through SFTP on a nightly basis that will be consumed and published with the content catalog.
API calls to the client’s servers can also be added to display pricing for SKUs as the user browses the product catalog. API calls are cached at the server level to reduce calls to the client’s APIs and can be expired on a configurable frequency.
Illustration: Pricing Integration
If the session contains information about the user’s location, an identifier for a retail store, a customer identifier or other user parameters, variable pricing and currencies may be displayed to the user based on those parameters. This can be supported by both API calls or batch file transfer.
For some product types, such as decking, paint, tile or configurable products, pricing rules may be necessary to identify SKUs and calculate quantities based on the user’s design. In this case, rules will contain parameters, SKUs, number needed based on the parameter (e.g., number of posts on the deck, board length, board type), and package quantities. When the user requests a product list, the design will take the rules into account when providing the final bill of materials.
Product Information Management
Like pricing, product names, descriptions, dimensions, URLs and other metadata can be updated automatically using batch ETL jobs or API calls. Information should be keyed by SKU and can be in HTML format.
Availability
Dynamic product availability integrations allow the application to notify customers of quantity on hand, shipping time, and location-based availability. This type of integration is typically implemented using batch ETL jobs. The 3D Cloud will provide a list of SKUs that have been modeled and are available in the application. The client will receive a file nightly that they can use to identify which SKUs are available using a configurable set of options. Those options can turn the product off so the end user cannot see it when searching or browsing the catalog, or it can display text and/or icons to notify the user of its status. Up to ten different status options can be configured for the application. If the application supports retail store or locations, availability can be different depending on the store.
Illustration: Product Availability within 3D Room Planner application
Add to Cart
Adding the products from a room design to an online shopping cart transforms the application into a revenue-generating experience. Most add-to-cart integrations use a Javascript integration, but an API call has been used as well. In simple implementations, a URL is created with a list of SKUs and quantities and a new browser tab is opened on the checkout page of the host website. In more advanced implementations, other features can be added such as listing items in the cart, creating a new cart, clear the cart and remove an item from the cart.
CRM Integrations for Lead Generation
Creating leads from design tools is another popular conversion tool. Leads Management Systems, Pardot, Salesforce and other CRMs are frequent integration targets. Javascript integrations or REST APIs with a form the user can fill out to get sales assistance are the approaches commonly implemented.
Customized Bill of Materials
A printable bill of materials in PDF format can be generated from 3D Applications with screenshots, measurements and a product list. A default template provides a base that can be customized to meet the needs of users to assist in the purchase or quoting process.
Analytics
3D Cloud Applications include detailed analytics on sessions, conversions, product selection and user behavior. A dashboard and monthly highlights report are provided to summarize performance of the application. Some clients request the ability to include their own analytics tools in the application, or to have events bubbled up to the host website through a Javascript communications API.
PROJECT MANAGEMENT - INTEGRATIONS
Below is a short list of what would be required from our clients when it comes to aligning on Integrations project scope and requirements.
CLIENT RESPONSIBILITIES
Client Technical Point Of Contact
A technical point of contact for scheduling discovery, architecture, retrieving information, and scheduling releases.
Access to APIs, Credentials and Data files
Depending on the integrations in scope and architecture approach, the implementation team will need access to APIs or data files to source data.
Discovery Sessions
At the beginning of the project, a set of discovery sessions will be conducted to determine approach on each integration and create action items for each team.
Working Sessions
Once the architecture approach is defined, working sessions for technical team members will be conducted to unit test integrations and make sure data is flowing smoothly between systems.
QA Sessions
During application QA sprints, working sessions will be conducted for end-to-end integration testing.
INTEGRATIONS SCHEDULES
3D Cloud team creates Project schedules after completing Discovery sessions
Once timelines are understood around availability of client resources, 3D Cloud will build a project schedule for integrations.
Each integration’s development can be completed in <1 week typically
3D Cloud builds these types of integrations every day and has templates for different approaches and architectures. Most integrations can be developed very quickly once we have access to technical resources and requirements.
3D Cloud works around our Client’s schedule, resources, and architecture
3D Cloud has both depth and breadth of experience in working with large enterprises to deliver 3D experiences at scale. We will work around your constraints to optimize time-to-market.