# ExposedApi.Internal.SdkConnector

[Embedding API Reference](/rubens/rubens-products/rubens-products-reference.md) / [Modules](/rubens/rubens-products/rubens-products-reference/modules.md) / [exposed-api](/rubens/rubens-products/rubens-products-reference/modules/exposed_api.md) / [\<internal>](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md) / SdkConnector

## Class: SdkConnector

[exposed-api](/rubens/rubens-products/rubens-products-reference/modules/exposed_api.md).[\<internal>](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md).SdkConnector

### Table of contents

#### Constructors

* [constructor](#constructor)

#### Accessors

* [configuratorApi](#configuratorapi)
* [configuratorConnector](#configuratorconnector)
* [hasPlanner](#hasplanner)
* [isE2E](#ise2e)
* [plannerApi](#plannerapi)
* [plannerConnector](#plannerconnector)
* [viewerApi](#viewerapi)
* [viewerConnector](#viewerconnector)

#### Methods

* [addUiCallback](#adduicallback)
* [canvasElementReady](#canvaselementready)
* [createExposedApi](#createexposedapi)
* [getRapiAccess](#getrapiaccess)
* [getStorage](#getstorage)
* [getTenant](#gettenant)
* [giveGaConsent](#givegaconsent)
* [goBack](#goback)
* [hasActivePackage](#hasactivepackage)
* [initCanvasElement](#initcanvaselement)
* [initConfigurator](#initconfigurator)
* [initialized](#initialized)
* [isCorrectConfiguratorDomain](#iscorrectconfiguratordomain)
* [isIdAGlb](#isidaglb)
* [loadComponent](#loadcomponent)
* [loadConfigurableItem](#loadconfigurableitem)
* [loadConfiguration](#loadconfiguration)
* [loadConfigurationString](#loadconfigurationstring)
* [loadObject](#loadobject)
* [loadPlan](#loadplan)
* [loadSelectedPlanObject](#loadselectedplanobject)
* [loadStaticItem](#loadstaticitem)
* [preparePerspectiveImage](#prepareperspectiveimage)
* [removeUiCallback](#removeuicallback)
* [saveConfigToIdb](#saveconfigtoidb)
* [saveCurrentConfiguration](#savecurrentconfiguration)
* [saveCurrentObject](#savecurrentobject)
* [saveCurrentPlanOrConfiguration](#savecurrentplanorconfiguration)
* [setParameter](#setparameter)
* [waitForLoad](#waitforload)

### Constructors

#### constructor

• **new SdkConnector**(`sdkWrapper`, `store`, `analytics`, `embeddingCallbacks`, `eventEmitter`, `intl`, `libs`): [`SdkConnector`](/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.sdkconnector.md)

**Parameters**

| Name                 | Type                                                                                                                       |
| -------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| `sdkWrapper`         | [`RoomleSdkWrapper`](/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.roomlesdkwrapper.md) |
| `store`              | `Store`<[`StoreState`](/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.storestate.md)> |
| `analytics`          | [`Analytics`](/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.analytics.md)            |
| `embeddingCallbacks` | [`ExposedCallbacks`](/rubens/rubens-products/rubens-products-reference/classes/exposed_callbacks.exposedcallbacks.md)      |
| `eventEmitter`       | [`default`](/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.default.md)                   |
| `intl`               | [`Translator`](/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.translator.md)          |
| `libs`               | [`Libs`](/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.libs.md)                         |

**Returns**

[`SdkConnector`](/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.sdkconnector.md)

### Accessors

#### configuratorApi

• `get` **configuratorApi**(): `Promise`<[`RoomleConfiguratorType`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#roomleconfiguratortype)>

**Returns**

`Promise`<[`RoomleConfiguratorType`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#roomleconfiguratortype)>

***

#### configuratorConnector

• `get` **configuratorConnector**(): `Promise`<[`SdkConnectorConfigurator`](/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.sdkconnectorconfigurator.md)>

**Returns**

`Promise`<[`SdkConnectorConfigurator`](/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.sdkconnectorconfigurator.md)>

***

#### hasPlanner

• `get` **hasPlanner**(): `boolean`

**Returns**

`boolean`

***

#### isE2E

• `get` **isE2E**(): `boolean`

**Returns**

`boolean`

***

#### plannerApi

• `get` **plannerApi**(): `Promise`<[`RoomlePlannerWithExtObjs`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#roomleplannerwithextobjs)>

**Returns**

`Promise`<[`RoomlePlannerWithExtObjs`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#roomleplannerwithextobjs)>

***

#### plannerConnector

• `get` **plannerConnector**(): `Promise`<[`SdkConnectorPlanner`](/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.sdkconnectorplanner.md)>

**Returns**

`Promise`<[`SdkConnectorPlanner`](/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.sdkconnectorplanner.md)>

***

#### viewerApi

• `get` **viewerApi**(): `Promise`<`default`>

**Returns**

`Promise`<`default`>

***

#### viewerConnector

• `get` **viewerConnector**(): `Promise`<[`SdkConnectorViewer`](/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.sdkconnectorviewer.md)>

**Returns**

`Promise`<[`SdkConnectorViewer`](/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.sdkconnectorviewer.md)>

### Methods

#### addUiCallback

▸ **addUiCallback**(`listener`): `void`

**Parameters**

| Name       | Type                                                                                                             |
| ---------- | ---------------------------------------------------------------------------------------------------------------- |
| `listener` | [`UiCallbacks`](/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.uicallbacks.md) |

**Returns**

`void`

**`Deprecated`**

use .configuratorConnector.then((connector) => connector.addUiCallback(listener))

***

#### canvasElementReady

▸ **canvasElementReady**(`element`): `void`

**Parameters**

| Name      | Type          |
| --------- | ------------- |
| `element` | `HTMLElement` |

**Returns**

`void`

***

#### createExposedApi

▸ **createExposedApi**(`module`, `mainMessageHandler`, `eventEmitter`): `Promise`<`void`>

**Parameters**

| Name                 | Type                                                                                                                   |
| -------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| `module`             | [`SDK_MODULES`](/rubens/rubens-products/rubens-products-reference/enums/exposed_api._internal_.sdk_modules.md)         |
| `mainMessageHandler` | [`MessageHandler`](/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.messagehandler.md) |
| `eventEmitter`       | [`default`](/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.default.md)               |

**Returns**

`Promise`<`void`>

***

#### getRapiAccess

▸ **getRapiAccess**(): `Promise`<`default`>

**Returns**

`Promise`<`default`>

***

#### getStorage

▸ **getStorage**(): [`Nullable`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#nullable)<`default`>

**Returns**

[`Nullable`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#nullable)<`default`>

***

#### getTenant

▸ **getTenant**(): `Promise`<`RapiTenant`>

**Returns**

`Promise`<`RapiTenant`>

***

#### giveGaConsent

▸ **giveGaConsent**(): `void`

**Returns**

`void`

***

#### goBack

▸ **goBack**(): `Promise`<`void`>

**Returns**

`Promise`<`void`>

***

#### hasActivePackage

▸ **hasActivePackage**(): `Promise`<`boolean`>

**Returns**

`Promise`<`boolean`>

***

#### initCanvasElement

▸ **initCanvasElement**(`module`): `Promise`<`void`>

**Parameters**

| Name     | Type                                                                                                           |
| -------- | -------------------------------------------------------------------------------------------------------------- |
| `module` | [`SDK_MODULES`](/rubens/rubens-products/rubens-products-reference/enums/exposed_api._internal_.sdk_modules.md) |

**Returns**

`Promise`<`void`>

***

#### initConfigurator

▸ **initConfigurator**(): `Promise`<`void`>

**Returns**

`Promise`<`void`>

***

#### initialized

▸ **initialized**(): `void`

**Returns**

`void`

***

#### isCorrectConfiguratorDomain

▸ **isCorrectConfiguratorDomain**(): `Promise`<`boolean`>

**Returns**

`Promise`<`boolean`>

***

#### isIdAGlb

▸ **isIdAGlb**(`id`): `Promise`<`boolean`>

**Parameters**

| Name | Type     |
| ---- | -------- |
| `id` | `string` |

**Returns**

`Promise`<`boolean`>

***

#### loadComponent

▸ **loadComponent**(`componentId`, `initData?`): `Promise`<[`Nullable`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#nullable)<[`LoadResponse`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#loadresponse)>>

**Parameters**

| Name          | Type                                                                                             |
| ------------- | ------------------------------------------------------------------------------------------------ |
| `componentId` | `string`                                                                                         |
| `initData?`   | [`UiInitData`](/rubens/rubens-products/rubens-products-reference/interfaces/types.uiinitdata.md) |

**Returns**

`Promise`<[`Nullable`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#nullable)<[`LoadResponse`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#loadresponse)>>

***

#### loadConfigurableItem

▸ **loadConfigurableItem**(`configurableItemId`, `initData?`): `Promise`<[`Nullable`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#nullable)<[`LoadResponse`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#loadresponse)>>

**Parameters**

| Name                 | Type                                                                                             |
| -------------------- | ------------------------------------------------------------------------------------------------ |
| `configurableItemId` | `string`                                                                                         |
| `initData?`          | [`UiInitData`](/rubens/rubens-products/rubens-products-reference/interfaces/types.uiinitdata.md) |

**Returns**

`Promise`<[`Nullable`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#nullable)<[`LoadResponse`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#loadresponse)>>

***

#### loadConfiguration

▸ **loadConfiguration**(`configurationId`, `initData?`): `Promise`<[`Nullable`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#nullable)<[`LoadResponse`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#loadresponse)>>

**Parameters**

| Name              | Type                                                                                             |
| ----------------- | ------------------------------------------------------------------------------------------------ |
| `configurationId` | `string`                                                                                         |
| `initData?`       | [`UiInitData`](/rubens/rubens-products/rubens-products-reference/interfaces/types.uiinitdata.md) |

**Returns**

`Promise`<[`Nullable`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#nullable)<[`LoadResponse`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#loadresponse)>>

***

#### loadConfigurationString

▸ **loadConfigurationString**(`configurationString`, `initData?`): `Promise`<[`Nullable`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#nullable)<[`LoadResponse`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#loadresponse)>>

**Parameters**

| Name                  | Type                                                                                             |
| --------------------- | ------------------------------------------------------------------------------------------------ |
| `configurationString` | `string`                                                                                         |
| `initData?`           | [`UiInitData`](/rubens/rubens-products/rubens-products-reference/interfaces/types.uiinitdata.md) |

**Returns**

`Promise`<[`Nullable`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#nullable)<[`LoadResponse`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#loadresponse)>>

***

#### loadObject

▸ **loadObject**(`id`): `Promise`<[`Nullable`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#nullable)<[`LoadResponse`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#loadresponse)>>

Load a object which can be one of the following:

* Component (use your component id and prefix it with 'component@', e.g. component\@demoCatalogId:externalMeshes)
* Plan
* Static item (e.g. GLB)
* Configurable Item
* Configuration

**Parameters**

| Name | Type     |
| ---- | -------- |
| `id` | `string` |

**Returns**

`Promise`<[`Nullable`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#nullable)<[`LoadResponse`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#loadresponse)>>

***

#### loadPlan

▸ **loadPlan**(`id`, `options?`): `Promise`<{ `objectRuntimeId`: [`Nullable`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#nullable)<`number`> ; `plan`: [`Nullable`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#nullable)<`void`> }>

**Parameters**

| Name                          | Type                                                                                                                 |
| ----------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `id`                          | [`Nullable`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#nullable)<`string`> |
| `options`                     | `Object`                                                                                                             |
| `options.doNotFinishLoading?` | `boolean`                                                                                                            |
| `options.isObjectId?`         | `boolean`                                                                                                            |

**Returns**

`Promise`<{ `objectRuntimeId`: [`Nullable`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#nullable)<`number`> ; `plan`: [`Nullable`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#nullable)<`void`> }>

***

#### loadSelectedPlanObject

▸ **loadSelectedPlanObject**(`shouldStartConfigure?`): `Promise`<`void`>

**Parameters**

| Name                   | Type      | Default value |
| ---------------------- | --------- | ------------- |
| `shouldStartConfigure` | `boolean` | `true`        |

**Returns**

`Promise`<`void`>

***

#### loadStaticItem

▸ **loadStaticItem**(`id`): `Promise`<`null`>

**Parameters**

| Name | Type                                                                                                                 |
| ---- | -------------------------------------------------------------------------------------------------------------------- |
| `id` | [`Nullable`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#nullable)<`string`> |

**Returns**

`Promise`<`null`>

***

#### preparePerspectiveImage

▸ **preparePerspectiveImage**(): `Promise`<`Base64Image`>

**Returns**

`Promise`<`Base64Image`>

***

#### removeUiCallback

▸ **removeUiCallback**(`listener`): `void`

**Parameters**

| Name       | Type                                                                                                             |
| ---------- | ---------------------------------------------------------------------------------------------------------------- |
| `listener` | [`UiCallbacks`](/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.uicallbacks.md) |

**Returns**

`void`

**`Deprecated`**

use configuratorConnector.then((connector) => connector.removeUiCallback(listener))

***

#### saveConfigToIdb

▸ **saveConfigToIdb**(): `Promise`<`void`>

**Returns**

`Promise`<`void`>

***

#### saveCurrentConfiguration

▸ **saveCurrentConfiguration**(): `Promise`<`RapiConfigurationEnhanced` | `ExternalConfiguration`>

**Returns**

`Promise`<`RapiConfigurationEnhanced` | `ExternalConfiguration`>

***

#### saveCurrentObject

▸ **saveCurrentObject**(): `Promise`<`RapiConfigurationEnhanced` | `RapiPlanSnapshotGetData` | `RapiPlan` | `ExternalConfiguration`>

**Returns**

`Promise`<`RapiConfigurationEnhanced` | `RapiPlanSnapshotGetData` | `RapiPlan` | `ExternalConfiguration`>

***

#### saveCurrentPlanOrConfiguration

▸ **saveCurrentPlanOrConfiguration**(): `Promise`<`RapiConfigurationEnhanced` | `RapiPlanSnapshotGetData` | `ExternalConfiguration`>

**Returns**

`Promise`<`RapiConfigurationEnhanced` | `RapiPlanSnapshotGetData` | `ExternalConfiguration`>

***

#### setParameter

▸ **setParameter**(`parameter`, `value`, `isRaw?`): `Promise`<`void`>

**Parameters**

| Name        | Type              | Default value |
| ----------- | ----------------- | ------------- |
| `parameter` | `KernelParameter` | `undefined`   |
| `value`     | `string`          | `undefined`   |
| `isRaw`     | `boolean`         | `false`       |

**Returns**

`Promise`<`void`>

***

#### waitForLoad

▸ **waitForLoad**(): `Promise`<[`Nullable`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#nullable)<[`LoadResponse`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#loadresponse)>>

**Returns**

`Promise`<[`Nullable`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#nullable)<[`LoadResponse`](/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md#loadresponse)>>


---

# Agent Instructions: 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:

```
GET https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.sdkconnector.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
