> For the complete documentation index, see [llms.txt](https://docs.simplio3d.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.simplio3d.com/api-reference/api-sdk.md).

# Web SDK

### Overview

The **Simplio3D Headless Web SDK** is an enterprise-grade integration layer designed to extend the capabilities of the Simplio3D platform into fully customized digital experiences.

**It enables organizations to:**

* Build fully bespoke configuration interfaces
* Implement CPQ-style workflows
* Integrate 3D configuration into complex commerce ecosystems
* Control state, pricing, and user interactions programmatically
* Orchestrate advanced backend-driven configuration logic

**This SDK specification is built on top of publicly documented Simplio3D capabilities, including:**

* Share-based embedding
* Configurator & Viewer products
* Options, restrictions, and pricing systems
* Forms and order workflows
* Open API & Partner API integrations

It provides a structured client-side API layer designed for scalability, available for **Pro** and **Enterprise** deployments.

### Why Simplio3D SDK

Simplio3D provides a powerful visual configuration engine.\
However, enterprise use cases often require:

* Custom UI/UX standards
* Guided selling workflows
* Advanced pricing presentation
* CRM/ERP synchronization
* Multi-step configuration processes
* External validation logic
* Headless commerce integration

This SDK bridges that gap by separating:

**Presentation layer (your UI)**\
from\
**Rendering & configuration engine (Simplio3D)**

### Architectural Model

The SDK follows a layered architecture:

#### 1. Rendering Layer

Simplio3D configurator or viewer embedded via secure iframe.

#### 2. Client API Layer

A standardized JavaScript interface that provides:

* `setOption()`
* `setText()`
* `setMaterial()`
* `setNumeral()`
* `getCurrentState()`
* `takeScreenshot()`
* `submit()`
* event subscriptions (`onChange`, `onPriceChange`, etc.)

#### 3. Backend Integration Layer (Recommended)

Your backend integrates with:

* Simplio3D Open API
* Simplio3D Partner API
* Your own pricing engines
* ERP / CRM systems
* E-commerce platforms

This separation enables enterprise scalability and long-term maintainability.

### Core Capabilities

#### Configuration Control

Programmatically control all option types including:

* Variant selectors
* Materials
* Text inputs
* Numeric inputs
* Upload blocks
* Pattern & canvas blocks

#### State Management

* Retrieve full configuration state
* Persist and restore configurations
* Synchronize UI and renderer

#### Pricing Intelligence

* Subscribe to real-time price changes
* Access pricing breakdown
* Integrate with external pricing engines

#### Order Workflows

* Validate form inputs
* Submit configurations
* Capture structured order receipts

#### Media & Output

* Generate high-resolution screenshots
* Control camera presets
* Trigger AR experiences

#### Commerce Integrations

Designed to integrate cleanly with:

* WooCommerce
* Shopify
* Headless commerce platforms
* Custom checkout flows


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.simplio3d.com/api-reference/api-sdk.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
