---
metadata:
  - name: generator
    content: Diplodoc Platform v5.54.5
alternate:
  - https://divkit.tech/docs/en/concepts/divs/2/div-data.md
  - https://divkit.tech/docs/ru/concepts/divs/2/div-data.md
  - href: ru/concepts/divs/2/div-data.md
    type: text/markdown
    title: Markdown version
  - href: ../../../llms.txt
    type: text/markdown
    title: llms.txt
---
> **Documentation Index:** Fetch the complete configuration index at https://divkit.tech/docs/ru/llms.txt

# div-data
Корневая структура.

## Параметры
| Параметры | Описание |
| --- | --- |
| `log_id` | <p>**string**</p><p>Обязательный параметр.</p><p>Идентификатор для логирования.</p> |
| `states` | <p>**array**</p><p>Обязательный параметр.</p><p>Набор состояний визуальных элементов. Каждый элемент может иметь несколько состояний с разной версткой. Состояния отображаются строго по одному, а переключаются с помощью [action](div-action.md).</p><p>Массив должен быть непустым.</p> |
| `functions` | <p>**array**</p><p>Пользовательские функции.</p><p>Доступные платформы: Android, iOS, веб.</p> |
| `timers` | <p>**array**</p><p>Список таймеров.</p> |
| `transition_animation_selector` | <p>**string**</p><p>Параметр устарел.</p><p>События, при которых сработают анимации переходов. Вместо него используйте `transition_triggers`.</p><p>Возможные значения: `none`, `data_change`, `state_change`, `any_change`.</p><p>Значение по умолчанию: `none`.</p><p>Доступные платформы: Android, iOS.</p> |
| `variable_triggers` | <p>**array**</p><p>Триггеры изменения переменных.</p> |
| `variables` | <p>**array**</p><p>Объявление переменных, которые могут быть использованы в элементе.</p><p>Список возможных значений:<li>[string_variable](string_variable.md#string_variable)</li><li>[number_variable](number_variable.md#number_variable)</li><li>[integer_variable](integer_variable.md#integer_variable)</li><li>[boolean_variable](boolean_variable.md#boolean_variable)</li><li>[color_variable](color_variable.md#color_variable)</li><li>[url_variable](url_variable.md#url_variable)</li><li>[dict_variable](dict_variable.md#dict_variable)</li><li>[array_variable](array_variable.md#array_variable)</li><li>[property_variable](property_variable.md#property_variable)</li></p> |

### state
| Параметры | Описание |
| --- | --- |
| `div` | <p>**object**</p><p>Обязательный параметр.</p><p>Содержимое.</p><p>Значение имеет тип `div`.</p><p>Список возможных значений:<li>[div-image](div-image.md#div-image)</li><li>[div-gif-image](div-gif-image.md#div-gif-image)</li><li>[div-text](div-text.md#div-text)</li><li>[div-separator](div-separator.md#div-separator)</li><li>[div-container](div-container.md#div-container)</li><li>[div-grid](div-grid.md#div-grid)</li><li>[div-gallery](div-gallery.md#div-gallery)</li><li>[div-pager](div-pager.md#div-pager)</li><li>[div-tabs](div-tabs.md#div-tabs)</li><li>[div-state](div-state.md#div-state)</li><li>[div-custom](div-custom.md#div-custom)</li><li>[div-indicator](div-indicator.md#div-indicator)</li><li>[div-slider](div-slider.md#div-slider)</li><li>[div-switch](div-switch.md#div-switch)</li><li>[div-input](div-input.md#div-input)</li><li>[div-select](div-select.md#div-select)</li><li>[div-video](div-video.md#div-video)</li></p> |
| `state_id` | <p>**int**</p><p>Обязательный параметр.</p><p>Идентификатор состояния.</p> |

<details>
<summary>JSON</summary>

```json
{
  functions: [
    {
      arguments*: [
        {
          name*: "string",
          type*: "string"
        },
        ...
      ],
      body*: "string",
      name*: "string",
      return_type*: "string"
    },
    ...
  ],
  log_id*: "string",
  states*: [
    {
      div*: div,
      state_id*: "int"
    },
    ...
  ],
  timers: [
    {
      duration: "int",
      end_actions: [
        {
          download_callbacks: {
            on_fail_actions: [ div-action, ... ],
            on_success_actions: [ div-action, ... ]
          },
          is_enabled: "bool_int",
          log_id: "string",
          log_url: "string",
          menu_items: [
            {
              action: div-action,
              actions: [ div-action, ... ],
              text*: "string"
            },
            ...
          ],
          payload: "object",
          referer: "string",
          scope_id: "string",
          target: "string",
          typed: div-action-typed,
          url: "string"
        },
        ...
      ],
      id*: "string",
      tick_actions: [
        {
          download_callbacks: {
            on_fail_actions: [ div-action, ... ],
            on_success_actions: [ div-action, ... ]
          },
          is_enabled: "bool_int",
          log_id: "string",
          log_url: "string",
          menu_items: [
            {
              action: div-action,
              actions: [ div-action, ... ],
              text*: "string"
            },
            ...
          ],
          payload: "object",
          referer: "string",
          scope_id: "string",
          target: "string",
          typed: div-action-typed,
          url: "string"
        },
        ...
      ],
      tick_interval: "int",
      value_variable: "string"
    },
    ...
  ],
  transition_animation_selector: "string",
  variable_triggers: [
    {
      actions*: [
        {
          download_callbacks: {
            on_fail_actions: [ div-action, ... ],
            on_success_actions: [ div-action, ... ]
          },
          is_enabled: "bool_int",
          log_id: "string",
          log_url: "string",
          menu_items: [
            {
              action: div-action,
              actions: [ div-action, ... ],
              text*: "string"
            },
            ...
          ],
          payload: "object",
          referer: "string",
          scope_id: "string",
          target: "string",
          typed: div-action-typed,
          url: "string"
        },
        ...
      ],
      condition*: "bool_int",
      mode: "string"
    },
    ...
  ],
  variables: [ div-variable, ... ]
}
```
</details>
