About
The Integration Theme can run as a website that serves your DriveWorks Implementations.
It also uses a modern REST API for consuming and running DriveWorks Implementations.
With the Integration Theme you can use the Web API to:
- Embed a DriveWorks form in your website without an iFrame
- Query constant and variable values in a running specification
- Process Macros remotely from the client
- Drive constant values from anywhere
- Run transition and operations on existing specifications
- Use OData to query existing specifications
- Plus lots more
Benefits
The Integration Theme allows DriveWorks Implementations to be seamlessly connected to any
website, application or connected device.
Integration with websites requires minimal JavaScript code which is easily obtained through the documentation.
Other benefits include:
- Secure - using CORS technology requests from non-domain clients are managed securely.
- Embed forms in a website without using iFrames
- Apply additional styling to controls and forms using CSS
- React to DriveWorks form events in the hosting client
- Pass data client to client (for example a price calculated by DriveWorks can be sent into a shopping basket)
- Query DriveWorks for the Specification History with API access to Transitions and Operations
- Access DriveWorks Implementations from any connected system or device
Getting Started
Learn how to select and start the Integration Theme for DriveWorks Live to use.
Start the Integration Theme
Learn how the configuration and connection settings are applied.
Integration Theme Settings
Resources
For quick reference we also provide a public demo site showing these examples and documentation.
Here you will find a range of resources to assist you in getting started with the Integration Theme, Server API and Client SDK.
Public Web API Demo Site.
The Server API documentation, Client SDK documentation and examples are available by selecting the Integration Theme when running DriveWorks Live or Personal Web Edition.
Please Note:
No external requests are permitted to use the public demo site.
Please use your own instance of the Integration Theme and Web API during development.
The Integration Theme utilizes the following technologies to allow aspects of a DriveWorks Implementation to be easily consumed in a website, application or connected device.
Each instance of the Integration Theme serves a complete Web API, with optional examples and documentation to help with getting started.
Server API
The Integration Theme uses a server side REST API.
REST (Representational State Transfer) is the basic principle of web interactions.
Clients (desktops, mobiles, tablets or anything connected to the internet) make requests to a server to push/pull data, expecting the server to respond with a request status and potentially get some data back.
Server API Documentation
Public Server API Documentation: https://webapi.driveworkslive.com/api-docs/server.
The documentation, built on the Swagger framework, displays and interacts with all of the endpoints that can be accessed using the Integration Theme.
Here you will find:
- a description of the functionality of each endpoint
- the required format for sending a request to the endpoint
- information on the required data, the format of that data and its purpose
- the responses that the endpoint can produce
- the ability to try out each endpoint directly on the help page

Object (Endpoint) Diagram
Requests from the client target different endpoints or routes.
In simple terms, a web service endpoint is a web address (URL) at which clients of a specific service can gain access to it. By referencing that URL, clients can get to operations provided by that service.

Client SDK Documentation
Public Client SDK Documentation: https://webapi.driveworkslive.com/api-docs/client.
DriveWorks also provides a Javascript Client SDK as a wrapper around the Server API making it even easier to consume DriveWorks from anywhere.
The Client SDK documentation displays all of the functions and properties that are available when utilizing the SDK to communicate with the Server API. Here you will find:
- a list of the available classes, functions and properties
- a list of the supporting data types, which show the format of data returned from the Server API when it reaches the client
- information on each entity detailing functionality, required data, data types, and return values

Client SDK Examples
Public Client SDK Examples: https://webapi.driveworkslive.com/api-docs/examples/index.html.
On top of the Client SDK there are also some Client SDK examples that show some of the capabilities available.
The Integration Theme provides a range of examples that showcase how the Integration Theme Client SDK can be used to interact with the Server API to create custom web content, powered by DriveWorks.
This collection of examples is a great way to get started or provide inspiration, and they are completely customizable and ready to use with your existing DriveWorks Projects and Specifications.

Example Sites
Public Example Sites: https://github.com/topics/driveworks-example-sites.
Example sites demonstrate the Integration Theme Client SDK in real-world situations.
These aim to serve as a great starting point and inspiration for developing your own web sites or applications.
Each is completely customizable and ready to use with your existing DriveWorks Projects and Specifications.

Feel free to copy and modify any of the reference examples to your own needs.
Query Function
The Integration Theme supports creating new or editing existing Specifications through a URL query function.
The query function requires the term /query? and then specific parameters and parameter values appending to the URL of the website, for example:
- https://www.mydomain.com/query?run=MyProject&Length=1234&Height=963
will run a new Specification based on the Project name MyProject and pass the values 1234 and 963 to their respective parameters Length and Height.
- https://www.mydomain.com/query?Specification=IS81951&Transition=Submit
will transition the Specification IS81951 to the Submit transition.
How To: Create and Edit Specifications Using URL Parameters