# Инициализация

При инициализации объекта O3d или формировании iframe-ссылки можно задать некоторые опции. В случае iframe опции передаются через параметры ссылки (при необходимости их нужно заэкранировать). В случае JavaScript API опции передаются при создании объекта `new O3d({})`.

Пример инициализации:

JS API

```javascript
var o3d = new O3d({
    app: 1,
    article: 'Б34'
});
```

IFrame

```markup
<iframe src="https://o3d.oasiscatalog.com/app/1?article=%D0%9134" frameborder="0" style="width: 100%; height: 400px;"></iframe>
```

## Опции инициализации

### `app` *{integer} \[required]*

ID приложения созданного в личном кабинете. При формировании ссылки для iframe передаётся непосредственно в пути: `https://o3d.oasiscatalog.com/app/1`

### `article` *{string}*

Артикул товара (основного товара или любого варианта) для отображения. Одна из трёх опций должна быть обязательно указана - `article`, `product` или `order`.

### `aspect` *{float = 16/9}*

В случае если не указана высота, используется данное значение для определение высоты автоматически на основе соотношения ширины к высоте.

### `hash` *{string}*

Хэш параметр (на просмотр или редактирование). Обязателен при передаче `order`.

### `noVariants` *{integer = 0}*

Скрыть блок выбора варианта товара.

### `order`  *{integer}*

ID товара в личном кабинете. Одна из трёх опций должна быть обязательно указана - `article`, `product` или `order`.

### `product` *{integer}*

ID товара в личном кабинете. Одна из трёх опций должна быть обязательно указана - `article`, `product` или `order`.

### `showPrice` *{integer = 0}*

Показывать блок цены. В качестве значений предусмотрены константы: `O3d.SHOW_PRICE_CLIENT = 1` - показывать только клиентскую цену `O3d.SHOW_PRICE_DEALER = 2` - показывать только дилерскую цену `O3d.SHOW_PRICE_BOTH = 3` - показывать обе цены

### `socials` *{integer = 0}*

Показывать кнопки выбора фотографий из социальных сетей.

## События

### `start` *{Object}*

Генерируется после полной загрузки приложения.

* `is3d` *{boolean}* - WebGL (`true`) режим или Canvas (`false`)
* `views` *{*[*View*](https://github.com/oasiscatalog/o3d/tree/8b289c36cd104380b99f413ffe27b71f4b912955/views.html#view)*{}}* - все ракурсы
* `activeView` - *{*[*View*](https://github.com/oasiscatalog/o3d/tree/8b289c36cd104380b99f413ffe27b71f4b912955/views.html#view)*|null}* - активный ракурс
* `variants` - *{*[*Variant*](https://github.com/oasiscatalog/o3d/tree/8b289c36cd104380b99f413ffe27b71f4b912955/variants.html#variant)*{}{}}* - все варианты товара
* `activeVariants` - *{*[*Variant*](https://github.com/oasiscatalog/o3d/tree/8b289c36cd104380b99f413ffe27b71f4b912955/variants.html#variant)*{}}* - активные варианты товара
* `linked`
* `areas` *{*[*Area*](https://github.com/oasiscatalog/o3d/tree/8b289c36cd104380b99f413ffe27b71f4b912955/areas.html#area)*{}}* - все места нанесения
* `activeArea` *{*[*Area*](https://github.com/oasiscatalog/o3d/tree/8b289c36cd104380b99f413ffe27b71f4b912955/areas.html#area)*}* - активное место нанесения
* `fieldsOrder` *{Object}* - поля не зависящие от места нанесения
* `fieldsArea` *{Object{areaId}}* - поля зависящие от места нанесения
