---
metadata:
  - name: generator
    content: Diplodoc Platform v5.70.0
alternate:
  - https://divkit.tech/docs/en/concepts/patches.md
  - https://divkit.tech/docs/ru/concepts/patches.md
  - href: https://divkit.tech/docs/ru/concepts/patches.md
    type: text/markdown
    title: Markdown version
  - href: https://divkit.tech/docs/ru/llms.txt?revision=r22102947
    rel: describedby
---
> **Documentation Index:** Fetch the complete configuration index at https://divkit.tech/docs/ru/llms.txt?revision=r22102947

# Дозагрузка данных и патчи

Карточку можно обновить частично, не загружая ее заново. Действие `download` запрашивает с сервера патч — описание изменений — и применяет его к элементам карточки.

## Действие download {#loading-data}

Для дозагрузки данных в виде [patch](https://divkit.tech/docs/ru/concepts/divs/2/div-patch.md) и обновления текущего элемента укажите действие `download`:

```translate=no
div-action://download?url=<patch_url>
```

#|
||
**Параметр**
|
**Описание**
||

||
`url`
|
Ссылка для получения патча.
||
|#

В типизированном действии [download](https://divkit.tech/docs/ru/concepts/divs/2/div-action-download.md) можно сразу указать, что делать после загрузки:

```json
{
  "log_id": "load_more",
  "typed": {
    "type": "download",
    "url": "https://example.com/patch.json",
    "on_success_actions": [
      {
        "log_id": "loaded",
        "url": "div-action://set_variable?name=is_loaded&value=true"
      }
    ],
    "on_fail_actions": [
      {
        "log_id": "load_failed",
        "url": "div-action://set_variable?name=has_error&value=true"
      }
    ]
  }
}
```

#|
|| **Параметр** | **Описание** ||
|| `url` | Ссылка для получения патча. ||
|| `on_success_actions` | Действия при успешной загрузке. ||
|| `on_fail_actions` | Действия при неуспешной загрузке, если о ней сообщил хост или закончилось время ожидания. ||
|#

Для действия в формате `url` те же действия задаются в поле `download_callbacks`.

## Формат патча {#patch-format}

Формат ответа:

```json translate=no
{
  "patch": {
    // данные в формате patch
  },
  "templates": {
    // шаблоны, которые могут быть использованы в секции patch
  }
}
```

Секция `patch` описывается объектом [patch](https://divkit.tech/docs/ru/concepts/divs/2/div-patch.md):

#|
|| **Параметр** | **Описание** ||
|| `changes` | Изменения элементов. Обязательный параметр. Каждое изменение содержит `id` — идентификатор элемента для замены или удаления — и `items` — элементы для вставки. Если `items` не задан, элемент удаляется. ||
|| `mode` | Порядок применения изменений:<br>- `partial` — применяются все возможные изменения, об ошибках сообщается (значение по умолчанию);<br>- `transactional` — если при применении хотя бы одного изменения произошла ошибка, изменения не применяются. ||
|| `on_applied_actions` | Действия после применения изменений. ||
|| `on_failed_actions` | Действия после ошибки применения изменений в режиме `transactional`. ||
|#

{% cut "Пример: замена элемента" %}

```json
{
  "patch": {
    "changes": [
      {
        "id": "placeholder",
        "items": [
          {
            "type": "text",
            "text": "Загруженный текст"
          }
        ]
      }
    ]
  }
}
```

Элемент с идентификатором `placeholder` заменяется текстом из `items`.

{% endcut %}

## Загрузка патчей на платформах {#platforms}

- Android: патчи загружаются через `DivNetworkClient`, если он настроен, см. [Настройка сетевого стека](https://divkit.tech/docs/ru/quickstart/android.md). Собственный загрузчик — реализация `DivDownloader` — передается в `DivConfiguration` и имеет приоритет.
- iOS: патчи загружает `DivKitComponents`. Собственный загрузчик — реализация протокола `DivPatchProvider` — передается в параметре `patchProvider`.
- Web: параметры запроса задаются в параметре `fetchInit` функции `render`.

<!-- source: ru/_includes/index/troubleshooting.md -->
## Узнать больше {#troubleshooting}

Вы можете обсуждать интересующие вас темы в сообществе пользователей DivKit в Telegram: [https://t.me/divkit_community_ru](https://t.me/divkit_community_ru).



[Репозиторий DivKit](https://github.com/divkit/divkit)




<!-- endsource: ru/_includes/index/troubleshooting.md -->
