# ExposedApi.Internal.SdkConnector

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

## Class: SdkConnector

[exposed-api](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/modules/exposed_api).[\<internal>](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_).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`](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.sdkconnector)

**Parameters**

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

**Returns**

[`SdkConnector`](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.sdkconnector)

### Accessors

#### configuratorApi

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

**Returns**

`Promise`<[`RoomleConfiguratorType`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#roomleconfiguratortype)>

***

#### configuratorConnector

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

**Returns**

`Promise`<[`SdkConnectorConfigurator`](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.sdkconnectorconfigurator)>

***

#### hasPlanner

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

**Returns**

`boolean`

***

#### isE2E

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

**Returns**

`boolean`

***

#### plannerApi

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

**Returns**

`Promise`<[`RoomlePlannerWithExtObjs`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#roomleplannerwithextobjs)>

***

#### plannerConnector

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

**Returns**

`Promise`<[`SdkConnectorPlanner`](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.sdkconnectorplanner)>

***

#### viewerApi

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

**Returns**

`Promise`<`default`>

***

#### viewerConnector

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

**Returns**

`Promise`<[`SdkConnectorViewer`](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.sdkconnectorviewer)>

### Methods

#### addUiCallback

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

**Parameters**

| Name       | Type                                                                                                                                 |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `listener` | [`UiCallbacks`](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.uicallbacks) |

**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`](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/enums/exposed_api._internal_.sdk_modules)         |
| `mainMessageHandler` | [`MessageHandler`](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.messagehandler) |
| `eventEmitter`       | [`default`](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.default)               |

**Returns**

`Promise`<`void`>

***

#### getRapiAccess

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

**Returns**

`Promise`<`default`>

***

#### getStorage

▸ **getStorage**(): [`Nullable`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#nullable)<`default`>

**Returns**

[`Nullable`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#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`](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/enums/exposed_api._internal_.sdk_modules) |

**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`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#nullable)<[`LoadResponse`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#loadresponse)>>

**Parameters**

| Name          | Type                                                                                                                 |
| ------------- | -------------------------------------------------------------------------------------------------------------------- |
| `componentId` | `string`                                                                                                             |
| `initData?`   | [`UiInitData`](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/types.uiinitdata) |

**Returns**

`Promise`<[`Nullable`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#nullable)<[`LoadResponse`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#loadresponse)>>

***

#### loadConfigurableItem

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

**Parameters**

| Name                 | Type                                                                                                                 |
| -------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `configurableItemId` | `string`                                                                                                             |
| `initData?`          | [`UiInitData`](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/types.uiinitdata) |

**Returns**

`Promise`<[`Nullable`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#nullable)<[`LoadResponse`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#loadresponse)>>

***

#### loadConfiguration

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

**Parameters**

| Name              | Type                                                                                                                 |
| ----------------- | -------------------------------------------------------------------------------------------------------------------- |
| `configurationId` | `string`                                                                                                             |
| `initData?`       | [`UiInitData`](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/types.uiinitdata) |

**Returns**

`Promise`<[`Nullable`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#nullable)<[`LoadResponse`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#loadresponse)>>

***

#### loadConfigurationString

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

**Parameters**

| Name                  | Type                                                                                                                 |
| --------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `configurationString` | `string`                                                                                                             |
| `initData?`           | [`UiInitData`](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/types.uiinitdata) |

**Returns**

`Promise`<[`Nullable`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#nullable)<[`LoadResponse`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#loadresponse)>>

***

#### loadObject

▸ **loadObject**(`id`): `Promise`<[`Nullable`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#nullable)<[`LoadResponse`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#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`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#nullable)<[`LoadResponse`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#loadresponse)>>

***

#### loadPlan

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

**Parameters**

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

**Returns**

`Promise`<{ `objectRuntimeId`: [`Nullable`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#nullable)<`number`> ; `plan`: [`Nullable`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#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`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#nullable)<`string`> |

**Returns**

`Promise`<`null`>

***

#### preparePerspectiveImage

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

**Returns**

`Promise`<`Base64Image`>

***

#### removeUiCallback

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

**Parameters**

| Name       | Type                                                                                                                                 |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `listener` | [`UiCallbacks`](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.uicallbacks) |

**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`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#nullable)<[`LoadResponse`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#loadresponse)>>

**Returns**

`Promise`<[`Nullable`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#nullable)<[`LoadResponse`](https://docs.roomle.com/rubens/rubens-products/modules/exposed_api._internal_#loadresponse)>>
